Class: DaVinciDTRTestKit::MockPayer::FullEHRV220NextQuestionEndpoint
- Inherits:
-
Inferno::DSL::SuiteEndpoint
- Object
- Inferno::DSL::SuiteEndpoint
- DaVinciDTRTestKit::MockPayer::FullEHRV220NextQuestionEndpoint
- Includes:
- FhirpathUtils, DaVinciDTRTestKit::MockPayer, NextQuestionTemplateQuestionnaires, QuestionnaireHelper, ResponseSelectionUtils
- Defined in:
- lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb
Constant Summary
Constants included from ResponseSelectionUtils
ResponseSelectionUtils::INFERNO_CONTROL_EXTENSION_URLS
Instance Method Summary collapse
Methods included from QuestionnaireHelper
#adaptive_questionnaire?, #contained_questionnaire_from_questionnaire_response, #no_questionnaires_returned?, #questionnaire_canonical_url, #questionnaire_display, #questionnaire_from_next_question_output_parameters, #questionnaire_from_package_bundle, #questionnaire_package_bundles, #questionnaire_package_output_parameters_from_operation_responses, #questionnaire_response_from_next_question_request, #questionnaire_response_from_next_question_response, #questionnaires_from_operation_response_parameters, #questionnaires_from_operation_responses, #questionnaires_from_questionnaire_package_output_parameters
Methods included from NextQuestionTemplateQuestionnaires
#parse_template_questionnaire, #questionnaires_from_template_value
Methods included from ResponseSelectionUtils
#count_previous_successful_requests, #entity_has_inclusion_criteria?, #entity_has_request_range_criteria?, #include_entity?, #ranges_cover_value?, #request_meets_inclusion_criteria?, #request_meets_request_range_criteria?, #strip_inferno_extensions
Methods included from FhirpathUtils
#calculate_expression_string_value, #execute_fhirpath, #fhirpath_evaluator, #interpret_fhirpath_result_as_boolean, #replace_tokens_in_string
Methods included from DaVinciDTRTestKit::MockPayer
#build_outcome_param, #find_questionnaire_response, #operation_outcome, #outcome_issue, #parse_fhir_object
Instance Method Details
#make_response ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb', line 37 def make_response response.headers['Access-Control-Allow-Origin'] = '*' return if response.status == 401 # response set in update_result (expired token handling there) response.format = 'application/fhir+json' response.body = response_body.to_json response.status = if response_body.is_a?(FHIR::OperationOutcome) 400 else 200 end rescue StandardError => e Inferno::Application['logger'].error("Error responding to $next-question:\n#{e.full_message}") response.body = operation_outcome( 'fatal', 'processing', e. ).to_json response.status = 500 end |
#tags ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb', line 27 def = [CLIENT_NEXT_TAG] << test.config.[:dtr_workflow_tag] if test.config.[:dtr_workflow_tag].present? unless test.config.[:dtr_exclude_from_questionnaire_must_support] << CLIENT_QUESTIONNAIRE_MUST_SUPPORT end end |
#test_run_identifier ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb', line 19 def test_run_identifier return request.params[:session_path] if request.params[:session_path].present? UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id( request.headers['authorization']&.delete_prefix('Bearer ') ) end |
#update_result ⇒ Object
59 60 61 62 63 |
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb', line 59 def update_result return unless UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request) UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token') end |