ipa_test_kit 0.2.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/ipa_test_kit/custom_groups/capability_statement/conformance_support_test.rb +41 -0
- data/lib/ipa_test_kit/custom_groups/capability_statement/fhir_version_test.rb +15 -0
- data/lib/ipa_test_kit/custom_groups/capability_statement/json_support_test.rb +39 -0
- data/lib/ipa_test_kit/custom_groups/capability_statement/profile_support_test.rb +76 -0
- data/lib/ipa_test_kit/custom_groups/capability_statement_group.rb +64 -0
- data/lib/ipa_test_kit/date_search_validation.rb +101 -0
- data/lib/ipa_test_kit/ext/fhir_models.rb +59 -0
- data/lib/ipa_test_kit/fhir_resource_navigation.rb +63 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_must_support_test.rb +40 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_search_test.rb +60 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_provenance_revinclude_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance/metadata.yml +165 -0
- data/lib/ipa_test_kit/generated/allergy_intolerance_group.rb +85 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/bmi/bmi_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/bmi/metadata.yml +322 -0
- data/lib/ipa_test_kit/generated/bmi_group.rb +93 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/bodyheight/bodyheight_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/bodyheight/metadata.yml +328 -0
- data/lib/ipa_test_kit/generated/bodyheight_group.rb +93 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/bodytemp/bodytemp_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/bodytemp/metadata.yml +328 -0
- data/lib/ipa_test_kit/generated/bodytemp_group.rb +93 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/bodyweight/bodyweight_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/bodyweight/metadata.yml +328 -0
- data/lib/ipa_test_kit/generated/bodyweight_group.rb +93 -0
- data/lib/ipa_test_kit/generated/bp/bp_must_support_test.rb +52 -0
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/bp/bp_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/bp/bp_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/bp/bp_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/bp/bp_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/bp/bp_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/bp/bp_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/bp/bp_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/bp/metadata.yml +379 -0
- data/lib/ipa_test_kit/generated/bp_group.rb +93 -0
- data/lib/ipa_test_kit/generated/condition/condition_must_support_test.rb +39 -0
- data/lib/ipa_test_kit/generated/condition/condition_patient_category_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/condition/condition_patient_clinical_status_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/condition/condition_patient_code_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/condition/condition_patient_onset_date_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/condition/condition_patient_search_test.rb +60 -0
- data/lib/ipa_test_kit/generated/condition/condition_provenance_revinclude_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/condition/condition_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/condition/condition_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/condition/condition_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/condition/metadata.yml +231 -0
- data/lib/ipa_test_kit/generated/condition_group.rb +91 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_id_search_test.rb +40 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_search_test.rb +61 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_status_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_period_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_provenance_revinclude_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/document_reference/document_reference_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/document_reference/metadata.yml +356 -0
- data/lib/ipa_test_kit/generated/document_reference_group.rb +99 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/head_circumference/head_circumference_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/head_circumference/metadata.yml +324 -0
- data/lib/ipa_test_kit/generated/head_circumference_group.rb +93 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/heartrate/heartrate_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/heartrate/metadata.yml +325 -0
- data/lib/ipa_test_kit/generated/heartrate_group.rb +93 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_must_support_test.rb +40 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_date_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_search_test.rb +60 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_patient_status_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_provenance_revinclude_search_test.rb +50 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/immunization/immunization_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/immunization/metadata.yml +210 -0
- data/lib/ipa_test_kit/generated/immunization_group.rb +87 -0
- data/lib/ipa_test_kit/generated/ipa_test_suite.rb +88 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_must_support_test.rb +44 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_authoredon_search_test.rb +53 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_encounter_search_test.rb +52 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_search_test.rb +68 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_status_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_request_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/medication_request/medication_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/medication_request/metadata.yml +307 -0
- data/lib/ipa_test_kit/generated/medication_request_group.rb +92 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_must_support_test.rb +43 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_context_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_effective_search_test.rb +52 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_search_test.rb +68 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_status_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_statement_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/medication_statement/medication_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/medication_statement/metadata.yml +230 -0
- data/lib/ipa_test_kit/generated/medication_statement_group.rb +92 -0
- data/lib/ipa_test_kit/generated/metadata.yml +6230 -0
- data/lib/ipa_test_kit/generated/observation/metadata.yml +1280 -0
- data/lib/ipa_test_kit/generated/observation/observation_must_support_test.rb +41 -0
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/observation/observation_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/observation/observation_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/observation/observation_patient_code_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/observation/observation_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/observation/observation_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/observation/observation_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/observation/observation_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/observation_group.rb +93 -0
- data/lib/ipa_test_kit/generated/oxygensat/metadata.yml +366 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_must_support_test.rb +65 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/oxygensat/oxygensat_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/oxygensat_group.rb +93 -0
- data/lib/ipa_test_kit/generated/patient/metadata.yml +320 -0
- data/lib/ipa_test_kit/generated/patient/patient_birthdate_family_search_test.rb +41 -0
- data/lib/ipa_test_kit/generated/patient/patient_birthdate_name_search_test.rb +39 -0
- data/lib/ipa_test_kit/generated/patient/patient_family_gender_search_test.rb +41 -0
- data/lib/ipa_test_kit/generated/patient/patient_gender_name_search_test.rb +39 -0
- data/lib/ipa_test_kit/generated/patient/patient_id_search_test.rb +53 -0
- data/lib/ipa_test_kit/generated/patient/patient_identifier_search_test.rb +40 -0
- data/lib/ipa_test_kit/generated/patient/patient_must_support_test.rb +57 -0
- data/lib/ipa_test_kit/generated/patient/patient_name_search_test.rb +39 -0
- data/lib/ipa_test_kit/generated/patient/patient_provenance_revinclude_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/patient/patient_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/patient/patient_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/patient/patient_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/patient_group.rb +99 -0
- data/lib/ipa_test_kit/generated/practitioner/metadata.yml +124 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_identifier_search_test.rb +40 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_must_support_test.rb +40 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_name_search_test.rb +49 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/practitioner/practitioner_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/practitioner_group.rb +84 -0
- data/lib/ipa_test_kit/generated/practitioner_role/metadata.yml +141 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_identifier_search_test.rb +40 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_must_support_test.rb +40 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_practitioner_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/practitioner_role_group.rb +84 -0
- data/lib/ipa_test_kit/generated/provenance/metadata.yml +114 -0
- data/lib/ipa_test_kit/generated/provenance/provenance_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/provenance/provenance_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/provenance/provenance_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/provenance_group.rb +53 -0
- data/lib/ipa_test_kit/generated/resource_list.rb +18 -0
- data/lib/ipa_test_kit/generated/resprate/metadata.yml +325 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_must_support_test.rb +49 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_date_search_test.rb +46 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_search_test.rb +45 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_status_search_test.rb +47 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_date_search_test.rb +48 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_search_test.rb +62 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_provenance_revinclude_search_test.rb +51 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_read_test.rb +24 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_reference_resolution_test.rb +28 -0
- data/lib/ipa_test_kit/generated/resprate/resprate_validation_test.rb +34 -0
- data/lib/ipa_test_kit/generated/resprate_group.rb +93 -0
- data/lib/ipa_test_kit/generator/group_generator.rb +171 -0
- data/lib/ipa_test_kit/generator/group_metadata.rb +98 -0
- data/lib/ipa_test_kit/generator/group_metadata_extractor.rb +278 -0
- data/lib/ipa_test_kit/generator/ig_loader.rb +63 -0
- data/lib/ipa_test_kit/generator/ig_metadata.rb +49 -0
- data/lib/ipa_test_kit/generator/ig_metadata_extractor.rb +56 -0
- data/lib/ipa_test_kit/generator/ig_resources.rb +48 -0
- data/lib/ipa_test_kit/generator/must_support_metadata_extractor.rb +221 -0
- data/lib/ipa_test_kit/generator/must_support_test_generator.rb +86 -0
- data/lib/ipa_test_kit/generator/naming.rb +46 -0
- data/lib/ipa_test_kit/generator/provenance_revinclude_search_test_generator.rb +186 -0
- data/lib/ipa_test_kit/generator/read_test_generator.rb +89 -0
- data/lib/ipa_test_kit/generator/reference_resolution_test_generator.rb +72 -0
- data/lib/ipa_test_kit/generator/resource_list_generator.rb +46 -0
- data/lib/ipa_test_kit/generator/search_definition_metadata_extractor.rb +181 -0
- data/lib/ipa_test_kit/generator/search_metadata_extractor.rb +74 -0
- data/lib/ipa_test_kit/generator/search_test_generator.rb +295 -0
- data/lib/ipa_test_kit/generator/special_cases.rb +16 -0
- data/lib/ipa_test_kit/generator/suite_generator.rb +67 -0
- data/lib/ipa_test_kit/generator/terminology_binding_metadata_extractor.rb +105 -0
- data/lib/ipa_test_kit/generator/validation_test_generator.rb +124 -0
- data/lib/ipa_test_kit/generator.rb +86 -0
- data/lib/ipa_test_kit/igs/package.tgz +0 -0
- data/lib/ipa_test_kit/must_support_test.rb +146 -0
- data/lib/ipa_test_kit/read_test.rb +62 -0
- data/lib/ipa_test_kit/reference_resolution_test.rb +111 -0
- data/lib/ipa_test_kit/request_logger.rb +46 -0
- data/lib/ipa_test_kit/search_test.rb +728 -0
- data/lib/ipa_test_kit/search_test_properties.rb +61 -0
- data/lib/ipa_test_kit/validation_test.rb +48 -0
- data/lib/ipa_test_kit/version.rb +3 -0
- data/lib/ipa_test_kit.rb +2 -0
- metadata +397 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require_relative '../../search_test'
|
|
2
|
+
require_relative '../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
class OxygenSatProvenanceRevincludeSearchTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::SearchTest
|
|
7
|
+
|
|
8
|
+
title 'Server returns Provenance resources from Observation search by patient + code + revInclude:Provenance:target'
|
|
9
|
+
description %(
|
|
10
|
+
A server SHALL be capable of supporting _revIncludes:Provenance:target.
|
|
11
|
+
|
|
12
|
+
This test will perform a search by patient + code + revInclude:Provenance:target and
|
|
13
|
+
will pass if a Provenance resource is found in the response.
|
|
14
|
+
%)
|
|
15
|
+
|
|
16
|
+
id :ipa_010_oxygensat_provenance_revinclude_search_test
|
|
17
|
+
|
|
18
|
+
input :patient_ids,
|
|
19
|
+
title: 'Patient IDs',
|
|
20
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
|
21
|
+
|
|
22
|
+
def properties
|
|
23
|
+
@properties ||= SearchTestProperties.new(
|
|
24
|
+
fixed_value_search: true,
|
|
25
|
+
resource_type: 'Observation',
|
|
26
|
+
search_param_names: ['patient', 'code'],
|
|
27
|
+
possible_status_search: true
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.metadata
|
|
32
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.provenance_metadata
|
|
36
|
+
@provenance_metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '..', 'provenance', 'metadata.yml')))
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def scratch_resources
|
|
40
|
+
scratch[:oxygensat_resources] ||= {}
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def scratch_provenance_resources
|
|
44
|
+
scratch[:provenance_resources] ||= {}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
run_provenance_revinclude_search_test
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require_relative '../../read_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
class OxygenSatReadTest < Inferno::Test
|
|
5
|
+
include IpaTestKit::ReadTest
|
|
6
|
+
|
|
7
|
+
title 'Server returns correct Observation resource from Observation read interaction'
|
|
8
|
+
description 'A server SHALL support the Observation read interaction.'
|
|
9
|
+
|
|
10
|
+
id :ipa_010_oxygensat_read_test
|
|
11
|
+
|
|
12
|
+
def resource_type
|
|
13
|
+
'Observation'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def scratch_resources
|
|
17
|
+
scratch[:oxygensat_resources] ||= {}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
run do
|
|
21
|
+
perform_read_test(all_scratch_resources)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require_relative '../../reference_resolution_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
class OxygenSatReferenceResolutionTest < Inferno::Test
|
|
5
|
+
include IpaTestKit::ReferenceResolutionTest
|
|
6
|
+
|
|
7
|
+
title 'Every reference within Observation resources can be read'
|
|
8
|
+
description %(
|
|
9
|
+
This test will attempt to read the first 50 references found in the
|
|
10
|
+
resources from the first search. The test will fail if Inferno fails to
|
|
11
|
+
read any of those references.
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
id :ipa_010_oxygensat_reference_resolution_test
|
|
15
|
+
|
|
16
|
+
def resource_type
|
|
17
|
+
'Observation'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def scratch_resources
|
|
21
|
+
scratch[:oxygensat_resources] ||= {}
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
run do
|
|
25
|
+
perform_reference_resolution_test(scratch_resources[:all])
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require_relative '../../validation_test'
|
|
2
|
+
|
|
3
|
+
module IpaTestKit
|
|
4
|
+
class OxygenSatValidationTest < Inferno::Test
|
|
5
|
+
include IpaTestKit::ValidationTest
|
|
6
|
+
|
|
7
|
+
id :ipa_010_oxygensat_validation_test
|
|
8
|
+
title 'Observation resources returned during previous tests conform to the Observation Oxygen Saturation Profile'
|
|
9
|
+
description %(
|
|
10
|
+
This test verifies resources returned from the first search conform to
|
|
11
|
+
the [Observation Oxygen Saturation Profile](http://hl7.org/fhir/StructureDefinition/oxygensat).
|
|
12
|
+
|
|
13
|
+
It verifies the presence of mandatory elements and that elements with
|
|
14
|
+
required bindings contain appropriate values. CodeableConcept element
|
|
15
|
+
bindings will fail if none of their codings have a code/system belonging
|
|
16
|
+
to the bound ValueSet. Quantity, Coding, and code element bindings will
|
|
17
|
+
fail if their code/system are not found in the valueset.
|
|
18
|
+
|
|
19
|
+
)
|
|
20
|
+
output :dar_code_found, :dar_extension_found
|
|
21
|
+
|
|
22
|
+
def resource_type
|
|
23
|
+
'Observation'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def scratch_resources
|
|
27
|
+
scratch[:oxygensat_resources] ||= {}
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
run do
|
|
31
|
+
perform_validation_test(scratch_resources[:all] || [], 'http://hl7.org/fhir/StructureDefinition/oxygensat')
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
require_relative 'oxygensat/oxygensat_patient_code_search_test'
|
|
2
|
+
require_relative 'oxygensat/oxygensat_patient_category_date_search_test'
|
|
3
|
+
require_relative 'oxygensat/oxygensat_patient_category_status_search_test'
|
|
4
|
+
require_relative 'oxygensat/oxygensat_patient_code_date_search_test'
|
|
5
|
+
require_relative 'oxygensat/oxygensat_patient_category_search_test'
|
|
6
|
+
require_relative 'oxygensat/oxygensat_read_test'
|
|
7
|
+
require_relative 'oxygensat/oxygensat_provenance_revinclude_search_test'
|
|
8
|
+
require_relative 'oxygensat/oxygensat_validation_test'
|
|
9
|
+
require_relative 'oxygensat/oxygensat_must_support_test'
|
|
10
|
+
require_relative 'oxygensat/oxygensat_reference_resolution_test'
|
|
11
|
+
|
|
12
|
+
module IpaTestKit
|
|
13
|
+
class OxygenSatGroup < Inferno::TestGroup
|
|
14
|
+
title 'Observation Oxygen Saturation Tests'
|
|
15
|
+
short_description 'Verify support for the server capabilities required by the Observation Oxygen Saturation Profile.'
|
|
16
|
+
description %(
|
|
17
|
+
# Background
|
|
18
|
+
|
|
19
|
+
The Observation Oxygen Saturation sequence verifies that the system under test is
|
|
20
|
+
able to provide correct responses for Observation queries. These queries
|
|
21
|
+
must contain resources conforming to the Observation Oxygen Saturation Profile as
|
|
22
|
+
specified in the IPA v0.1.0 Implementation Guide.
|
|
23
|
+
|
|
24
|
+
# Testing Methodology
|
|
25
|
+
## Searching
|
|
26
|
+
This test sequence will first perform each required search associated
|
|
27
|
+
with this resource. This sequence will perform searches with the
|
|
28
|
+
following parameters:
|
|
29
|
+
|
|
30
|
+
* patient + code
|
|
31
|
+
* patient + category + date
|
|
32
|
+
* patient + category
|
|
33
|
+
|
|
34
|
+
### Search Parameters
|
|
35
|
+
The first search uses the selected patient(s) from the prior launch
|
|
36
|
+
sequence. Any subsequent searches will look for its parameter values
|
|
37
|
+
from the results of the first search. For example, the `identifier`
|
|
38
|
+
search in the patient sequence is performed by looking for an existing
|
|
39
|
+
`Patient.identifier` from any of the resources returned in the `_id`
|
|
40
|
+
search. If a value cannot be found this way, the search is skipped.
|
|
41
|
+
|
|
42
|
+
### Search Validation
|
|
43
|
+
Inferno will retrieve up to the first 20 bundle pages of the reply for
|
|
44
|
+
Observation resources and save them for subsequent tests. Each of
|
|
45
|
+
these resources is then checked to see if it matches the searched
|
|
46
|
+
parameters in accordance with [FHIR search
|
|
47
|
+
guidelines](https://www.hl7.org/fhir/search.html). The test will fail,
|
|
48
|
+
for example, if a Patient search for `gender=male` returns a `female`
|
|
49
|
+
patient.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Must Support
|
|
53
|
+
Each profile contains elements marked as "must support". This test
|
|
54
|
+
sequence expects to see each of these elements at least once. If at
|
|
55
|
+
least one cannot be found, the test will fail. The test will look
|
|
56
|
+
through the Observation resources found in the first test for these
|
|
57
|
+
elements.
|
|
58
|
+
|
|
59
|
+
## Profile Validation
|
|
60
|
+
Each resource returned from the first search is expected to conform to
|
|
61
|
+
the [Observation Oxygen Saturation Profile](http://hl7.org/fhir/StructureDefinition/oxygensat). Each element is checked against
|
|
62
|
+
teminology binding and cardinality requirements.
|
|
63
|
+
|
|
64
|
+
Elements with a required binding are validated against their bound
|
|
65
|
+
ValueSet. If the code/system in the element is not part of the ValueSet,
|
|
66
|
+
then the test will fail.
|
|
67
|
+
|
|
68
|
+
## Reference Validation
|
|
69
|
+
Each reference within the resources found from the previous tests must
|
|
70
|
+
resolve. The test will attempt to read each reference found and will
|
|
71
|
+
fail if any attempted read fails.
|
|
72
|
+
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
id :ipa_010_oxygensat
|
|
76
|
+
run_as_group
|
|
77
|
+
|
|
78
|
+
def self.metadata
|
|
79
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'oxygensat', 'metadata.yml')))
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
test from: :ipa_010_oxygensat_patient_code_search_test
|
|
83
|
+
test from: :ipa_010_oxygensat_patient_category_date_search_test
|
|
84
|
+
test from: :ipa_010_oxygensat_patient_category_status_search_test
|
|
85
|
+
test from: :ipa_010_oxygensat_patient_code_date_search_test
|
|
86
|
+
test from: :ipa_010_oxygensat_patient_category_search_test
|
|
87
|
+
test from: :ipa_010_oxygensat_read_test
|
|
88
|
+
test from: :ipa_010_oxygensat_provenance_revinclude_search_test
|
|
89
|
+
test from: :ipa_010_oxygensat_validation_test
|
|
90
|
+
test from: :ipa_010_oxygensat_must_support_test
|
|
91
|
+
test from: :ipa_010_oxygensat_reference_resolution_test
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
---
|
|
2
|
+
:name: ipa_patient
|
|
3
|
+
:class_name: Ipav010PatientSequence
|
|
4
|
+
:version: v0.1.0
|
|
5
|
+
:reformatted_version: v010
|
|
6
|
+
:resource: Patient
|
|
7
|
+
:profile_url: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient
|
|
8
|
+
:profile_name: IPA Patient Profile
|
|
9
|
+
:title: Patient
|
|
10
|
+
:short_description: Verify support for the server capabilities required by the IPA
|
|
11
|
+
Patient Profile.
|
|
12
|
+
:interactions:
|
|
13
|
+
- :code: create
|
|
14
|
+
:expectation: MAY
|
|
15
|
+
- :code: search-type
|
|
16
|
+
:expectation: SHALL
|
|
17
|
+
- :code: read
|
|
18
|
+
:expectation: SHALL
|
|
19
|
+
- :code: vread
|
|
20
|
+
:expectation: SHOULD
|
|
21
|
+
- :code: update
|
|
22
|
+
:expectation: MAY
|
|
23
|
+
- :code: patch
|
|
24
|
+
:expectation: MAY
|
|
25
|
+
- :code: delete
|
|
26
|
+
:expectation: MAY
|
|
27
|
+
- :code: history-instance
|
|
28
|
+
:expectation: SHOULD
|
|
29
|
+
- :code: history-type
|
|
30
|
+
:expectation: MAY
|
|
31
|
+
:operations: []
|
|
32
|
+
:searches:
|
|
33
|
+
- :names:
|
|
34
|
+
- _id
|
|
35
|
+
:expectation: SHALL
|
|
36
|
+
:names_not_must_support_or_mandatory: []
|
|
37
|
+
:must_support_or_mandatory: true
|
|
38
|
+
- :names:
|
|
39
|
+
- identifier
|
|
40
|
+
:expectation: SHALL
|
|
41
|
+
:names_not_must_support_or_mandatory: []
|
|
42
|
+
:must_support_or_mandatory: true
|
|
43
|
+
- :names:
|
|
44
|
+
- name
|
|
45
|
+
:expectation: SHALL
|
|
46
|
+
:names_not_must_support_or_mandatory: []
|
|
47
|
+
:must_support_or_mandatory: true
|
|
48
|
+
- :expectation: SHOULD
|
|
49
|
+
:names:
|
|
50
|
+
- birthdate
|
|
51
|
+
- family
|
|
52
|
+
:names_not_must_support_or_mandatory: []
|
|
53
|
+
:must_support_or_mandatory: true
|
|
54
|
+
- :expectation: SHOULD
|
|
55
|
+
:names:
|
|
56
|
+
- family
|
|
57
|
+
- gender
|
|
58
|
+
:names_not_must_support_or_mandatory: []
|
|
59
|
+
:must_support_or_mandatory: true
|
|
60
|
+
- :expectation: SHALL
|
|
61
|
+
:names:
|
|
62
|
+
- birthdate
|
|
63
|
+
- name
|
|
64
|
+
:names_not_must_support_or_mandatory: []
|
|
65
|
+
:must_support_or_mandatory: true
|
|
66
|
+
- :expectation: SHALL
|
|
67
|
+
:names:
|
|
68
|
+
- gender
|
|
69
|
+
- name
|
|
70
|
+
:names_not_must_support_or_mandatory: []
|
|
71
|
+
:must_support_or_mandatory: true
|
|
72
|
+
:search_definitions:
|
|
73
|
+
:_id:
|
|
74
|
+
:path: id
|
|
75
|
+
:full_path: Patient.id
|
|
76
|
+
:comparators: {}
|
|
77
|
+
:values: []
|
|
78
|
+
:type: http://hl7.org/fhirpath/System.String
|
|
79
|
+
:contains_multiple: false
|
|
80
|
+
:multiple_or: MAY
|
|
81
|
+
:identifier:
|
|
82
|
+
:path: identifier
|
|
83
|
+
:full_path: Patient.identifier
|
|
84
|
+
:comparators: {}
|
|
85
|
+
:values: []
|
|
86
|
+
:type: Identifier
|
|
87
|
+
:contains_multiple: true
|
|
88
|
+
:multiple_or: MAY
|
|
89
|
+
:name:
|
|
90
|
+
:path: name
|
|
91
|
+
:full_path: Patient.name
|
|
92
|
+
:comparators: {}
|
|
93
|
+
:values: []
|
|
94
|
+
:type: HumanName
|
|
95
|
+
:contains_multiple: true
|
|
96
|
+
:multiple_or: MAY
|
|
97
|
+
:birthdate:
|
|
98
|
+
:path: birthDate
|
|
99
|
+
:full_path: Patient.birthDate
|
|
100
|
+
:comparators:
|
|
101
|
+
:eq: MAY
|
|
102
|
+
:ne: MAY
|
|
103
|
+
:gt: MAY
|
|
104
|
+
:ge: MAY
|
|
105
|
+
:lt: MAY
|
|
106
|
+
:le: MAY
|
|
107
|
+
:sa: MAY
|
|
108
|
+
:eb: MAY
|
|
109
|
+
:ap: MAY
|
|
110
|
+
:values: []
|
|
111
|
+
:type: date
|
|
112
|
+
:contains_multiple: false
|
|
113
|
+
:multiple_or: MAY
|
|
114
|
+
:family:
|
|
115
|
+
:path: name.family
|
|
116
|
+
:full_path: Patient.name.family
|
|
117
|
+
:comparators: {}
|
|
118
|
+
:values: []
|
|
119
|
+
:type: string
|
|
120
|
+
:contains_multiple: false
|
|
121
|
+
:multiple_or: MAY
|
|
122
|
+
:gender:
|
|
123
|
+
:path: gender
|
|
124
|
+
:full_path: Patient.gender
|
|
125
|
+
:comparators: {}
|
|
126
|
+
:values:
|
|
127
|
+
- male
|
|
128
|
+
- female
|
|
129
|
+
- other
|
|
130
|
+
- unknown
|
|
131
|
+
:type: code
|
|
132
|
+
:contains_multiple: false
|
|
133
|
+
:multiple_or: MAY
|
|
134
|
+
:include_params: []
|
|
135
|
+
:revincludes:
|
|
136
|
+
- Provenance:target
|
|
137
|
+
:required_concepts: []
|
|
138
|
+
:must_supports:
|
|
139
|
+
:extensions:
|
|
140
|
+
- :id: Patient.extension:race
|
|
141
|
+
:url: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-race
|
|
142
|
+
- :id: Patient.extension:ethnicity
|
|
143
|
+
:url: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-ethnicity
|
|
144
|
+
- :id: Patient.extension:birthsex
|
|
145
|
+
:url: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-birthsex
|
|
146
|
+
:slices: []
|
|
147
|
+
:elements:
|
|
148
|
+
- :path: identifier
|
|
149
|
+
- :path: identifier.system
|
|
150
|
+
- :path: identifier.value
|
|
151
|
+
- :path: name
|
|
152
|
+
- :path: name.family
|
|
153
|
+
- :path: name.given
|
|
154
|
+
- :path: telecom
|
|
155
|
+
- :path: telecom.system
|
|
156
|
+
- :path: telecom.value
|
|
157
|
+
- :path: telecom.use
|
|
158
|
+
- :path: gender
|
|
159
|
+
- :path: birthDate
|
|
160
|
+
- :path: address
|
|
161
|
+
- :path: address.line
|
|
162
|
+
- :path: address.city
|
|
163
|
+
- :path: address.state
|
|
164
|
+
- :path: address.postalCode
|
|
165
|
+
- :path: address.period
|
|
166
|
+
- :path: communication
|
|
167
|
+
- :path: communication.language
|
|
168
|
+
:mandatory_elements:
|
|
169
|
+
- Patient.identifier
|
|
170
|
+
- Patient.identifier.system
|
|
171
|
+
- Patient.identifier.value
|
|
172
|
+
- Patient.name
|
|
173
|
+
- Patient.telecom.system
|
|
174
|
+
- Patient.telecom.value
|
|
175
|
+
- Patient.gender
|
|
176
|
+
- Patient.communication.language
|
|
177
|
+
- Patient.link.other
|
|
178
|
+
- Patient.link.type
|
|
179
|
+
:bindings:
|
|
180
|
+
- :type: code
|
|
181
|
+
:strength: preferred
|
|
182
|
+
:system: http://hl7.org/fhir/ValueSet/languages
|
|
183
|
+
:path: language
|
|
184
|
+
- :type: code
|
|
185
|
+
:strength: required
|
|
186
|
+
:system: http://hl7.org/fhir/ValueSet/identifier-use
|
|
187
|
+
:path: identifier.use
|
|
188
|
+
- :type: CodeableConcept
|
|
189
|
+
:strength: extensible
|
|
190
|
+
:system: http://hl7.org/fhir/ValueSet/identifier-type
|
|
191
|
+
:path: identifier.type
|
|
192
|
+
- :type: code
|
|
193
|
+
:strength: required
|
|
194
|
+
:system: http://hl7.org/fhir/ValueSet/name-use
|
|
195
|
+
:path: name.use
|
|
196
|
+
- :type: code
|
|
197
|
+
:strength: required
|
|
198
|
+
:system: http://hl7.org/fhir/ValueSet/contact-point-system
|
|
199
|
+
:path: telecom.system
|
|
200
|
+
- :type: code
|
|
201
|
+
:strength: required
|
|
202
|
+
:system: http://hl7.org/fhir/ValueSet/contact-point-use
|
|
203
|
+
:path: telecom.use
|
|
204
|
+
- :type: code
|
|
205
|
+
:strength: required
|
|
206
|
+
:system: http://hl7.org/fhir/ValueSet/administrative-gender
|
|
207
|
+
:path: gender
|
|
208
|
+
- :type: code
|
|
209
|
+
:strength: required
|
|
210
|
+
:system: http://hl7.org/fhir/ValueSet/address-use
|
|
211
|
+
:path: address.use
|
|
212
|
+
- :type: code
|
|
213
|
+
:strength: required
|
|
214
|
+
:system: http://hl7.org/fhir/ValueSet/address-type
|
|
215
|
+
:path: address.type
|
|
216
|
+
- :type: string
|
|
217
|
+
:strength: extensible
|
|
218
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/ipa-usps-state
|
|
219
|
+
:path: address.state
|
|
220
|
+
- :type: CodeableConcept
|
|
221
|
+
:strength: extensible
|
|
222
|
+
:system: http://hl7.org/fhir/ValueSet/marital-status
|
|
223
|
+
:path: maritalStatus
|
|
224
|
+
- :type: CodeableConcept
|
|
225
|
+
:strength: extensible
|
|
226
|
+
:system: http://hl7.org/fhir/ValueSet/patient-contactrelationship
|
|
227
|
+
:path: contact.relationship
|
|
228
|
+
- :type: code
|
|
229
|
+
:strength: required
|
|
230
|
+
:system: http://hl7.org/fhir/ValueSet/administrative-gender
|
|
231
|
+
:path: contact.gender
|
|
232
|
+
- :type: CodeableConcept
|
|
233
|
+
:strength: extensible
|
|
234
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/simple-language
|
|
235
|
+
:path: communication.language
|
|
236
|
+
- :type: code
|
|
237
|
+
:strength: required
|
|
238
|
+
:system: http://hl7.org/fhir/ValueSet/link-type
|
|
239
|
+
:path: link.type
|
|
240
|
+
- :type: Coding
|
|
241
|
+
:strength: required
|
|
242
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/omb-race-category
|
|
243
|
+
:path: value
|
|
244
|
+
:extensions:
|
|
245
|
+
- http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-race
|
|
246
|
+
- ombCategory
|
|
247
|
+
- :type: Coding
|
|
248
|
+
:strength: required
|
|
249
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/detailed-race
|
|
250
|
+
:path: value
|
|
251
|
+
:extensions:
|
|
252
|
+
- http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-race
|
|
253
|
+
- detailed
|
|
254
|
+
- :type: Coding
|
|
255
|
+
:strength: required
|
|
256
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/omb-ethnicity-category
|
|
257
|
+
:path: value
|
|
258
|
+
:extensions:
|
|
259
|
+
- http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-ethnicity
|
|
260
|
+
- ombCategory
|
|
261
|
+
- :type: Coding
|
|
262
|
+
:strength: required
|
|
263
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/detailed-ethnicity
|
|
264
|
+
:path: value
|
|
265
|
+
:extensions:
|
|
266
|
+
- http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-ethnicity
|
|
267
|
+
- detailed
|
|
268
|
+
- :type: code
|
|
269
|
+
:strength: required
|
|
270
|
+
:system: http://hl7.org/fhir/uv/ipa/ValueSet/birthsex
|
|
271
|
+
:path: value
|
|
272
|
+
:extensions:
|
|
273
|
+
- http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-birthsex
|
|
274
|
+
:references:
|
|
275
|
+
- :path: Patient.identifier.assigner
|
|
276
|
+
:profiles:
|
|
277
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
278
|
+
- :path: Patient.contact.organization
|
|
279
|
+
:profiles:
|
|
280
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
281
|
+
- :path: Patient.generalPractitioner
|
|
282
|
+
:profiles:
|
|
283
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
284
|
+
- http://hl7.org/fhir/StructureDefinition/Practitioner
|
|
285
|
+
- http://hl7.org/fhir/StructureDefinition/PractitionerRole
|
|
286
|
+
- :path: Patient.managingOrganization
|
|
287
|
+
:profiles:
|
|
288
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
289
|
+
- :path: Patient.link.other
|
|
290
|
+
:profiles:
|
|
291
|
+
- http://hl7.org/fhir/StructureDefinition/Patient
|
|
292
|
+
- http://hl7.org/fhir/StructureDefinition/RelatedPerson
|
|
293
|
+
:tests:
|
|
294
|
+
- :id: ipa_010_patient__id_search_test
|
|
295
|
+
:file_name: patient_id_search_test.rb
|
|
296
|
+
- :id: ipa_010_patient_identifier_search_test
|
|
297
|
+
:file_name: patient_identifier_search_test.rb
|
|
298
|
+
- :id: ipa_010_patient_name_search_test
|
|
299
|
+
:file_name: patient_name_search_test.rb
|
|
300
|
+
- :id: ipa_010_patient_birthdate_family_search_test
|
|
301
|
+
:file_name: patient_birthdate_family_search_test.rb
|
|
302
|
+
- :id: ipa_010_patient_family_gender_search_test
|
|
303
|
+
:file_name: patient_family_gender_search_test.rb
|
|
304
|
+
- :id: ipa_010_patient_birthdate_name_search_test
|
|
305
|
+
:file_name: patient_birthdate_name_search_test.rb
|
|
306
|
+
- :id: ipa_010_patient_gender_name_search_test
|
|
307
|
+
:file_name: patient_gender_name_search_test.rb
|
|
308
|
+
- :id: ipa_010_patient_read_test
|
|
309
|
+
:file_name: patient_read_test.rb
|
|
310
|
+
- :id: ipa_010_patient_provenance_revinclude_search_test
|
|
311
|
+
:file_name: patient_provenance_revinclude_search_test.rb
|
|
312
|
+
- :id: ipa_010_patient_validation_test
|
|
313
|
+
:file_name: patient_validation_test.rb
|
|
314
|
+
- :id: ipa_010_patient_must_support_test
|
|
315
|
+
:file_name: patient_must_support_test.rb
|
|
316
|
+
- :id: ipa_010_patient_reference_resolution_test
|
|
317
|
+
:file_name: patient_reference_resolution_test.rb
|
|
318
|
+
:id: ipa_010_patient
|
|
319
|
+
:file_name: patient_group.rb
|
|
320
|
+
:delayed_references: []
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require_relative '../../search_test'
|
|
2
|
+
require_relative '../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
class PatientBirthdateFamilySearchTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::SearchTest
|
|
7
|
+
|
|
8
|
+
title 'Server returns valid results for Patient search by birthdate + family'
|
|
9
|
+
description %(
|
|
10
|
+
A server SHOULD support searching by
|
|
11
|
+
birthdate + family on the Patient resource. This test
|
|
12
|
+
will pass if resources are returned and match the search criteria. If
|
|
13
|
+
none are returned, the test is skipped.
|
|
14
|
+
|
|
15
|
+
[IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
|
|
16
|
+
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
id :ipa_010_patient_birthdate_family_search_test
|
|
20
|
+
optional
|
|
21
|
+
|
|
22
|
+
def self.properties
|
|
23
|
+
@properties ||= SearchTestProperties.new(
|
|
24
|
+
resource_type: 'Patient',
|
|
25
|
+
search_param_names: ['birthdate', 'family']
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def scratch_resources
|
|
34
|
+
scratch[:patient_resources] ||= {}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
run do
|
|
38
|
+
run_search_test
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative '../../search_test'
|
|
2
|
+
require_relative '../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
class PatientBirthdateNameSearchTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::SearchTest
|
|
7
|
+
|
|
8
|
+
title 'Server returns valid results for Patient search by birthdate + name'
|
|
9
|
+
description %(
|
|
10
|
+
A server SHALL support searching by
|
|
11
|
+
birthdate + name on the Patient resource. This test
|
|
12
|
+
will pass if resources are returned and match the search criteria. If
|
|
13
|
+
none are returned, the test is skipped.
|
|
14
|
+
|
|
15
|
+
[IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
|
|
16
|
+
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
id :ipa_010_patient_birthdate_name_search_test
|
|
20
|
+
def self.properties
|
|
21
|
+
@properties ||= SearchTestProperties.new(
|
|
22
|
+
resource_type: 'Patient',
|
|
23
|
+
search_param_names: ['birthdate', 'name']
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.metadata
|
|
28
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def scratch_resources
|
|
32
|
+
scratch[:patient_resources] ||= {}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
run do
|
|
36
|
+
run_search_test
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require_relative '../../search_test'
|
|
2
|
+
require_relative '../../generator/group_metadata'
|
|
3
|
+
|
|
4
|
+
module IpaTestKit
|
|
5
|
+
class PatientFamilyGenderSearchTest < Inferno::Test
|
|
6
|
+
include IpaTestKit::SearchTest
|
|
7
|
+
|
|
8
|
+
title 'Server returns valid results for Patient search by family + gender'
|
|
9
|
+
description %(
|
|
10
|
+
A server SHOULD support searching by
|
|
11
|
+
family + gender on the Patient resource. This test
|
|
12
|
+
will pass if resources are returned and match the search criteria. If
|
|
13
|
+
none are returned, the test is skipped.
|
|
14
|
+
|
|
15
|
+
[IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
|
|
16
|
+
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
id :ipa_010_patient_family_gender_search_test
|
|
20
|
+
optional
|
|
21
|
+
|
|
22
|
+
def self.properties
|
|
23
|
+
@properties ||= SearchTestProperties.new(
|
|
24
|
+
resource_type: 'Patient',
|
|
25
|
+
search_param_names: ['family', 'gender']
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def self.metadata
|
|
30
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def scratch_resources
|
|
34
|
+
scratch[:patient_resources] ||= {}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
run do
|
|
38
|
+
run_search_test
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|