carin_for_blue_button_test_kit 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +201 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/capability_statement_group.rb +45 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/tests/conformance_support_test.rb +41 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/tests/fhir_version_test.rb +15 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/tests/instantiates_test.rb +32 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/tests/json_support_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/capability_statement/tests/profile_support_test.rb +32 -0
- data/lib/carin_for_blue_button_test_kit/carin_search_test.rb +227 -0
- data/lib/carin_for_blue_button_test_kit/date_search_validator.rb +109 -0
- data/lib/carin_for_blue_button_test_kit/fhir_resource_navigation.rb +73 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/c4bb_test_suite.rb +106 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/coverage_must_support_test.rb +53 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/coverage_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/coverage_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +72 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit/explanation_of_benefit_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_group.rb +110 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_must_support_test.rb +120 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_inpatient_institutional_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_must_support_test.rb +112 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_outpatient_institutional_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_must_support_test.rb +103 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_pharmacy_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_must_support_test.rb +97 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/explanation_of_benefit_professional_non_clinician_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/organization_must_support_test.rb +55 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/organization_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/organization_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/patient_must_support_test.rb +69 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/patient_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/patient_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/practitioner_must_support_test.rb +46 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/practitioner_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/practitioner_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/resource_list.rb +17 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/c4bb_test_suite.rb +110 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_coverage_payor_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_must_support_test.rb +53 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/coverage_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage_group.rb +87 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +73 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit/explanation_of_benefit_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_group.rb +118 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_must_support_test.rb +121 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional/explanation_of_benefit_inpatient_institutional_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_inpatient_institutional_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_must_support_test.rb +112 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral/explanation_of_benefit_oral_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_oral_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_must_support_test.rb +114 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional/explanation_of_benefit_outpatient_institutional_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_outpatient_institutional_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_must_support_test.rb +109 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy/explanation_of_benefit_pharmacy_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_pharmacy_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_billable_period_start_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_all_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_careteam_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_coverage_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_insurer_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_patient_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_payee_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_explanation_of_benefit_provider_search_test.rb +38 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_id_search_test.rb +59 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_identifier_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_lastupdated_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_must_support_test.rb +108 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_patient_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_service_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_service_start_date_search_test.rb +48 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_type_search_test.rb +49 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician/explanation_of_benefit_professional_non_clinician_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/explanation_of_benefit_professional_non_clinician_group.rb +58 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/organization_must_support_test.rb +55 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/organization_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/organization_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization_group.rb +81 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/patient_must_support_test.rb +68 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/patient_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/patient_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient_group.rb +81 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/practitioner_must_support_test.rb +46 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/practitioner_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/practitioner_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner_group.rb +81 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/related_person_must_support_test.rb +47 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/related_person_read_test.rb +39 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/related_person_validation_test.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person_group.rb +81 -0
- data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/resource_list.rb +19 -0
- data/lib/carin_for_blue_button_test_kit/generator/group_generator.rb +210 -0
- data/lib/carin_for_blue_button_test_kit/generator/group_metadata.rb +87 -0
- data/lib/carin_for_blue_button_test_kit/generator/group_metadata_extractor.rb +240 -0
- data/lib/carin_for_blue_button_test_kit/generator/ig_loader.rb +76 -0
- data/lib/carin_for_blue_button_test_kit/generator/ig_metadata.rb +50 -0
- data/lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb +40 -0
- data/lib/carin_for_blue_button_test_kit/generator/ig_resources.rb +50 -0
- data/lib/carin_for_blue_button_test_kit/generator/include_search_test_generator.rb +105 -0
- data/lib/carin_for_blue_button_test_kit/generator/must_support_metadata_extractor.rb +326 -0
- data/lib/carin_for_blue_button_test_kit/generator/must_support_test_generator.rb +131 -0
- data/lib/carin_for_blue_button_test_kit/generator/naming.rb +36 -0
- data/lib/carin_for_blue_button_test_kit/generator/read_test_generator.rb +109 -0
- data/lib/carin_for_blue_button_test_kit/generator/resource_list_generator.rb +43 -0
- data/lib/carin_for_blue_button_test_kit/generator/search_definition_metadata_extractor.rb +207 -0
- data/lib/carin_for_blue_button_test_kit/generator/search_metadata_extractor.rb +74 -0
- data/lib/carin_for_blue_button_test_kit/generator/search_test_generator.rb +299 -0
- data/lib/carin_for_blue_button_test_kit/generator/special_cases.rb +21 -0
- data/lib/carin_for_blue_button_test_kit/generator/suite_generator.rb +94 -0
- data/lib/carin_for_blue_button_test_kit/generator/terminology_binding_metadata_extractor.rb +109 -0
- data/lib/carin_for_blue_button_test_kit/generator/validation_test_generator.rb +137 -0
- data/lib/carin_for_blue_button_test_kit/generator/value_extractor.rb +50 -0
- data/lib/carin_for_blue_button_test_kit/generator.rb +90 -0
- data/lib/carin_for_blue_button_test_kit/must_support_test.rb +211 -0
- data/lib/carin_for_blue_button_test_kit/read_test.rb +51 -0
- data/lib/carin_for_blue_button_test_kit/search_test.rb +781 -0
- data/lib/carin_for_blue_button_test_kit/search_test_properties.rb +57 -0
- data/lib/carin_for_blue_button_test_kit/validation_test.rb +57 -0
- data/lib/carin_for_blue_button_test_kit/version.rb +5 -0
- data/lib/carin_for_blue_button_test_kit.rb +2 -0
- metadata +405 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CarinForBlueButtonTestKit
|
|
4
|
+
module DateSearchValidation
|
|
5
|
+
def get_fhir_datetime_range(datetime)
|
|
6
|
+
range = { start: DateTime.xmlschema(datetime), end: nil }
|
|
7
|
+
range[:end] =
|
|
8
|
+
if /^\d{4}$/.match?(datetime) # YYYY
|
|
9
|
+
range[:start].next_year - 1.seconds
|
|
10
|
+
elsif /^\d{4}-\d{2}$/.match?(datetime) # YYYY-MM
|
|
11
|
+
range[:start].next_month - 1.seconds
|
|
12
|
+
elsif /^\d{4}-\d{2}-\d{2}$/.match?(datetime) # YYYY-MM-DD
|
|
13
|
+
range[:start].next_day - 1.seconds
|
|
14
|
+
else # YYYY-MM-DDThh:mm:ss+zz:zz
|
|
15
|
+
range[:start]
|
|
16
|
+
end
|
|
17
|
+
range
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def get_fhir_period_range(period)
|
|
21
|
+
range = { start: nil, end: nil }
|
|
22
|
+
range[:start] = DateTime.xmlschema(period[:start]) unless period[:start].nil?
|
|
23
|
+
return range if period[:end].nil?
|
|
24
|
+
|
|
25
|
+
period_end_beginning = DateTime.xmlschema(period[:end])
|
|
26
|
+
range[:end] =
|
|
27
|
+
if /^\d{4}$/.match?(period[:end]) # YYYY
|
|
28
|
+
period_end_beginning.next_year - 1.seconds
|
|
29
|
+
elsif /^\d{4}-\d{2}$/.match?(period[:end]) # YYYY-MM
|
|
30
|
+
period_end_beginning.next_month - 1.seconds
|
|
31
|
+
elsif /^\d{4}-\d{2}-\d{2}$/.match?(period[:end]) # YYYY-MM-DD
|
|
32
|
+
period_end_beginning.next_day - 1.seconds
|
|
33
|
+
else # YYYY-MM-DDThh:mm:ss+zz:zz
|
|
34
|
+
period_end_beginning
|
|
35
|
+
end
|
|
36
|
+
range
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def fhir_date_comparer(search_range, target_range, comparator, extend_start = false, extend_end = false)
|
|
40
|
+
# Implicitly, a missing lower boundary is "less than" any actual date. A missing upper boundary is "greater than" any actual date.
|
|
41
|
+
case comparator
|
|
42
|
+
when 'eq' # the range of the search value fully contains the range of the target value
|
|
43
|
+
!target_range[:start].nil? && !target_range[:end].nil? && search_range[:start] <= target_range[:start] && search_range[:end] >= target_range[:end]
|
|
44
|
+
when 'ne' # the range of the search value does not fully contain the range of the target value
|
|
45
|
+
target_range[:start].nil? || target_range[:end].nil? || search_range[:start] > target_range[:start] || search_range[:end] < target_range[:end]
|
|
46
|
+
when 'gt' # the range above the search value intersects (i.e. overlaps) with the range of the target value
|
|
47
|
+
target_range[:end].nil? || search_range[:end] < target_range[:end] || (search_range[:end] < (target_range[:end] + 1) && extend_end)
|
|
48
|
+
when 'lt' # the range below the search value intersects (i.e. overlaps) with the range of the target value
|
|
49
|
+
target_range[:start].nil? || search_range[:start] > target_range[:start] || (search_range[:start] > (target_range[:start] - 1) && extend_start)
|
|
50
|
+
when 'ge'
|
|
51
|
+
fhir_date_comparer(search_range, target_range, 'gt', extend_start, extend_end) || fhir_date_comparer(search_range, target_range, 'eq')
|
|
52
|
+
when 'le'
|
|
53
|
+
fhir_date_comparer(search_range, target_range, 'lt', extend_start, extend_end) || fhir_date_comparer(search_range, target_range, 'eq')
|
|
54
|
+
when 'sa' # the range above the search value contains the range of the target value
|
|
55
|
+
!target_range[:start].nil? && search_range[:end] < target_range[:start]
|
|
56
|
+
when 'eb' # the range below the search value contains the range of the target value
|
|
57
|
+
!target_range[:end].nil? && search_range[:start] > target_range[:end]
|
|
58
|
+
when 'ap' # the range of the search value overlaps with the range of the target value
|
|
59
|
+
if target_range[:start].nil? || target_range[:end].nil?
|
|
60
|
+
(target_range[:start].nil? && search_range[:start] < target_range[:end]) ||
|
|
61
|
+
(target_range[:end].nil? && search_range[:end] > target_range[:start])
|
|
62
|
+
else
|
|
63
|
+
(search_range[:start] >= target_range[:start] && search_range[:start] <= target_range[:end]) ||
|
|
64
|
+
(search_range[:end] >= target_range[:start] && search_range[:end] <= target_range[:end])
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def validate_date_search(search_value, target_value)
|
|
70
|
+
if target_value.class == Hash
|
|
71
|
+
validate_period_search(search_value, target_value)
|
|
72
|
+
else
|
|
73
|
+
validate_datetime_search(search_value, target_value)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def validate_datetime_search(search_value, target_value)
|
|
78
|
+
comparator = search_value[0..1]
|
|
79
|
+
if ['eq', 'ge', 'gt', 'le', 'lt', 'ne', 'sa', 'eb', 'ap'].include? comparator
|
|
80
|
+
search_value = search_value[2..-1]
|
|
81
|
+
else
|
|
82
|
+
comparator = 'eq'
|
|
83
|
+
end
|
|
84
|
+
search_is_date = is_date?(search_value)
|
|
85
|
+
target_is_date = is_date?(target_value)
|
|
86
|
+
search_range = get_fhir_datetime_range(search_value)
|
|
87
|
+
target_range = get_fhir_datetime_range(target_value)
|
|
88
|
+
fhir_date_comparer(search_range, target_range, comparator, !search_is_date && target_is_date, !search_is_date && target_is_date)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def validate_period_search(search_value, target_value)
|
|
92
|
+
comparator = search_value[0..1]
|
|
93
|
+
if ['eq', 'ge', 'gt', 'le', 'lt', 'ne', 'sa', 'eb', 'ap'].include? comparator
|
|
94
|
+
search_value = search_value[2..-1]
|
|
95
|
+
else
|
|
96
|
+
comparator = 'eq'
|
|
97
|
+
end
|
|
98
|
+
search_is_date = is_date?(search_value)
|
|
99
|
+
search_range = get_fhir_datetime_range(search_value)
|
|
100
|
+
target_range = get_fhir_period_range(target_value)
|
|
101
|
+
fhir_date_comparer(search_range, target_range, comparator, !search_is_date && is_date?(target_value.start), !search_is_date && is_date?(target_value.end))
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def is_date?(value)
|
|
105
|
+
/^\d{4}(-\d{2})?(-\d{2})?$/.match?(value) # YYYY or YYYY-MM or YYYY-MM-DD
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module CarinForBlueButtonTestKit
|
|
4
|
+
module FHIRResourceNavigation
|
|
5
|
+
DAR_EXTENSION_URL = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason'.freeze
|
|
6
|
+
|
|
7
|
+
def resolve_path(elements, path)
|
|
8
|
+
elements = Array.wrap(elements)
|
|
9
|
+
return elements if path.blank?
|
|
10
|
+
|
|
11
|
+
paths = path.split('.')
|
|
12
|
+
segment = paths.first
|
|
13
|
+
remaining_path = paths.drop(1).join('.')
|
|
14
|
+
|
|
15
|
+
elements.flat_map do |element|
|
|
16
|
+
child = get_next_value(element, segment)
|
|
17
|
+
resolve_path(child, remaining_path)
|
|
18
|
+
end.compact
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def find_a_value_at(element, path, include_dar: false)
|
|
23
|
+
return nil if element.nil?
|
|
24
|
+
|
|
25
|
+
elements = Array.wrap(element)
|
|
26
|
+
|
|
27
|
+
if path.empty?
|
|
28
|
+
unless include_dar
|
|
29
|
+
elements = elements.reject do |el|
|
|
30
|
+
el.respond_to?(:extension) && el.extension.any? { |ext| ext.url == DAR_EXTENSION_URL}
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
return elements.find { |el| yield(el) } if block_given?
|
|
35
|
+
|
|
36
|
+
return elements.first
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
path_segments = path.split('.')
|
|
40
|
+
segment = path_segments.shift.delete_suffix('[x]').to_sym
|
|
41
|
+
|
|
42
|
+
no_elements_present =
|
|
43
|
+
elements.none? do |element|
|
|
44
|
+
child = get_next_value(element, segment)
|
|
45
|
+
child.present? || child == false
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
return nil if no_elements_present
|
|
49
|
+
|
|
50
|
+
remaining_path = path_segments.join('.')
|
|
51
|
+
elements.each do |element|
|
|
52
|
+
child = get_next_value(element, segment)
|
|
53
|
+
element_found =
|
|
54
|
+
if block_given?
|
|
55
|
+
find_a_value_at(child, remaining_path, include_dar: include_dar) { |value_found| yield(value_found) }
|
|
56
|
+
else
|
|
57
|
+
find_a_value_at(child, remaining_path, include_dar: include_dar)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
return element_found if element_found.present? || element_found == false
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
nil
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def get_next_value(element, property)
|
|
67
|
+
element[property.to_s.strip]
|
|
68
|
+
rescue NoMethodError
|
|
69
|
+
nil
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
require 'inferno/dsl/oauth_credentials'
|
|
2
|
+
require 'smart_app_launch_test_kit'
|
|
3
|
+
require_relative '../../version'
|
|
4
|
+
|
|
5
|
+
require_relative '../../capability_statement/capability_statement_group'
|
|
6
|
+
|
|
7
|
+
require_relative 'patient_group'
|
|
8
|
+
require_relative 'coverage_group'
|
|
9
|
+
require_relative 'explanation_of_benefit_group'
|
|
10
|
+
require_relative 'explanation_of_benefit_inpatient_institutional_group'
|
|
11
|
+
require_relative 'explanation_of_benefit_outpatient_institutional_group'
|
|
12
|
+
require_relative 'explanation_of_benefit_pharmacy_group'
|
|
13
|
+
require_relative 'explanation_of_benefit_professional_non_clinician_group'
|
|
14
|
+
require_relative 'organization_group'
|
|
15
|
+
require_relative 'practitioner_group'
|
|
16
|
+
|
|
17
|
+
module CarinForBlueButtonTestKit
|
|
18
|
+
module CARIN4BBV110
|
|
19
|
+
class C4BBTestKit < Inferno::TestSuite
|
|
20
|
+
title 'CARIN IG for Blue Button® v1.1.0'
|
|
21
|
+
version VERSION
|
|
22
|
+
links [
|
|
23
|
+
{
|
|
24
|
+
label: 'Open Source',
|
|
25
|
+
url: 'https://github.com/inferno-framework/carin-for-blue-button-test-kit'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: 'Implementation Guide',
|
|
29
|
+
url: 'http://hl7.org/fhir/us/carin-bb/STU1.1'
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
def self.metadata
|
|
34
|
+
@metadata ||= YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true)[:groups].map do |raw_metadata|
|
|
35
|
+
Generator::GroupMetadata.new(raw_metadata)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
validator do
|
|
40
|
+
url ENV.fetch('V110_VALIDATOR_URL', 'http://validator_service:4567')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
id :c4bb_v110
|
|
44
|
+
|
|
45
|
+
input :url,
|
|
46
|
+
title: 'FHIR Endpoint',
|
|
47
|
+
description: 'URL of the FHIR endpoint'
|
|
48
|
+
input :smart_credentials,
|
|
49
|
+
title: 'OAuth Credentials',
|
|
50
|
+
type: :oauth_credentials,
|
|
51
|
+
optional: true
|
|
52
|
+
|
|
53
|
+
# SMART Test Suite requirement
|
|
54
|
+
group from: :smart_discovery,
|
|
55
|
+
run_as_group: true
|
|
56
|
+
group from: :smart_standalone_launch,
|
|
57
|
+
run_as_group: true,
|
|
58
|
+
config: {
|
|
59
|
+
outputs: {
|
|
60
|
+
patient_id: { name: :patient_ids },
|
|
61
|
+
smart_credentials: { name: :smart_credentials }
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
description: %(
|
|
65
|
+
# Background
|
|
66
|
+
|
|
67
|
+
The [Standalone
|
|
68
|
+
Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
|
|
69
|
+
allows an app, like Inferno, to be launched independent of an
|
|
70
|
+
existing EHR session. It is one of the two launch methods described in
|
|
71
|
+
the SMART App Launch Framework alongside EHR Launch. The app will
|
|
72
|
+
request authorization for the provided scope from the authorization
|
|
73
|
+
endpoint, ultimately receiving an authorization token which can be used
|
|
74
|
+
to gain access to resources on the FHIR server.
|
|
75
|
+
|
|
76
|
+
# Test Methodology
|
|
77
|
+
|
|
78
|
+
Inferno will redirect the user to the authorization endpoint so that
|
|
79
|
+
they can provide any required credentials and authorize the application.
|
|
80
|
+
Upon successful authorization, Inferno will exchange the authorization
|
|
81
|
+
code provided for an access token.
|
|
82
|
+
|
|
83
|
+
For more information on the #{title}:
|
|
84
|
+
|
|
85
|
+
* [Standalone Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
fhir_client do
|
|
89
|
+
url :url
|
|
90
|
+
oauth_credentials :smart_credentials
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
group from: :capability_statement_group
|
|
94
|
+
|
|
95
|
+
group from: :c4bb_v110_patient
|
|
96
|
+
group from: :c4bb_v110_coverage
|
|
97
|
+
group from: :c4bb_v110_explanation_of_benefit
|
|
98
|
+
group from: :c4bb_v110_explanation_of_benefit_inpatient_institutional
|
|
99
|
+
group from: :c4bb_v110_explanation_of_benefit_outpatient_institutional
|
|
100
|
+
group from: :c4bb_v110_explanation_of_benefit_pharmacy
|
|
101
|
+
group from: :c4bb_v110_explanation_of_benefit_professional_non_clinician
|
|
102
|
+
group from: :c4bb_v110_organization
|
|
103
|
+
group from: :c4bb_v110_practitioner
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/coverage_must_support_test.rb
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
require_relative './coverage_read_test'
|
|
3
|
+
require_relative '../../../generator/group_metadata'
|
|
4
|
+
|
|
5
|
+
module CarinForBlueButtonTestKit
|
|
6
|
+
module CARIN4BBV110
|
|
7
|
+
class CoverageMustSupportTest < Inferno::Test
|
|
8
|
+
include CarinForBlueButtonTestKit::MustSupportTest
|
|
9
|
+
include CarinForBlueButtonTestKit::CARIN4BBV110
|
|
10
|
+
|
|
11
|
+
title 'All must support elements are provided in the Coverage resources returned'
|
|
12
|
+
description %(
|
|
13
|
+
CARIN for Blue Button Responders SHALL be capable of populating all data elements as
|
|
14
|
+
part of the query results as specified by the CARIN for Blue Button Capability
|
|
15
|
+
Statement. This test will look through the Coverage resources
|
|
16
|
+
found previously for the following must support elements:
|
|
17
|
+
|
|
18
|
+
* Coverage.beneficiary
|
|
19
|
+
* Coverage.class
|
|
20
|
+
* Coverage.class.name
|
|
21
|
+
* Coverage.class.value
|
|
22
|
+
* Coverage.class:group
|
|
23
|
+
* Coverage.class:plan
|
|
24
|
+
* Coverage.identifier
|
|
25
|
+
* Coverage.meta
|
|
26
|
+
* Coverage.meta.lastUpdated
|
|
27
|
+
* Coverage.payor
|
|
28
|
+
* Coverage.period
|
|
29
|
+
* Coverage.relationship
|
|
30
|
+
* Coverage.status
|
|
31
|
+
* Coverage.subscriberId
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
id :c4bb_v110_coverage_must_support_test
|
|
35
|
+
|
|
36
|
+
def resource_type
|
|
37
|
+
'Coverage'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def self.metadata
|
|
41
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def scratch_resources
|
|
45
|
+
scratch[:coverage_resources] ||= {}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
run do
|
|
49
|
+
perform_must_support_test(all_scratch_resources)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative '../../../read_test'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class CoverageReadTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::ReadTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns correct Coverage resource from Coverage read interaction'
|
|
10
|
+
description 'A server SHALL support the Coverage read interaction.'
|
|
11
|
+
|
|
12
|
+
id :c4bb_v110_coverage_read_test
|
|
13
|
+
|
|
14
|
+
input :coverage_ids,
|
|
15
|
+
title: "coverage IDs",
|
|
16
|
+
type: 'text',
|
|
17
|
+
description: "coverage Resource ID"
|
|
18
|
+
|
|
19
|
+
input_order :url, :smart_credentials, :coverage_ids
|
|
20
|
+
|
|
21
|
+
def resource_type
|
|
22
|
+
'Coverage'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def scratch_resources
|
|
26
|
+
scratch[:coverage_resources] ||= {}
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def coverage_id_list
|
|
30
|
+
return [nil] unless respond_to? :coverage_ids
|
|
31
|
+
coverage_ids.split(',').map(&:strip)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
run do
|
|
35
|
+
perform_read_test(coverage_id_list)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require_relative '../../../validation_test'
|
|
2
|
+
require_relative './coverage_read_test'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class CoverageValidationTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::ValidationTest
|
|
8
|
+
include CarinForBlueButtonTestKit::CARIN4BBV110
|
|
9
|
+
|
|
10
|
+
id :c4bb_v110_coverage_validation_test
|
|
11
|
+
title 'Coverage resources returned during previous tests conform to the C4BB Coverage'
|
|
12
|
+
description %(
|
|
13
|
+
This test verifies resources returned from the first search conform to
|
|
14
|
+
the [C4BB Coverage](http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage).
|
|
15
|
+
Systems must demonstrate at least one valid example in order to pass this test.
|
|
16
|
+
|
|
17
|
+
It verifies the presence of mandatory elements and that elements with
|
|
18
|
+
required bindings contain appropriate values. CodeableConcept element
|
|
19
|
+
bindings will fail if none of their codings have a code/system belonging
|
|
20
|
+
to the bound ValueSet. Quantity, Coding, and code element bindings will
|
|
21
|
+
fail if their code/system are not found in the valueset.
|
|
22
|
+
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
output :dar_code_found, :dar_extension_found
|
|
26
|
+
|
|
27
|
+
def resource_type
|
|
28
|
+
'Coverage'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def scratch_resources
|
|
32
|
+
scratch[:coverage_resources] ||= {}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
run do
|
|
36
|
+
perform_validation_test(scratch_resources[:all] || [],
|
|
37
|
+
'http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage',
|
|
38
|
+
'1.1.0',
|
|
39
|
+
skip_if_empty: true)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
require_relative 'coverage/coverage_read_test'
|
|
2
|
+
require_relative 'coverage/coverage_validation_test'
|
|
3
|
+
require_relative 'coverage/coverage_must_support_test'
|
|
4
|
+
|
|
5
|
+
module CarinForBlueButtonTestKit
|
|
6
|
+
module CARIN4BBV110
|
|
7
|
+
class CoverageGroup < Inferno::TestGroup
|
|
8
|
+
title 'Coverage Tests'
|
|
9
|
+
short_description 'Verify support for the server capabilities required by the C4BB Coverage.'
|
|
10
|
+
description %(
|
|
11
|
+
# Background
|
|
12
|
+
|
|
13
|
+
The CARIN for Blue Button Coverage sequence verifies that the system under test is
|
|
14
|
+
able to provide correct responses for Coverage queries. These queries
|
|
15
|
+
must contain resources conforming to the C4BB Coverage as
|
|
16
|
+
specified in the CARIN for Blue Button v1.1.0 Implementation Guide.
|
|
17
|
+
|
|
18
|
+
# Testing Methodology
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Must Support
|
|
22
|
+
Each profile contains elements marked as "must support". This test
|
|
23
|
+
sequence expects to see each of these elements at least once. If at
|
|
24
|
+
least one cannot be found, the test will fail. The test will look
|
|
25
|
+
through the Coverage resources found in the first test for these
|
|
26
|
+
elements.
|
|
27
|
+
|
|
28
|
+
## Profile Validation
|
|
29
|
+
Each resource returned from the first search is expected to conform to
|
|
30
|
+
the [C4BB Coverage](http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage). Each element is checked against
|
|
31
|
+
terminology binding and cardinality requirements.
|
|
32
|
+
|
|
33
|
+
Elements with a required binding are validated against their bound
|
|
34
|
+
ValueSet. If the code/system in the element is not part of the ValueSet,
|
|
35
|
+
then the test will fail.
|
|
36
|
+
|
|
37
|
+
## Reference Validation
|
|
38
|
+
At least one instance of each external reference in elements marked as
|
|
39
|
+
"must support" within the resources provided by the system must resolve.
|
|
40
|
+
The test will attempt to read each reference found and will fail if no
|
|
41
|
+
read succeeds.
|
|
42
|
+
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
id :c4bb_v110_coverage
|
|
46
|
+
run_as_group
|
|
47
|
+
|
|
48
|
+
def self.metadata
|
|
49
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'coverage', 'metadata.yml'), aliases: true))
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
test from: :c4bb_v110_coverage_read_test
|
|
53
|
+
test from: :c4bb_v110_coverage_validation_test
|
|
54
|
+
test from: :c4bb_v110_coverage_must_support_test
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require_relative '../../../carin_search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class ExplanationOfBenefitExplanationOfBenefit_AllSearchTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::CarinSearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for ExplanationOfBenefit search by id + _include=ExplanationOfBenefit:*'
|
|
10
|
+
description %(
|
|
11
|
+
Tests that the server responds correctly when using _include="ExplanationOfBenefit:*" as a search parameter
|
|
12
|
+
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def self.properties
|
|
16
|
+
@properties ||= SearchTestProperties.new(
|
|
17
|
+
resource_type: 'ExplanationOfBenefit',
|
|
18
|
+
search_param_names: ['_include']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
id :c4bb_v110_explanation_of_benefit_include_ExplanationOfBenefit_All_search_test
|
|
23
|
+
|
|
24
|
+
input :c4bb_v110_explanation_of_benefit__id_search_test_param,
|
|
25
|
+
title: 'ExplanationOfBenefit search parameter for _id',
|
|
26
|
+
type: 'text',
|
|
27
|
+
description: 'ExplanationOfBenefit search parameter: _id'
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
run do
|
|
34
|
+
run_search_test('ExplanationOfBenefit:*', include_search: true, resource_id: c4bb_v110_explanation_of_benefit__id_search_test_param)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require_relative '../../../carin_search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class ExplanationOfBenefitExplanationOfBenefit_careteamSearchTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::CarinSearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for ExplanationOfBenefit search by id + _include=ExplanationOfBenefit:care-team'
|
|
10
|
+
description %(
|
|
11
|
+
Tests that the server responds correctly when using _include="ExplanationOfBenefit:care-team" as a search parameter
|
|
12
|
+
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def self.properties
|
|
16
|
+
@properties ||= SearchTestProperties.new(
|
|
17
|
+
resource_type: 'ExplanationOfBenefit',
|
|
18
|
+
search_param_names: ['_include']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
id :c4bb_v110_explanation_of_benefit_include_ExplanationOfBenefit_careteam_search_test
|
|
23
|
+
|
|
24
|
+
input :c4bb_v110_explanation_of_benefit__id_search_test_param,
|
|
25
|
+
title: 'ExplanationOfBenefit search parameter for _id',
|
|
26
|
+
type: 'text',
|
|
27
|
+
description: 'ExplanationOfBenefit search parameter: _id'
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
run do
|
|
34
|
+
run_search_test('ExplanationOfBenefit:care-team', include_search: true, resource_id: c4bb_v110_explanation_of_benefit__id_search_test_param)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require_relative '../../../carin_search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class ExplanationOfBenefitExplanationOfBenefit_coverageSearchTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::CarinSearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for ExplanationOfBenefit search by id + _include=ExplanationOfBenefit:coverage'
|
|
10
|
+
description %(
|
|
11
|
+
Tests that the server responds correctly when using _include="ExplanationOfBenefit:coverage" as a search parameter
|
|
12
|
+
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def self.properties
|
|
16
|
+
@properties ||= SearchTestProperties.new(
|
|
17
|
+
resource_type: 'ExplanationOfBenefit',
|
|
18
|
+
search_param_names: ['_include']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
id :c4bb_v110_explanation_of_benefit_include_ExplanationOfBenefit_coverage_search_test
|
|
23
|
+
|
|
24
|
+
input :c4bb_v110_explanation_of_benefit__id_search_test_param,
|
|
25
|
+
title: 'ExplanationOfBenefit search parameter for _id',
|
|
26
|
+
type: 'text',
|
|
27
|
+
description: 'ExplanationOfBenefit search parameter: _id'
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
run do
|
|
34
|
+
run_search_test('ExplanationOfBenefit:coverage', include_search: true, resource_id: c4bb_v110_explanation_of_benefit__id_search_test_param)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require_relative '../../../carin_search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class ExplanationOfBenefitExplanationOfBenefit_insurerSearchTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::CarinSearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for ExplanationOfBenefit search by id + _include=ExplanationOfBenefit:insurer'
|
|
10
|
+
description %(
|
|
11
|
+
Tests that the server responds correctly when using _include="ExplanationOfBenefit:insurer" as a search parameter
|
|
12
|
+
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def self.properties
|
|
16
|
+
@properties ||= SearchTestProperties.new(
|
|
17
|
+
resource_type: 'ExplanationOfBenefit',
|
|
18
|
+
search_param_names: ['_include']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
id :c4bb_v110_explanation_of_benefit_include_ExplanationOfBenefit_insurer_search_test
|
|
23
|
+
|
|
24
|
+
input :c4bb_v110_explanation_of_benefit__id_search_test_param,
|
|
25
|
+
title: 'ExplanationOfBenefit search parameter for _id',
|
|
26
|
+
type: 'text',
|
|
27
|
+
description: 'ExplanationOfBenefit search parameter: _id'
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
run do
|
|
34
|
+
run_search_test('ExplanationOfBenefit:insurer', include_search: true, resource_id: c4bb_v110_explanation_of_benefit__id_search_test_param)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require_relative '../../../carin_search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module CarinForBlueButtonTestKit
|
|
5
|
+
module CARIN4BBV110
|
|
6
|
+
class ExplanationOfBenefitExplanationOfBenefit_patientSearchTest < Inferno::Test
|
|
7
|
+
include CarinForBlueButtonTestKit::CarinSearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for ExplanationOfBenefit search by id + _include=ExplanationOfBenefit:patient'
|
|
10
|
+
description %(
|
|
11
|
+
Tests that the server responds correctly when using _include="ExplanationOfBenefit:patient" as a search parameter
|
|
12
|
+
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def self.properties
|
|
16
|
+
@properties ||= SearchTestProperties.new(
|
|
17
|
+
resource_type: 'ExplanationOfBenefit',
|
|
18
|
+
search_param_names: ['_include']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
id :c4bb_v110_explanation_of_benefit_include_ExplanationOfBenefit_patient_search_test
|
|
23
|
+
|
|
24
|
+
input :c4bb_v110_explanation_of_benefit__id_search_test_param,
|
|
25
|
+
title: 'ExplanationOfBenefit search parameter for _id',
|
|
26
|
+
type: 'text',
|
|
27
|
+
description: 'ExplanationOfBenefit search parameter: _id'
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
run do
|
|
34
|
+
run_search_test('ExplanationOfBenefit:patient', include_search: true, resource_id: c4bb_v110_explanation_of_benefit__id_search_test_param)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|