Class: DaVinciDTRTestKit::DTRFullEHRV220UIDisplayAndInteractionAttestationTest

Inherits:
Inferno::Test
  • Object
show all
Includes:
QuestionnaireHelper, ShortCircuitInteractionVerification, URLs
Defined in:
lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb

Constant Summary collapse

LIST_ENTRY_PREFIX =
"\n          - ".freeze

Constants included from ShortCircuitInteractionVerification

ShortCircuitInteractionVerification::DEFAULT_SHORT_CIRCUIT_BAD_MESSAGE, ShortCircuitInteractionVerification::DEFAULT_SHORT_CIRCUIT_OK_MESSAGE, ShortCircuitInteractionVerification::SHORT_CIRCUIT_ADAPTIVE_MESSAGE

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 ShortCircuitInteractionVerification

#check_for_adaptive_short_circuit, #check_for_short_circuit, #clear_adaptive_short_circuit_flag, #clear_short_circuit_flag, #short_circuit_adaptive_validation_tests, #short_circuit_fail, #short_circuit_omit, #short_circuit_pass, #short_circuit_skip, #short_circuit_validation_tests

Methods included from URLs

#base_url, #ehr_authorize_url, #ehr_token_url, #fhir_base_url, #next_url, #payer_token_url, #questionnaire_package_url, #questionnaire_response_url, #registration_url, #resume_fail_url, #resume_pass_url, #suite_id, #supported_payer_url, #token_url, #udap_discovery_url

Instance Method Details

#requests_to_analyzeObject



70
71
72
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb', line 70

def requests_to_analyze
  @requests_to_analyze ||= load_tagged_requests(*target_tags)
end

#returned_questionnaires_for_displayObject



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb', line 74

def returned_questionnaires_for_display
  requests_to_analyze.each_with_object([]) do |request, questionnaires|
    request_parameters = FHIR.from_contents(request.response_body)
    next unless request_parameters.is_a?(FHIR::Parameters)

    questionnaires.concat(
      questionnaires_from_questionnaire_package_output_parameters(request_parameters)
        .map { |questionnaire| questionnaire_display(questionnaire) }
    )
  rescue JSON::ParserError
    next
  end.uniq
end

#target_tagsObject



63
64
65
66
67
68
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb', line 63

def target_tags
  tags = [QUESTIONNAIRE_PACKAGE_TAG]
  tags << config.options[:dtr_workflow_tag] if config.options[:dtr_workflow_tag].present?

  tags
end