ipa_test_kit 0.2.0 → 0.3.1
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 +4 -4
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/conformance_support_test.rb +43 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/fhir_version_test.rb +17 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/instantiates_ig_test.rb +22 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/json_support_test.rb +41 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/profile_support_test.rb +65 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement_group.rb +73 -0
- data/lib/ipa_test_kit/custom_groups/v1.0.0/ipa_smart_launch_group.rb +108 -0
- data/lib/ipa_test_kit/fhir_resource_navigation.rb +12 -3
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_must_support_test.rb +46 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_patient_search_test.rb +63 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/{allergy_intolerance → v1.0.0/allergy_intolerance}/metadata.yml +88 -58
- data/lib/ipa_test_kit/generated/{allergy_intolerance_group.rb → v1.0.0/allergy_intolerance_group.rb} +31 -24
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_must_support_test.rb +47 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_category_clinical_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_category_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_clinical_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_code_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_onset_date_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_search_test.rb +63 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/condition/metadata.yml +290 -0
- data/lib/ipa_test_kit/generated/{condition_group.rb → v1.0.0/condition_group.rb} +38 -29
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_id_search_test.rb +43 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_must_support_test.rb +56 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_category_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_category_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_contenttype_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_search_test.rb +64 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_status_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_date_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_period_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_reference_resolution_test.rb +44 -0
- data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/{document_reference → v1.0.0/document_reference}/metadata.yml +197 -188
- data/lib/ipa_test_kit/generated/{document_reference_group.rb → v1.0.0/document_reference_group.rb} +45 -34
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_must_support_test.rb +47 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_date_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_search_test.rb +63 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_status_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/immunization/metadata.yml +245 -0
- data/lib/ipa_test_kit/generated/{immunization_group.rb → v1.0.0/immunization_group.rb} +32 -25
- data/lib/ipa_test_kit/generated/v1.0.0/ipa_test_suite.rb +113 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_must_support_test.rb +43 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_validation_test.rb +39 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication/metadata.yml +52 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_group.rb +61 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_category_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_code_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_must_support_test.rb +52 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_authoredon_search_test.rb +54 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_search_test.rb +54 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_status_search_test.rb +54 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_search_test.rb +69 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_reference_resolution_test.rb +46 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_validation_test.rb +39 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_request/metadata.yml +370 -0
- data/lib/ipa_test_kit/generated/{medication_request_group.rb → v1.0.0/medication_request_group.rb} +39 -31
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_must_support_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_patient_search_test.rb +64 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_patient_status_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_reference_resolution_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/metadata.yml +222 -0
- data/lib/ipa_test_kit/generated/{medication_statement_group.rb → v1.0.0/medication_statement_group.rb} +31 -31
- data/lib/ipa_test_kit/generated/v1.0.0/metadata.yml +2845 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/metadata.yml +341 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_search_test.rb +65 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_code_date_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_code_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_provenance_revinclude_search_test.rb +52 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/{observation_group.rb → v1.0.0/observation_group.rb} +40 -29
- data/lib/ipa_test_kit/generated/v1.0.0/patient/metadata.yml +259 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_family_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_name_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_family_gender_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_family_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_gender_name_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_gender_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_given_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_id_search_test.rb +57 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_identifier_search_test.rb +44 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_name_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/{patient_group.rb → v1.0.0/patient_group.rb} +44 -34
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner/metadata.yml +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_must_support_test.rb +43 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_provenance_revinclude_search_test.rb +0 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_group.rb +61 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/metadata.yml +68 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_must_support_test.rb +43 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role_group.rb +63 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/metadata.yml +299 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_must_support_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_category_clinical_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_category_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_clinical_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_code_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_onset_date_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_search_test.rb +63 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item_group.rb +100 -0
- data/lib/ipa_test_kit/generated/{resource_list.rb → v1.0.0/resource_list.rb} +7 -6
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/metadata.yml +370 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_must_support_test.rb +57 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_search_test.rb +65 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_status_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_code_date_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_code_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_provenance_revinclude_search_test.rb +52 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_read_test.rb +26 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_reference_resolution_test.rb +42 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_validation_test.rb +40 -0
- data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns_group.rb +100 -0
- data/lib/ipa_test_kit/generator/group_generator.rb +56 -14
- data/lib/ipa_test_kit/generator/group_metadata.rb +5 -17
- data/lib/ipa_test_kit/generator/group_metadata_extractor.rb +45 -31
- data/lib/ipa_test_kit/generator/ig_loader.rb +15 -2
- data/lib/ipa_test_kit/generator/ig_metadata.rb +2 -2
- data/lib/ipa_test_kit/generator/ig_metadata_extractor.rb +18 -15
- data/lib/ipa_test_kit/generator/ig_resources.rb +3 -2
- data/lib/ipa_test_kit/generator/must_support_metadata_extractor.rb +245 -35
- data/lib/ipa_test_kit/generator/must_support_test_generator.rb +32 -11
- data/lib/ipa_test_kit/generator/naming.rb +31 -17
- data/lib/ipa_test_kit/generator/provenance_revinclude_search_test_generator.rb +14 -12
- data/lib/ipa_test_kit/generator/read_test_generator.rb +12 -7
- data/lib/ipa_test_kit/generator/reference_resolution_test_generator.rb +27 -7
- data/lib/ipa_test_kit/generator/resource_list_generator.rb +8 -12
- data/lib/ipa_test_kit/generator/search_definition_metadata_extractor.rb +36 -74
- data/lib/ipa_test_kit/generator/search_metadata_extractor.rb +4 -3
- data/lib/ipa_test_kit/generator/search_test_generator.rb +33 -38
- data/lib/ipa_test_kit/generator/special_cases.rb +8 -4
- data/lib/ipa_test_kit/generator/suite_generator.rb +41 -8
- data/lib/ipa_test_kit/generator/terminology_binding_metadata_extractor.rb +18 -3
- data/lib/ipa_test_kit/generator/validation_test_generator.rb +29 -17
- data/lib/ipa_test_kit/generator/value_extractor.rb +101 -0
- data/lib/ipa_test_kit/generator.rb +48 -14
- data/lib/ipa_test_kit/igs/ipa_v100/search-parameters.json +65408 -0
- data/lib/ipa_test_kit/igs/ipa_v100/vitalsigns.profile.json +3122 -0
- data/lib/ipa_test_kit/igs/ipa_v100.tgz +0 -0
- data/lib/ipa_test_kit/must_support_test.rb +50 -1
- data/lib/ipa_test_kit/provenance_validator.rb +38 -0
- data/lib/ipa_test_kit/read_test.rb +1 -1
- data/lib/ipa_test_kit/reference_resolution_test.rb +139 -70
- data/lib/ipa_test_kit/search_test.rb +253 -224
- data/lib/ipa_test_kit/search_test_properties.rb +3 -13
- data/lib/ipa_test_kit/validation_test.rb +13 -5
- data/lib/ipa_test_kit/version.rb +1 -1
- data/lib/ipa_test_kit.rb +3 -2
- metadata +173 -236
- data/lib/ipa_test_kit/custom_groups/capability_statement/conformance_support_test.rb +0 -41
- data/lib/ipa_test_kit/custom_groups/capability_statement/fhir_version_test.rb +0 -15
- data/lib/ipa_test_kit/custom_groups/capability_statement/json_support_test.rb +0 -39
- data/lib/ipa_test_kit/custom_groups/capability_statement/profile_support_test.rb +0 -76
- data/lib/ipa_test_kit/custom_groups/capability_statement_group.rb +0 -64
- data/lib/ipa_test_kit/ext/fhir_models.rb +0 -59
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_must_support_test.rb +0 -40
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_search_test.rb +0 -60
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_provenance_revinclude_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bmi/bmi_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/bmi/bmi_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/bmi/bmi_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/bmi/bmi_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/bmi/bmi_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bmi/metadata.yml +0 -322
- data/lib/ipa_test_kit/generated/bmi_group.rb +0 -93
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bodyheight/metadata.yml +0 -328
- data/lib/ipa_test_kit/generated/bodyheight_group.rb +0 -93
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bodytemp/metadata.yml +0 -328
- data/lib/ipa_test_kit/generated/bodytemp_group.rb +0 -93
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bodyweight/metadata.yml +0 -328
- data/lib/ipa_test_kit/generated/bodyweight_group.rb +0 -93
- data/lib/ipa_test_kit/generated/bp/bp_must_support_test.rb +0 -52
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/bp/bp_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/bp/bp_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/bp/bp_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/bp/bp_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/bp/bp_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/bp/bp_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/bp/metadata.yml +0 -379
- data/lib/ipa_test_kit/generated/bp_group.rb +0 -93
- data/lib/ipa_test_kit/generated/condition/condition_must_support_test.rb +0 -39
- data/lib/ipa_test_kit/generated/condition/condition_patient_category_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/condition/condition_patient_clinical_status_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/condition/condition_patient_code_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/condition/condition_patient_onset_date_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/condition/condition_patient_search_test.rb +0 -60
- data/lib/ipa_test_kit/generated/condition/condition_provenance_revinclude_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/condition/condition_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/condition/condition_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/condition/condition_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/condition/metadata.yml +0 -231
- data/lib/ipa_test_kit/generated/document_reference/document_reference_id_search_test.rb +0 -40
- data/lib/ipa_test_kit/generated/document_reference/document_reference_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_search_test.rb +0 -61
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_status_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_period_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/document_reference/document_reference_provenance_revinclude_search_test.rb +0 -50
- data/lib/ipa_test_kit/generated/document_reference/document_reference_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/document_reference/document_reference_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/document_reference/document_reference_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/head_circumference/metadata.yml +0 -324
- data/lib/ipa_test_kit/generated/head_circumference_group.rb +0 -93
- data/lib/ipa_test_kit/generated/heartrate/heartrate_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/heartrate/heartrate_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/heartrate/heartrate_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/heartrate/heartrate_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/heartrate/heartrate_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/heartrate/metadata.yml +0 -325
- data/lib/ipa_test_kit/generated/heartrate_group.rb +0 -93
- data/lib/ipa_test_kit/generated/immunization/immunization_must_support_test.rb +0 -40
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_date_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_search_test.rb +0 -60
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_status_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/immunization/immunization_provenance_revinclude_search_test.rb +0 -50
- data/lib/ipa_test_kit/generated/immunization/immunization_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/immunization/immunization_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/immunization/immunization_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/immunization/metadata.yml +0 -210
- data/lib/ipa_test_kit/generated/ipa_test_suite.rb +0 -88
- data/lib/ipa_test_kit/generated/medication_request/medication_request_must_support_test.rb +0 -44
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_authoredon_search_test.rb +0 -53
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_encounter_search_test.rb +0 -52
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_search_test.rb +0 -68
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_status_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/medication_request/medication_request_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/medication_request/medication_request_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/medication_request/medication_request_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/medication_request/medication_request_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/medication_request/medication_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/medication_request/metadata.yml +0 -307
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_must_support_test.rb +0 -43
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_context_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_effective_search_test.rb +0 -52
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_search_test.rb +0 -68
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_status_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/medication_statement/medication_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/medication_statement/metadata.yml +0 -230
- data/lib/ipa_test_kit/generated/metadata.yml +0 -6230
- data/lib/ipa_test_kit/generated/observation/metadata.yml +0 -1280
- data/lib/ipa_test_kit/generated/observation/observation_must_support_test.rb +0 -41
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/observation/observation_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/observation/observation_patient_code_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/observation/observation_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/observation/observation_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/observation/observation_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/observation/observation_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/oxygensat/metadata.yml +0 -366
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_must_support_test.rb +0 -65
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/oxygensat_group.rb +0 -93
- data/lib/ipa_test_kit/generated/patient/metadata.yml +0 -320
- data/lib/ipa_test_kit/generated/patient/patient_birthdate_family_search_test.rb +0 -41
- data/lib/ipa_test_kit/generated/patient/patient_birthdate_name_search_test.rb +0 -39
- data/lib/ipa_test_kit/generated/patient/patient_family_gender_search_test.rb +0 -41
- data/lib/ipa_test_kit/generated/patient/patient_gender_name_search_test.rb +0 -39
- data/lib/ipa_test_kit/generated/patient/patient_id_search_test.rb +0 -53
- data/lib/ipa_test_kit/generated/patient/patient_identifier_search_test.rb +0 -40
- data/lib/ipa_test_kit/generated/patient/patient_must_support_test.rb +0 -57
- data/lib/ipa_test_kit/generated/patient/patient_name_search_test.rb +0 -39
- data/lib/ipa_test_kit/generated/patient/patient_provenance_revinclude_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/patient/patient_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/patient/patient_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/patient/patient_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/practitioner/metadata.yml +0 -124
- data/lib/ipa_test_kit/generated/practitioner/practitioner_identifier_search_test.rb +0 -40
- data/lib/ipa_test_kit/generated/practitioner/practitioner_must_support_test.rb +0 -40
- data/lib/ipa_test_kit/generated/practitioner/practitioner_name_search_test.rb +0 -49
- data/lib/ipa_test_kit/generated/practitioner/practitioner_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/practitioner/practitioner_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/practitioner/practitioner_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/practitioner_group.rb +0 -84
- data/lib/ipa_test_kit/generated/practitioner_role/metadata.yml +0 -141
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_identifier_search_test.rb +0 -40
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_must_support_test.rb +0 -40
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_practitioner_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/practitioner_role_group.rb +0 -84
- data/lib/ipa_test_kit/generated/provenance/metadata.yml +0 -114
- data/lib/ipa_test_kit/generated/provenance/provenance_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/provenance/provenance_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/provenance/provenance_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/provenance_group.rb +0 -53
- data/lib/ipa_test_kit/generated/resprate/metadata.yml +0 -325
- data/lib/ipa_test_kit/generated/resprate/resprate_must_support_test.rb +0 -49
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_date_search_test.rb +0 -46
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_search_test.rb +0 -45
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_status_search_test.rb +0 -47
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_date_search_test.rb +0 -48
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_search_test.rb +0 -62
- data/lib/ipa_test_kit/generated/resprate/resprate_provenance_revinclude_search_test.rb +0 -51
- data/lib/ipa_test_kit/generated/resprate/resprate_read_test.rb +0 -24
- data/lib/ipa_test_kit/generated/resprate/resprate_reference_resolution_test.rb +0 -28
- data/lib/ipa_test_kit/generated/resprate/resprate_validation_test.rb +0 -34
- data/lib/ipa_test_kit/generated/resprate_group.rb +0 -93
- data/lib/ipa_test_kit/igs/package.tgz +0 -0
|
@@ -8,16 +8,17 @@ require_relative 'immunization/immunization_must_support_test'
|
|
|
8
8
|
require_relative 'immunization/immunization_reference_resolution_test'
|
|
9
9
|
|
|
10
10
|
module IpaTestKit
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
module IpaV100
|
|
12
|
+
class ImmunizationGroup < Inferno::TestGroup
|
|
13
|
+
title 'Immunization Tests'
|
|
14
|
+
short_description 'Verify support for the server capabilities required by the IPA-Immunization.'
|
|
15
|
+
description %(
|
|
16
|
+
# Background
|
|
16
17
|
|
|
17
18
|
The IPA Immunization sequence verifies that the system under test is
|
|
18
19
|
able to provide correct responses for Immunization queries. These queries
|
|
19
|
-
must contain resources conforming to the IPA
|
|
20
|
-
specified in the IPA
|
|
20
|
+
must contain resources conforming to the IPA-Immunization as
|
|
21
|
+
specified in the IPA v1.0.0 Implementation Guide.
|
|
21
22
|
|
|
22
23
|
# Testing Methodology
|
|
23
24
|
## Searching
|
|
@@ -54,7 +55,7 @@ elements.
|
|
|
54
55
|
|
|
55
56
|
## Profile Validation
|
|
56
57
|
Each resource returned from the first search is expected to conform to
|
|
57
|
-
the [IPA
|
|
58
|
+
the [IPA-Immunization](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization). Each element is checked against
|
|
58
59
|
teminology binding and cardinality requirements.
|
|
59
60
|
|
|
60
61
|
Elements with a required binding are validated against their bound
|
|
@@ -62,26 +63,32 @@ ValueSet. If the code/system in the element is not part of the ValueSet,
|
|
|
62
63
|
then the test will fail.
|
|
63
64
|
|
|
64
65
|
## Reference Validation
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
At least one instance of each external reference in elements marked as
|
|
67
|
+
"must support" within the resources provided by the system must resolve.
|
|
68
|
+
The test will attempt to read each reference found and will fail if no
|
|
69
|
+
read succeeds.
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
)
|
|
70
72
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
id :ipa_v100_immunization
|
|
74
|
+
run_as_group
|
|
75
|
+
input :standalone_smart_credentials,
|
|
76
|
+
title: 'SMART App Launch Credentials',
|
|
77
|
+
type: 'oauth_credentials',
|
|
78
|
+
optional: true
|
|
73
79
|
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
def self.metadata
|
|
81
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'immunization', 'metadata.yml'), aliases: true))
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
test from: :ipa_v100_immunization_patient_search_test
|
|
85
|
+
test from: :ipa_v100_immunization_patient_date_search_test
|
|
86
|
+
test from: :ipa_v100_immunization_patient_status_search_test
|
|
87
|
+
test from: :ipa_v100_immunization_read_test
|
|
88
|
+
test from: :ipa_v100_immunization_provenance_revinclude_search_test
|
|
89
|
+
test from: :ipa_v100_immunization_validation_test
|
|
90
|
+
test from: :ipa_v100_immunization_must_support_test
|
|
91
|
+
test from: :ipa_v100_immunization_reference_resolution_test
|
|
76
92
|
end
|
|
77
|
-
|
|
78
|
-
test from: :ipa_010_immunization_patient_search_test
|
|
79
|
-
test from: :ipa_010_immunization_patient_date_search_test
|
|
80
|
-
test from: :ipa_010_immunization_patient_status_search_test
|
|
81
|
-
test from: :ipa_010_immunization_read_test
|
|
82
|
-
test from: :ipa_010_immunization_provenance_revinclude_search_test
|
|
83
|
-
test from: :ipa_010_immunization_validation_test
|
|
84
|
-
test from: :ipa_010_immunization_must_support_test
|
|
85
|
-
test from: :ipa_010_immunization_reference_resolution_test
|
|
86
93
|
end
|
|
87
94
|
end
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
require 'inferno/dsl/oauth_credentials'
|
|
2
|
+
require 'smart_app_launch_test_kit'
|
|
3
|
+
|
|
4
|
+
require_relative '../../version'
|
|
5
|
+
require_relative '../../custom_groups/v1.0.0/capability_statement_group'
|
|
6
|
+
require_relative '../../custom_groups/v1.0.0/ipa_smart_launch_group'
|
|
7
|
+
require_relative '../../provenance_validator'
|
|
8
|
+
require_relative 'patient_group'
|
|
9
|
+
require_relative 'allergy_intolerance_group'
|
|
10
|
+
require_relative 'condition_group'
|
|
11
|
+
require_relative 'problem_list_item_group'
|
|
12
|
+
require_relative 'document_reference_group'
|
|
13
|
+
require_relative 'immunization_group'
|
|
14
|
+
require_relative 'medication_request_group'
|
|
15
|
+
require_relative 'medication_statement_group'
|
|
16
|
+
require_relative 'observation_group'
|
|
17
|
+
require_relative 'vitalsigns_group'
|
|
18
|
+
require_relative 'medication_group'
|
|
19
|
+
require_relative 'practitioner_group'
|
|
20
|
+
require_relative 'practitioner_role_group'
|
|
21
|
+
|
|
22
|
+
module IpaTestKit
|
|
23
|
+
module IpaV100
|
|
24
|
+
class IpaTestSuite < Inferno::TestSuite
|
|
25
|
+
title 'International Patient Access (v1.0.0)'
|
|
26
|
+
short_title 'IPA v1.0.0'
|
|
27
|
+
description %(
|
|
28
|
+
This test suite evaluates the ability of a system to support applications
|
|
29
|
+
acting on behalf of patients to access clinical records using a FHIR R4 API
|
|
30
|
+
in accordance to the [International Patient Access Implementation Guide (IPA IG)](https://www.hl7.org/fhir/uv/ipa/).
|
|
31
|
+
|
|
32
|
+
It accomplishes this by simulating requests performed by a realistic IPA Requestor
|
|
33
|
+
and validating responses based on requirements specified within the IPA IG and
|
|
34
|
+
the base FHIR specification.
|
|
35
|
+
|
|
36
|
+
Resources are validated with the FHIR Java validator using `tx.fhir.org`
|
|
37
|
+
as the terminology server.
|
|
38
|
+
|
|
39
|
+
The following are not yet implemented:
|
|
40
|
+
* Test for `client-confidential-asymmetric`.
|
|
41
|
+
* Verify that the server supports all required SMART capabilities, rather than
|
|
42
|
+
just verifying that the server advertises support for them.
|
|
43
|
+
* Test `$docref` operation.
|
|
44
|
+
* Test `Patient.link` requirements.
|
|
45
|
+
* Verify that the server requires both a code and system for Patient identifier
|
|
46
|
+
search.
|
|
47
|
+
)
|
|
48
|
+
version VERSION
|
|
49
|
+
|
|
50
|
+
VALIDATION_MESSAGE_FILTERS = [
|
|
51
|
+
%r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
|
|
52
|
+
%r{Sub-extension url 'revoke' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
|
|
53
|
+
/Observation\.effective\.ofType\(Period\): .*vs-1:/, # Invalid invariant in FHIR v4.0.1
|
|
54
|
+
].freeze
|
|
55
|
+
|
|
56
|
+
def self.metadata
|
|
57
|
+
@metadata ||= YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true)[:groups].map do |raw_metadata|
|
|
58
|
+
Generator::GroupMetadata.new(raw_metadata)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
validator do
|
|
63
|
+
url ENV.fetch('IPA_V100_VALIDATOR_URL', 'http://validator_service:4567')
|
|
64
|
+
exclude_message do |message|
|
|
65
|
+
VALIDATION_MESSAGE_FILTERS.any? { |filter| filter.match? message.message }
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
perform_additional_validation do |resource, profile_url|
|
|
69
|
+
ProvenanceValidator.validate(resource) if resource.instance_of?(FHIR::Provenance)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
id :ipa_v100
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
input :url,
|
|
77
|
+
title: 'FHIR Endpoint',
|
|
78
|
+
description: 'URL of the FHIR endpoint'
|
|
79
|
+
|
|
80
|
+
fhir_client do
|
|
81
|
+
url :url
|
|
82
|
+
oauth_credentials :standalone_smart_credentials
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
group from: :ipa_v100_smart_launch
|
|
86
|
+
|
|
87
|
+
group do
|
|
88
|
+
title 'IPA Responder Tests'
|
|
89
|
+
description %(
|
|
90
|
+
The IPA Responder Tests evaluate the ability of an IPA Responder (IPA FHIR Server)
|
|
91
|
+
to support required and optional FHIR operations and search parameters to return
|
|
92
|
+
conformant IPA resources.
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
group from: :ipa_v100_capability_statement
|
|
96
|
+
|
|
97
|
+
group from: :ipa_v100_patient
|
|
98
|
+
group from: :ipa_v100_allergy_intolerance
|
|
99
|
+
group from: :ipa_v100_condition
|
|
100
|
+
group from: :ipa_v100_problem_list_item
|
|
101
|
+
group from: :ipa_v100_document_reference
|
|
102
|
+
group from: :ipa_v100_immunization
|
|
103
|
+
group from: :ipa_v100_medication_request
|
|
104
|
+
group from: :ipa_v100_medication_statement
|
|
105
|
+
group from: :ipa_v100_observation
|
|
106
|
+
group from: :ipa_v100_vitalsigns
|
|
107
|
+
group from: :ipa_v100_medication
|
|
108
|
+
group from: :ipa_v100_practitioner
|
|
109
|
+
group from: :ipa_v100_practitioner_role
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
module IpaV100
|
|
5
|
+
class MedicationMustSupportTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::MustSupportTest
|
|
7
|
+
|
|
8
|
+
title 'All must support elements are provided in the Medication resources returned'
|
|
9
|
+
description %(
|
|
10
|
+
Responders conforming to a profile in IPA SHALL return a Must Support
|
|
11
|
+
element if that element is available. This test will look through the
|
|
12
|
+
Medication resources found previously for the following must
|
|
13
|
+
support elements:
|
|
14
|
+
|
|
15
|
+
* Medication.code
|
|
16
|
+
|
|
17
|
+
Note: Responders who cannot store or return a data element tagged as
|
|
18
|
+
Supported in IPA profiles can still claim conformance to the IPA
|
|
19
|
+
profiles per the IPA conformance resources.
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
id :ipa_v100_medication_must_support_test
|
|
23
|
+
|
|
24
|
+
optional
|
|
25
|
+
|
|
26
|
+
def resource_type
|
|
27
|
+
'Medication'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.metadata
|
|
31
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def scratch_resources
|
|
35
|
+
scratch[:medication_resources] ||= {}
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
run do
|
|
39
|
+
perform_must_support_test(all_scratch_resources)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require_relative '../../../read_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
module IpaV100
|
|
5
|
+
class MedicationReadTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::ReadTest
|
|
7
|
+
|
|
8
|
+
title 'Server returns correct Medication resource from Medication read interaction'
|
|
9
|
+
description 'A server SHALL support the Medication read interaction.'
|
|
10
|
+
|
|
11
|
+
id :ipa_v100_medication_read_test
|
|
12
|
+
|
|
13
|
+
def resource_type
|
|
14
|
+
'Medication'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def scratch_resources
|
|
18
|
+
scratch[:medication_resources] ||= {}
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
run do
|
|
22
|
+
perform_read_test(scratch.dig(:references, 'Medication'))
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative '../../../validation_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
module IpaV100
|
|
5
|
+
class MedicationValidationTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::ValidationTest
|
|
7
|
+
|
|
8
|
+
id :ipa_v100_medication_validation_test
|
|
9
|
+
title 'Medication resources returned during previous tests conform to the IPA-Medication'
|
|
10
|
+
description %(
|
|
11
|
+
This test verifies resources returned from previous tests conform to
|
|
12
|
+
the [IPA-Medication](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication).
|
|
13
|
+
|
|
14
|
+
It verifies the presence of mandatory elements and that elements with
|
|
15
|
+
required bindings contain appropriate values. CodeableConcept element
|
|
16
|
+
bindings will fail if none of their codings have a code/system belonging
|
|
17
|
+
to the bound ValueSet. Quantity, Coding, and code element bindings will
|
|
18
|
+
fail if their code/system are not found in the valueset.
|
|
19
|
+
|
|
20
|
+
)
|
|
21
|
+
output :dar_code_found, :dar_extension_found
|
|
22
|
+
|
|
23
|
+
def resource_type
|
|
24
|
+
'Medication'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def scratch_resources
|
|
28
|
+
scratch[:medication_resources] ||= {}
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
run do
|
|
32
|
+
perform_validation_test(scratch_resources[:all] || [],
|
|
33
|
+
'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication',
|
|
34
|
+
'1.0.0',
|
|
35
|
+
skip_if_empty: false)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
:name: ipa_medication
|
|
3
|
+
:class_name: Ipav100MedicationSequence
|
|
4
|
+
:version: v1.0.0
|
|
5
|
+
:reformatted_version: v100
|
|
6
|
+
:resource: Medication
|
|
7
|
+
:profile_url: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication
|
|
8
|
+
:profile_name: IPA-Medication
|
|
9
|
+
:profile_version: 1.0.0
|
|
10
|
+
:title: Medication
|
|
11
|
+
:short_description: Verify support for the server capabilities required by the IPA-Medication.
|
|
12
|
+
:interactions:
|
|
13
|
+
- :code: read
|
|
14
|
+
:expectation: SHALL
|
|
15
|
+
:operations: []
|
|
16
|
+
:searches: []
|
|
17
|
+
:search_definitions: {}
|
|
18
|
+
:include_params: []
|
|
19
|
+
:revincludes:
|
|
20
|
+
- Provenance:target
|
|
21
|
+
:required_concepts: []
|
|
22
|
+
:must_supports:
|
|
23
|
+
:extensions: []
|
|
24
|
+
:slices: []
|
|
25
|
+
:elements:
|
|
26
|
+
- :path: code
|
|
27
|
+
:mandatory_elements:
|
|
28
|
+
- Medication.code
|
|
29
|
+
- Medication.ingredient.item[x]
|
|
30
|
+
:bindings:
|
|
31
|
+
- :type: code
|
|
32
|
+
:strength: required
|
|
33
|
+
:system: http://hl7.org/fhir/ValueSet/medication-status
|
|
34
|
+
:path: status
|
|
35
|
+
:references:
|
|
36
|
+
- :path: Medication.manufacturer
|
|
37
|
+
:profiles:
|
|
38
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
39
|
+
- :path: Medication.ingredient.itemReference
|
|
40
|
+
:profiles:
|
|
41
|
+
- http://hl7.org/fhir/StructureDefinition/Substance
|
|
42
|
+
- http://hl7.org/fhir/StructureDefinition/Medication
|
|
43
|
+
:tests:
|
|
44
|
+
- :id: ipa_v100_medication_read_test
|
|
45
|
+
:file_name: medication_read_test.rb
|
|
46
|
+
- :id: ipa_v100_medication_validation_test
|
|
47
|
+
:file_name: medication_validation_test.rb
|
|
48
|
+
- :id: ipa_v100_medication_must_support_test
|
|
49
|
+
:file_name: medication_must_support_test.rb
|
|
50
|
+
:id: ipa_v100_medication
|
|
51
|
+
:file_name: medication_group.rb
|
|
52
|
+
:delayed_references: []
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require_relative 'medication/medication_read_test'
|
|
2
|
+
require_relative 'medication/medication_validation_test'
|
|
3
|
+
require_relative 'medication/medication_must_support_test'
|
|
4
|
+
|
|
5
|
+
module IpaTestKit
|
|
6
|
+
module IpaV100
|
|
7
|
+
class MedicationGroup < Inferno::TestGroup
|
|
8
|
+
title 'Medication Tests'
|
|
9
|
+
short_description 'Verify support for the server capabilities required by the IPA-Medication.'
|
|
10
|
+
description %(
|
|
11
|
+
# Background
|
|
12
|
+
|
|
13
|
+
The IPA Medication sequence verifies that the system under test is
|
|
14
|
+
able to provide correct responses for Medication queries. These queries
|
|
15
|
+
must contain resources conforming to the IPA-Medication as
|
|
16
|
+
specified in the IPA v1.0.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 Medication 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 [IPA-Medication](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication). Each element is checked against
|
|
31
|
+
teminology 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 :ipa_v100_medication
|
|
46
|
+
run_as_group
|
|
47
|
+
input :standalone_smart_credentials,
|
|
48
|
+
title: 'SMART App Launch Credentials',
|
|
49
|
+
type: 'oauth_credentials',
|
|
50
|
+
optional: true
|
|
51
|
+
|
|
52
|
+
def self.metadata
|
|
53
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'medication', 'metadata.yml'), aliases: true))
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
test from: :ipa_v100_medication_read_test, config: { options: { read_all_resources: true } }
|
|
57
|
+
test from: :ipa_v100_medication_validation_test
|
|
58
|
+
test from: :ipa_v100_medication_must_support_test
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_category_search_test.rb
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require_relative '../../../search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
module IpaV100
|
|
6
|
+
class MedicationRequestCategorySearchTest < Inferno::Test
|
|
7
|
+
include IpaTestKit::SearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for MedicationRequest search by category'
|
|
10
|
+
description %(
|
|
11
|
+
A server SHOULD support searching by
|
|
12
|
+
category on the MedicationRequest resource. This test
|
|
13
|
+
will pass if resources are returned and match the search criteria. If
|
|
14
|
+
none are returned, the test is skipped.
|
|
15
|
+
|
|
16
|
+
If any MedicationRequest resources use external references to
|
|
17
|
+
Medications, the search will be repeated with
|
|
18
|
+
`_include=MedicationRequest:medication`.
|
|
19
|
+
|
|
20
|
+
# TODO: Fix this
|
|
21
|
+
# [US Core Server CapabilityStatement](http://hl7.org/fhir/us/core//CapabilityStatement-us-core-server.html)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
id :ipa_v100_medication_request_category_search_test
|
|
27
|
+
optional
|
|
28
|
+
|
|
29
|
+
def self.properties
|
|
30
|
+
@properties ||= SearchTestProperties.new(
|
|
31
|
+
resource_type: 'MedicationRequest',
|
|
32
|
+
search_param_names: ['category'],
|
|
33
|
+
test_medication_inclusion: true,
|
|
34
|
+
token_search_params: ['category']
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.metadata
|
|
39
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def scratch_resources
|
|
43
|
+
scratch[:medication_request_resources] ||= {}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
run do
|
|
47
|
+
run_search_test
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_code_search_test.rb
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require_relative '../../../search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
module IpaV100
|
|
6
|
+
class MedicationRequestCodeSearchTest < Inferno::Test
|
|
7
|
+
include IpaTestKit::SearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for MedicationRequest search by code'
|
|
10
|
+
description %(
|
|
11
|
+
A server SHOULD support searching by
|
|
12
|
+
code on the MedicationRequest resource. This test
|
|
13
|
+
will pass if resources are returned and match the search criteria. If
|
|
14
|
+
none are returned, the test is skipped.
|
|
15
|
+
|
|
16
|
+
If any MedicationRequest resources use external references to
|
|
17
|
+
Medications, the search will be repeated with
|
|
18
|
+
`_include=MedicationRequest:medication`.
|
|
19
|
+
|
|
20
|
+
# TODO: Fix this
|
|
21
|
+
# [US Core Server CapabilityStatement](http://hl7.org/fhir/us/core//CapabilityStatement-us-core-server.html)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
id :ipa_v100_medication_request_code_search_test
|
|
27
|
+
optional
|
|
28
|
+
|
|
29
|
+
def self.properties
|
|
30
|
+
@properties ||= SearchTestProperties.new(
|
|
31
|
+
resource_type: 'MedicationRequest',
|
|
32
|
+
search_param_names: ['code'],
|
|
33
|
+
test_medication_inclusion: true
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def self.metadata
|
|
38
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def scratch_resources
|
|
42
|
+
scratch[:medication_request_resources] ||= {}
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
run do
|
|
46
|
+
run_search_test
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_must_support_test.rb
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
module IpaV100
|
|
5
|
+
class MedicationRequestMustSupportTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::MustSupportTest
|
|
7
|
+
|
|
8
|
+
title 'All must support elements are provided in the MedicationRequest resources returned'
|
|
9
|
+
description %(
|
|
10
|
+
Responders conforming to a profile in IPA SHALL return a Must Support
|
|
11
|
+
element if that element is available. This test will look through the
|
|
12
|
+
MedicationRequest resources found previously for the following must
|
|
13
|
+
support elements:
|
|
14
|
+
|
|
15
|
+
* MedicationRequest.authoredOn
|
|
16
|
+
* MedicationRequest.dosageInstruction
|
|
17
|
+
* MedicationRequest.dosageInstruction.text
|
|
18
|
+
* MedicationRequest.encounter
|
|
19
|
+
* MedicationRequest.intent
|
|
20
|
+
* MedicationRequest.medication[x]
|
|
21
|
+
* MedicationRequest.reported[x]
|
|
22
|
+
* MedicationRequest.requester
|
|
23
|
+
* MedicationRequest.status
|
|
24
|
+
* MedicationRequest.subject
|
|
25
|
+
|
|
26
|
+
Note: Responders who cannot store or return a data element tagged as
|
|
27
|
+
Supported in IPA profiles can still claim conformance to the IPA
|
|
28
|
+
profiles per the IPA conformance resources.
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
id :ipa_v100_medication_request_must_support_test
|
|
32
|
+
|
|
33
|
+
optional
|
|
34
|
+
|
|
35
|
+
def resource_type
|
|
36
|
+
'MedicationRequest'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.metadata
|
|
40
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def scratch_resources
|
|
44
|
+
scratch[:medication_request_resources] ||= {}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
perform_must_support_test(all_scratch_resources)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
require_relative '../../../search_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
module IpaV100
|
|
6
|
+
class MedicationRequestPatientIntentAuthoredonSearchTest < Inferno::Test
|
|
7
|
+
include IpaTestKit::SearchTest
|
|
8
|
+
|
|
9
|
+
title 'Server returns valid results for MedicationRequest search by patient + intent + authoredon'
|
|
10
|
+
description %(
|
|
11
|
+
A server SHOULD support searching by
|
|
12
|
+
patient + intent + authoredon on the MedicationRequest resource. This test
|
|
13
|
+
will pass if resources are returned and match the search criteria. If
|
|
14
|
+
none are returned, the test is skipped.
|
|
15
|
+
|
|
16
|
+
If any MedicationRequest resources use external references to
|
|
17
|
+
Medications, the search will be repeated with
|
|
18
|
+
`_include=MedicationRequest:medication`.
|
|
19
|
+
|
|
20
|
+
# TODO: Fix this
|
|
21
|
+
# [US Core Server CapabilityStatement](http://hl7.org/fhir/us/core//CapabilityStatement-us-core-server.html)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
id :ipa_v100_medication_request_patient_intent_authoredon_search_test
|
|
27
|
+
optional
|
|
28
|
+
|
|
29
|
+
input :patient_ids,
|
|
30
|
+
title: 'Patient IDs',
|
|
31
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
|
32
|
+
|
|
33
|
+
def self.properties
|
|
34
|
+
@properties ||= SearchTestProperties.new(
|
|
35
|
+
resource_type: 'MedicationRequest',
|
|
36
|
+
search_param_names: ['patient', 'intent', 'authoredon'],
|
|
37
|
+
test_medication_inclusion: true
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def self.metadata
|
|
42
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def scratch_resources
|
|
46
|
+
scratch[:medication_request_resources] ||= {}
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
run do
|
|
50
|
+
run_search_test
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|