us_core_test_kit 0.6.0 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/us_core_test_kit/custom_groups/capability_statement/profile_support_test.rb +18 -16
- data/lib/us_core_test_kit/custom_groups/v3.1.1/capability_statement_group.rb +1 -1
- data/lib/us_core_test_kit/custom_groups/v3.1.1/profile_support_test.rb +51 -0
- data/lib/us_core_test_kit/custom_groups/v4.0.0/capability_statement_group.rb +1 -1
- data/lib/us_core_test_kit/custom_groups/v5.0.1/capability_statement_group.rb +1 -1
- data/lib/us_core_test_kit/custom_groups/v6.1.0/capability_statement_group.rb +1 -1
- data/lib/us_core_test_kit/fhir_resource_navigation.rb +76 -8
- data/lib/us_core_test_kit/generated/v3.1.1/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/bodyheight/bodyheight_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/bodyheight/bodyheight_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/bodyheight/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/bodytemp/bodytemp_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/bodytemp/bodytemp_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/bodytemp/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/bodyweight/bodyweight_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/bodyweight/bodyweight_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/bodyweight/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/bp/bp_must_support_test.rb +15 -7
- data/lib/us_core_test_kit/generated/v3.1.1/bp/bp_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/bp/metadata.yml +25 -12
- data/lib/us_core_test_kit/generated/v3.1.1/care_plan/care_plan_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/care_plan/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/care_team/care_team_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/condition/condition_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/device/device_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_lab/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/document_reference/document_reference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/encounter/encounter_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/goal/goal_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/goal/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/head_circumference/head_circumference_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/head_circumference/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/heartrate/heartrate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/heartrate/heartrate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/heartrate/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/immunization/immunization_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/medication_request/medication_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/metadata.yml +166 -121
- data/lib/us_core_test_kit/generated/v3.1.1/observation_lab/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/observation_lab/observation_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/organization/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_bmi_for_age/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_bmi_for_age/pediatric_bmi_for_age_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_weight_for_height/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_weight_for_height/pediatric_weight_for_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/practitioner/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/procedure/procedure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/provenance/metadata.yml +6 -6
- data/lib/us_core_test_kit/generated/v3.1.1/provenance/provenance_must_support_test.rb +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/provenance/provenance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/metadata.yml +33 -24
- data/lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/pulse_oximetry_must_support_test.rb +21 -14
- data/lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/resprate/metadata.yml +11 -9
- data/lib/us_core_test_kit/generated/v3.1.1/resprate/resprate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v3.1.1/resprate/resprate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v3.1.1/smokingstatus/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v3.1.1/smokingstatus/smokingstatus_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/allergy_intolerance/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/blood_pressure/blood_pressure_must_support_test.rb +15 -8
- data/lib/us_core_test_kit/generated/v4.0.0/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/blood_pressure/metadata.yml +37 -20
- data/lib/us_core_test_kit/generated/v4.0.0/bmi/bmi_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/bmi/bmi_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/bmi/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/body_height/body_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/body_height/body_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/body_height/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/body_temperature/body_temperature_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/body_temperature/body_temperature_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/body_temperature/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/body_weight/body_weight_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/body_weight/body_weight_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/body_weight/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/care_plan/care_plan_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/care_plan/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v4.0.0/care_team/care_team_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/care_team/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/condition/condition_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/condition/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/device/device_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/device/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_lab/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_note/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v4.0.0/document_reference/document_reference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/document_reference/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v4.0.0/encounter/encounter_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/encounter/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v4.0.0/goal/goal_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/goal/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference/head_circumference_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference_percentile/head_circumference_percentile_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference_percentile/head_circumference_percentile_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/head_circumference_percentile/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/heart_rate/heart_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/heart_rate/heart_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/heart_rate/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/immunization/immunization_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/immunization/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/medication_request/medication_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/medication_request/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v4.0.0/metadata.yml +275 -146
- data/lib/us_core_test_kit/generated/v4.0.0/observation_lab/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v4.0.0/observation_lab/observation_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/organization/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_bmi_for_age/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_bmi_for_age/pediatric_bmi_for_age_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_weight_for_height/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_weight_for_height/pediatric_weight_for_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/practitioner/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v4.0.0/procedure/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v4.0.0/procedure/procedure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/provenance/metadata.yml +8 -6
- data/lib/us_core_test_kit/generated/v4.0.0/provenance/provenance_must_support_test.rb +2 -1
- data/lib/us_core_test_kit/generated/v4.0.0/provenance/provenance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/metadata.yml +38 -22
- data/lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/pulse_oximetry_must_support_test.rb +15 -8
- data/lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/respiratory_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/respiratory_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v4.0.0/smokingstatus/metadata.yml +8 -3
- data/lib/us_core_test_kit/generated/v4.0.0/smokingstatus/smokingstatus_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/allergy_intolerance/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/blood_pressure/blood_pressure_must_support_test.rb +18 -8
- data/lib/us_core_test_kit/generated/v5.0.1/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/blood_pressure/metadata.yml +40 -20
- data/lib/us_core_test_kit/generated/v5.0.1/bmi/bmi_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/bmi/bmi_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/bmi/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/body_height/body_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/body_height/body_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/body_height/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/body_temperature/body_temperature_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/body_temperature/body_temperature_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/body_temperature/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/body_weight/body_weight_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/body_weight/body_weight_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/body_weight/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/care_plan/care_plan_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/care_plan/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/care_team/care_team_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/care_team/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/condition_encounter_diagnosis/condition_encounter_diagnosis_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/condition_encounter_diagnosis/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v5.0.1/condition_problems_health_concerns/condition_problems_health_concerns_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/condition_problems_health_concerns/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v5.0.1/device/device_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/device/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_lab/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_note/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v5.0.1/document_reference/document_reference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/document_reference/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v5.0.1/encounter/encounter_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/encounter/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v5.0.1/goal/goal_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/goal/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference/head_circumference_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference_percentile/head_circumference_percentile_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference_percentile/head_circumference_percentile_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/head_circumference_percentile/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/heart_rate/heart_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/heart_rate/heart_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/heart_rate/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/immunization/immunization_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/immunization/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/medication_request/medication_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/medication_request/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v5.0.1/metadata.yml +328 -161
- data/lib/us_core_test_kit/generated/v5.0.1/observation_clinical_test/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/observation_clinical_test/observation_clinical_test_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_imaging/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/observation_imaging/observation_imaging_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_lab/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/observation_lab/observation_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_sdoh_assessment/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_sdoh_assessment/observation_sdoh_assessment_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_sexual_orientation/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/observation_sexual_orientation/observation_sexual_orientation_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_social_history/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v5.0.1/observation_social_history/observation_social_history_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/organization/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_bmi_for_age/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_bmi_for_age/pediatric_bmi_for_age_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_weight_for_height/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_weight_for_height/pediatric_weight_for_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/practitioner/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v5.0.1/procedure/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/procedure/procedure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/provenance/metadata.yml +8 -6
- data/lib/us_core_test_kit/generated/v5.0.1/provenance/provenance_must_support_test.rb +2 -1
- data/lib/us_core_test_kit/generated/v5.0.1/provenance/provenance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/pulse_oximetry/metadata.yml +38 -22
- data/lib/us_core_test_kit/generated/v5.0.1/pulse_oximetry/pulse_oximetry_must_support_test.rb +15 -8
- data/lib/us_core_test_kit/generated/v5.0.1/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/questionnaire_response/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/questionnaire_response/questionnaire_response_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/related_person/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v5.0.1/related_person/related_person_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/metadata.yml +13 -9
- data/lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/respiratory_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/respiratory_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/service_request/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v5.0.1/service_request/service_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v5.0.1/smokingstatus/metadata.yml +8 -3
- data/lib/us_core_test_kit/generated/v5.0.1/smokingstatus/smokingstatus_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/allergy_intolerance/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/blood_pressure/blood_pressure_must_support_test.rb +18 -8
- data/lib/us_core_test_kit/generated/v6.1.0/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/blood_pressure/metadata.yml +40 -20
- data/lib/us_core_test_kit/generated/v6.1.0/bmi/bmi_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/bmi/bmi_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/bmi/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/body_height/body_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/body_height/body_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/body_height/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/body_temperature/body_temperature_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/body_temperature/body_temperature_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/body_temperature/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/body_weight/body_weight_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/body_weight/body_weight_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/body_weight/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/care_plan/care_plan_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/care_plan/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v6.1.0/care_team/care_team_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/care_team/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/condition_encounter_diagnosis/condition_encounter_diagnosis_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/condition_encounter_diagnosis/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/condition_problems_health_concerns/condition_problems_health_concerns_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/condition_problems_health_concerns/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v6.1.0/coverage/coverage_must_support_test.rb +5 -3
- data/lib/us_core_test_kit/generated/v6.1.0/coverage/coverage_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/coverage/metadata.yml +13 -7
- data/lib/us_core_test_kit/generated/v6.1.0/device/device_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/device/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_lab/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/document_reference/document_reference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/document_reference/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/encounter/encounter_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/encounter/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v6.1.0/goal/goal_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/goal/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference/head_circumference_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference_percentile/head_circumference_percentile_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference_percentile/head_circumference_percentile_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/head_circumference_percentile/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/heart_rate/heart_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/heart_rate/heart_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/heart_rate/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/immunization/immunization_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/immunization/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/medication_dispense/medication_dispense_patient_search_test.rb +2 -2
- data/lib/us_core_test_kit/generated/v6.1.0/medication_dispense/medication_dispense_patient_status_search_test.rb +2 -2
- data/lib/us_core_test_kit/generated/v6.1.0/medication_dispense/medication_dispense_patient_status_type_search_test.rb +2 -2
- data/lib/us_core_test_kit/generated/v6.1.0/medication_dispense/medication_dispense_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/medication_dispense/metadata.yml +4 -0
- data/lib/us_core_test_kit/generated/v6.1.0/medication_request/medication_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/medication_request/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/metadata.yml +417 -226
- data/lib/us_core_test_kit/generated/v6.1.0/observation_clinical_result/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v6.1.0/observation_clinical_result/observation_clinical_result_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_lab/metadata.yml +6 -1
- data/lib/us_core_test_kit/generated/v6.1.0/observation_lab/observation_lab_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_occupation/metadata.yml +12 -7
- data/lib/us_core_test_kit/generated/v6.1.0/observation_occupation/observation_occupation_must_support_test.rb +2 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_occupation/observation_occupation_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_pregnancyintent/metadata.yml +8 -3
- data/lib/us_core_test_kit/generated/v6.1.0/observation_pregnancyintent/observation_pregnancyintent_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_pregnancystatus/metadata.yml +8 -3
- data/lib/us_core_test_kit/generated/v6.1.0/observation_pregnancystatus/observation_pregnancystatus_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_screening_assessment/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_screening_assessment/observation_screening_assessment_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/observation_sexual_orientation/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v6.1.0/observation_sexual_orientation/observation_sexual_orientation_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/organization/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_bmi_for_age/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_bmi_for_age/pediatric_bmi_for_age_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_weight_for_height/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_weight_for_height/pediatric_weight_for_height_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/practitioner/metadata.yml +2 -1
- data/lib/us_core_test_kit/generated/v6.1.0/procedure/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/procedure/procedure_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/provenance/metadata.yml +8 -6
- data/lib/us_core_test_kit/generated/v6.1.0/provenance/provenance_must_support_test.rb +2 -1
- data/lib/us_core_test_kit/generated/v6.1.0/provenance/provenance_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/pulse_oximetry/metadata.yml +48 -31
- data/lib/us_core_test_kit/generated/v6.1.0/pulse_oximetry/pulse_oximetry_must_support_test.rb +19 -12
- data/lib/us_core_test_kit/generated/v6.1.0/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/questionnaire_response/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/questionnaire_response/questionnaire_response_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/related_person/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/related_person/related_person_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/metadata.yml +17 -13
- data/lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/respiratory_rate_must_support_test.rb +7 -7
- data/lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/respiratory_rate_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/service_request/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v6.1.0/service_request/service_request_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/simple_observation/metadata.yml +4 -1
- data/lib/us_core_test_kit/generated/v6.1.0/simple_observation/simple_observation_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/metadata.yml +6 -2
- data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/smokingstatus_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v6.1.0/specimen/metadata.yml +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/specimen/specimen_reference_resolution_test.rb +0 -2
- data/lib/us_core_test_kit/generator/group_metadata_extractor.rb +0 -1
- data/lib/us_core_test_kit/generator/ig_loader.rb +2 -0
- data/lib/us_core_test_kit/generator/must_support_metadata_extractor.rb +56 -26
- data/lib/us_core_test_kit/generator/must_support_test_generator.rb +1 -1
- data/lib/us_core_test_kit/generator/search_test_generator.rb +2 -2
- data/lib/us_core_test_kit/generator.rb +0 -6
- data/lib/us_core_test_kit/must_support_test.rb +2 -5
- data/lib/us_core_test_kit/reference_resolution_test.rb +2 -2
- data/lib/us_core_test_kit/search_test.rb +29 -7
- data/lib/us_core_test_kit/version.rb +1 -1
- metadata +3 -7
- data/lib/us_core_test_kit/generated/v3.1.1/resource_list.rb +0 -28
- data/lib/us_core_test_kit/generated/v4.0.0/resource_list.rb +0 -28
- data/lib/us_core_test_kit/generated/v5.0.1/resource_list.rb +0 -31
- data/lib/us_core_test_kit/generated/v6.1.0/resource_list.rb +0 -34
- data/lib/us_core_test_kit/generator/resource_list_generator.rb +0 -42
@@ -36,7 +36,7 @@ module USCoreTestKit
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def all_must_support_elements
|
39
|
-
profile_elements.select { |element| element.mustSupport || is_uscdi_requirement_element?(element)
|
39
|
+
profile_elements.select { |element| (element.mustSupport || is_uscdi_requirement_element?(element))}
|
40
40
|
end
|
41
41
|
|
42
42
|
def must_support_extension_elements
|
@@ -77,7 +77,8 @@ module USCoreTestKit
|
|
77
77
|
def pattern_slices
|
78
78
|
must_support_pattern_slice_elements.map do |current_element|
|
79
79
|
{
|
80
|
-
|
80
|
+
slice_id: current_element.id,
|
81
|
+
slice_name: current_element.sliceName,
|
81
82
|
path: current_element.path.gsub("#{resource}.", '')
|
82
83
|
}.tap do |metadata|
|
83
84
|
discriminator = discriminators(sliced_element(current_element)).first
|
@@ -89,7 +90,6 @@ module USCoreTestKit
|
|
89
90
|
else
|
90
91
|
current_element
|
91
92
|
end
|
92
|
-
|
93
93
|
metadata[:discriminator] =
|
94
94
|
if pattern_element.patternCodeableConcept.present?
|
95
95
|
{
|
@@ -156,7 +156,8 @@ module USCoreTestKit
|
|
156
156
|
type_code = type_element.type.first.code
|
157
157
|
|
158
158
|
{
|
159
|
-
|
159
|
+
slice_id: current_element.id,
|
160
|
+
slice_name: current_element.sliceName,
|
160
161
|
path: current_element.path.gsub("#{resource}.", ''),
|
161
162
|
discriminator: {
|
162
163
|
type: 'type',
|
@@ -179,7 +180,8 @@ module USCoreTestKit
|
|
179
180
|
def value_slices
|
180
181
|
must_support_value_slice_elements.map do |current_element|
|
181
182
|
{
|
182
|
-
|
183
|
+
slice_id: current_element.id,
|
184
|
+
slice_name: current_element.sliceName,
|
183
185
|
path: current_element.path.gsub("#{resource}.", ''),
|
184
186
|
discriminator: {
|
185
187
|
type: 'value'
|
@@ -209,18 +211,23 @@ module USCoreTestKit
|
|
209
211
|
end
|
210
212
|
|
211
213
|
def plain_must_support_elements
|
212
|
-
all_must_support_elements - must_support_extension_elements - must_support_slice_elements
|
214
|
+
plain_must_supports = all_must_support_elements - must_support_extension_elements - must_support_slice_elements
|
215
|
+
end
|
216
|
+
|
217
|
+
def element_part_of_slice_discrimination?(element)
|
218
|
+
must_support_slice_elements.any? { |ms_slice| element.id.include?(ms_slice.id) }
|
213
219
|
end
|
214
220
|
|
221
|
+
|
215
222
|
def handle_fixed_values(metadata, element)
|
216
223
|
if element.fixedUri.present?
|
217
224
|
metadata[:fixed_value] = element.fixedUri
|
218
|
-
elsif element.patternCodeableConcept.present?
|
225
|
+
elsif element.patternCodeableConcept.present? && !element_part_of_slice_discrimination?(element)
|
219
226
|
metadata[:fixed_value] = element.patternCodeableConcept.coding.first.code
|
220
227
|
metadata[:path] += '.coding.code'
|
221
228
|
elsif element.fixedCode.present?
|
222
229
|
metadata[:fixed_value] = element.fixedCode
|
223
|
-
elsif element.patternIdentifier.present?
|
230
|
+
elsif element.patternIdentifier.present? && !element_part_of_slice_discrimination?(element)
|
224
231
|
metadata[:fixed_value] = element.patternIdentifier.system
|
225
232
|
metadata[:path] += '.system'
|
226
233
|
end
|
@@ -254,17 +261,25 @@ module USCoreTestKit
|
|
254
261
|
end
|
255
262
|
|
256
263
|
def handle_type_must_support_target_profiles(type, metadata)
|
257
|
-
|
264
|
+
# US Core 3.1.1 profiles do not have US Core target profiles.
|
265
|
+
# Vital Sign proifles from FHIR R4 (version 4.0.1) do not have US Core target profiles either.
|
266
|
+
return if ['3.1.1', '4.0.1'].include?(profile.version)
|
267
|
+
|
258
268
|
target_profiles = []
|
259
269
|
|
260
|
-
type.
|
261
|
-
|
262
|
-
|
263
|
-
|
270
|
+
if type.targetProfile&.length == 1
|
271
|
+
target_profiles << type.targetProfile.first
|
272
|
+
else
|
273
|
+
type.source_hash['_targetProfile']&.each_with_index do |hash, index|
|
274
|
+
if hash.present?
|
275
|
+
element = FHIR::Element.new(hash)
|
276
|
+
target_profiles << type.targetProfile[index] if type_must_support_extension?(element.extension)
|
277
|
+
end
|
264
278
|
end
|
265
|
-
index += 1
|
266
279
|
end
|
267
280
|
|
281
|
+
# remove target_profile for FHIR Base resource type.
|
282
|
+
target_profiles.delete_if { |reference| reference.start_with?('http://hl7.org/fhir/StructureDefinition')}
|
268
283
|
metadata[:target_profiles] = target_profiles if target_profiles.present?
|
269
284
|
end
|
270
285
|
|
@@ -283,7 +298,7 @@ module USCoreTestKit
|
|
283
298
|
def must_support_elements
|
284
299
|
plain_must_support_elements.each_with_object([]) do |current_element, must_support_elements_metadata|
|
285
300
|
{
|
286
|
-
path: current_element.
|
301
|
+
path: current_element.id.gsub("#{resource}.", '')
|
287
302
|
}.tap do |current_metadata|
|
288
303
|
if is_uscdi_requirement_element?(current_element)
|
289
304
|
current_metadata[:uscdi_only] = true
|
@@ -317,7 +332,7 @@ module USCoreTestKit
|
|
317
332
|
|
318
333
|
def handle_special_cases
|
319
334
|
remove_vital_sign_component
|
320
|
-
|
335
|
+
remove_blood_pressure_value_data_absent_reason
|
321
336
|
remove_observation_data_absent_reason
|
322
337
|
|
323
338
|
case profile.version
|
@@ -345,7 +360,9 @@ module USCoreTestKit
|
|
345
360
|
|
346
361
|
# Exclude Observation.component from vital sign profiles except observation-bp and observation-pulse-ox
|
347
362
|
def remove_vital_sign_component
|
348
|
-
if
|
363
|
+
return if is_blood_pressure? || profile.name == 'USCorePulseOximetryProfile'
|
364
|
+
|
365
|
+
if is_vital_sign?
|
349
366
|
@must_supports[:elements].delete_if do |element|
|
350
367
|
element[:path].start_with?('component')
|
351
368
|
end
|
@@ -353,14 +370,22 @@ module USCoreTestKit
|
|
353
370
|
end
|
354
371
|
|
355
372
|
# Exclude Observation.value[x] from observation-bp
|
356
|
-
def
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
373
|
+
def remove_blood_pressure_value_data_absent_reason
|
374
|
+
return unless is_blood_pressure?
|
375
|
+
|
376
|
+
pattern = /component(:[^.]+)?\.dataAbsentReason/
|
377
|
+
|
378
|
+
@must_supports[:elements].delete_if do |element|
|
379
|
+
element[:path].start_with?('value[x]') ||
|
380
|
+
element[:original_path]&.start_with?('value[x]') ||
|
381
|
+
element[:path] == ('dataAbsentReason') ||
|
382
|
+
(
|
383
|
+
pattern.match?(element[:path]) && ['3.1.1', '4.0.0'].include?(ig_resources.ig.version)
|
384
|
+
)
|
385
|
+
end
|
386
|
+
|
387
|
+
@must_supports[:slices].delete_if do |slice|
|
388
|
+
slice[:path].start_with?('value[x]')
|
364
389
|
end
|
365
390
|
end
|
366
391
|
|
@@ -368,10 +393,15 @@ module USCoreTestKit
|
|
368
393
|
# are not required to demonstrate Health IT Module support for "dataAbsentReason" elements.
|
369
394
|
# Remove MS check for dataAbsentReason and component.dataAbsentReason from vital sign profiles and observation lab profile
|
370
395
|
# Smoking status profile does not have MS on dataAbsentReason. It is safe to use profile.type == 'Observation'
|
396
|
+
# Since US Core 5.0.1, Blood Pressure profile restores component.dataAbsentReason as MustSupport.
|
371
397
|
def remove_observation_data_absent_reason
|
398
|
+
return if is_blood_pressure?
|
399
|
+
|
400
|
+
pattern = /(component(:[^.]+)?\.)?dataAbsentReason/
|
401
|
+
|
372
402
|
if profile.type == 'Observation'
|
373
403
|
@must_supports[:elements].delete_if do |element|
|
374
|
-
|
404
|
+
pattern.match?(element[:path])
|
375
405
|
end
|
376
406
|
end
|
377
407
|
end
|
@@ -78,7 +78,7 @@ module USCoreTestKit
|
|
78
78
|
def build_must_support_list_string(uscdi_only)
|
79
79
|
slice_names = group_metadata.must_supports[:slices]
|
80
80
|
.select { |slice| slice[:uscdi_only].presence == uscdi_only.presence }
|
81
|
-
.map { |slice| slice[:
|
81
|
+
.map { |slice| slice[:slice_id] }
|
82
82
|
|
83
83
|
element_names = group_metadata.must_supports[:elements]
|
84
84
|
.select { |element| element[:uscdi_only].presence == uscdi_only.presence }
|
@@ -257,9 +257,9 @@ module USCoreTestKit
|
|
257
257
|
return '' unless test_medication_inclusion?
|
258
258
|
|
259
259
|
<<~MEDICATION_INCLUSION_DESCRIPTION
|
260
|
-
If any
|
260
|
+
If any #{resource_type} resources use external references to
|
261
261
|
Medications, the search will be repeated with
|
262
|
-
`_include
|
262
|
+
`_include=#{resource_type}:medication`.
|
263
263
|
MEDICATION_INCLUSION_DESCRIPTION
|
264
264
|
end
|
265
265
|
|
@@ -8,7 +8,6 @@ require_relative 'generator/must_support_test_generator'
|
|
8
8
|
require_relative 'generator/provenance_revinclude_search_test_generator'
|
9
9
|
require_relative 'generator/read_test_generator'
|
10
10
|
require_relative 'generator/reference_resolution_test_generator'
|
11
|
-
require_relative 'generator/resource_list_generator'
|
12
11
|
require_relative 'generator/search_test_generator'
|
13
12
|
require_relative 'generator/suite_generator'
|
14
13
|
require_relative 'generator/validation_test_generator'
|
@@ -33,7 +32,6 @@ module USCoreTestKit
|
|
33
32
|
puts "Generating tests for IG #{File.basename(ig_file_name)}"
|
34
33
|
load_ig_package
|
35
34
|
extract_metadata
|
36
|
-
generate_resource_list
|
37
35
|
generate_search_tests
|
38
36
|
generate_read_tests
|
39
37
|
# TODO: generate_vread_tests
|
@@ -66,10 +64,6 @@ module USCoreTestKit
|
|
66
64
|
self.ig_resources = IGLoader.new(ig_file_name).load
|
67
65
|
end
|
68
66
|
|
69
|
-
def generate_resource_list
|
70
|
-
ResourceListGenerator.generate(ig_metadata, base_output_dir)
|
71
|
-
end
|
72
|
-
|
73
67
|
def generate_reference_resolution_tests
|
74
68
|
ReferenceResolutionTestGenerator.generate(ig_metadata, base_output_dir)
|
75
69
|
end
|
@@ -23,7 +23,6 @@ module USCoreTestKit
|
|
23
23
|
if (missing_elements + missing_slices + missing_extensions).length.zero?
|
24
24
|
pass
|
25
25
|
end
|
26
|
-
|
27
26
|
skip "Could not find #{missing_must_support_strings.join(', ')} in the #{resources.length} " \
|
28
27
|
"provided #{resource_type} resource(s)"
|
29
28
|
end
|
@@ -56,8 +55,8 @@ module USCoreTestKit
|
|
56
55
|
|
57
56
|
def missing_must_support_strings
|
58
57
|
missing_elements.map { |element_definition| missing_element_string(element_definition) } +
|
59
|
-
|
60
|
-
|
58
|
+
missing_slices.map { |slice_definition| slice_definition[:slice_id] } +
|
59
|
+
missing_extensions.map { |extension_definition| extension_definition[:id] }
|
61
60
|
end
|
62
61
|
|
63
62
|
def missing_element_string(element_definition)
|
@@ -110,12 +109,10 @@ module USCoreTestKit
|
|
110
109
|
(element_definition[:fixed_value].blank? || value == element_definition[:fixed_value])
|
111
110
|
|
112
111
|
end
|
113
|
-
|
114
112
|
# Note that false.present? => false, which is why we need to add this extra check
|
115
113
|
value_found.present? || value_found == false
|
116
114
|
end
|
117
115
|
end
|
118
|
-
|
119
116
|
@missing_elements
|
120
117
|
end
|
121
118
|
|
@@ -12,7 +12,7 @@ module USCoreTestKit
|
|
12
12
|
|
13
13
|
pass if unresolved_references(resources).length.zero?
|
14
14
|
|
15
|
-
skip "Could not resolve Must Support references #{unresolved_references_strings.join(', ')}"
|
15
|
+
skip "Could not resolve and validate any Must Support references for #{unresolved_references_strings.join(', ')}"
|
16
16
|
end
|
17
17
|
|
18
18
|
def unresolved_references_strings
|
@@ -20,7 +20,7 @@ module USCoreTestKit
|
|
20
20
|
unresolved_references.each_with_object(Hash.new { |hash, key| hash[key] = [] }) do |missing, hash|
|
21
21
|
hash[missing[:path]] << missing[:target_profile]
|
22
22
|
end
|
23
|
-
unresolved_reference_hash.map { |path, profiles| "#{path}#{"(#{profiles.join('|')})" unless profiles.first.empty?}" }
|
23
|
+
unresolved_reference_hash.map { |path, profiles| "#{path} element: Reference#{"(#{profiles.join('|')})" unless profiles.first.empty?}" }
|
24
24
|
end
|
25
25
|
|
26
26
|
def record_resolved_reference(reference, target_profile)
|
@@ -373,7 +373,7 @@ module USCoreTestKit
|
|
373
373
|
end
|
374
374
|
end
|
375
375
|
|
376
|
-
def test_medication_inclusion(
|
376
|
+
def test_medication_inclusion(base_resources, params, patient_id)
|
377
377
|
return if search_variant_test_records[:medication_inclusion]
|
378
378
|
|
379
379
|
scratch[:medication_resources] ||= {}
|
@@ -381,13 +381,13 @@ module USCoreTestKit
|
|
381
381
|
scratch[:medication_resources][patient_id] ||= []
|
382
382
|
scratch[:medication_resources][:contained] ||= []
|
383
383
|
|
384
|
-
|
385
|
-
|
384
|
+
base_resources_with_external_reference =
|
385
|
+
base_resources
|
386
386
|
.select { |request| request&.medicationReference&.present? }
|
387
387
|
.reject { |request| request&.medicationReference&.reference&.start_with? '#' }
|
388
388
|
|
389
389
|
contained_medications =
|
390
|
-
|
390
|
+
base_resources
|
391
391
|
.select { |request| request&.medicationReference&.reference&.start_with? '#' }
|
392
392
|
.flat_map(&:contained)
|
393
393
|
.select { |resource| resource.resourceType == 'Medication' }
|
@@ -396,15 +396,32 @@ module USCoreTestKit
|
|
396
396
|
scratch[:medication_resources][patient_id] += contained_medications
|
397
397
|
scratch[:medication_resources][:contained] += contained_medications
|
398
398
|
|
399
|
-
return if
|
399
|
+
return if base_resources_with_external_reference.blank?
|
400
400
|
|
401
|
-
search_params = params.merge(_include:
|
401
|
+
search_params = params.merge(_include: "#{resource_type}:medication")
|
402
402
|
|
403
403
|
search_and_check_response(search_params)
|
404
404
|
|
405
405
|
medications = fetch_all_bundled_resources.select { |resource| resource.resourceType == 'Medication' }
|
406
406
|
assert medications.present?, 'No Medications were included in the search results'
|
407
407
|
|
408
|
+
included_medications = medications.map { |medication| "#{medication.resourceType}/#{medication.id}" }
|
409
|
+
|
410
|
+
matched_base_resources = base_resources_with_external_reference.select do |base_resource|
|
411
|
+
included_medications.any? do |medication_reference|
|
412
|
+
is_reference_match?(base_resource.medicationReference.reference, medication_reference)
|
413
|
+
end
|
414
|
+
end
|
415
|
+
|
416
|
+
not_matched_included_medications = included_medications.select do |medication_reference|
|
417
|
+
matched_base_resources.none? do |base_resource|
|
418
|
+
is_reference_match?(base_resource.medicationReference.reference, medication_reference)
|
419
|
+
end
|
420
|
+
end
|
421
|
+
|
422
|
+
not_matched_included_medications_string = not_matched_included_medications.join(',')
|
423
|
+
assert not_matched_included_medications.empty?, "No #{resource_type} references #{not_matched_included_medications_string} in the search result."
|
424
|
+
|
408
425
|
medications.uniq!(&:id)
|
409
426
|
|
410
427
|
scratch[:medication_resources][:all] += medications
|
@@ -413,6 +430,11 @@ module USCoreTestKit
|
|
413
430
|
search_variant_test_records[:medication_inclusion] = true
|
414
431
|
end
|
415
432
|
|
433
|
+
def is_reference_match? (reference, local_reference)
|
434
|
+
regex_pattern = /^(#{Regexp.escape(local_reference)}|\S+\/#{Regexp.escape(local_reference)}(?:[\/|]\S+)*)$/
|
435
|
+
reference.match?(regex_pattern)
|
436
|
+
end
|
437
|
+
|
416
438
|
def all_scratch_resources
|
417
439
|
scratch_resources[:all] ||= []
|
418
440
|
end
|
@@ -547,7 +569,7 @@ module USCoreTestKit
|
|
547
569
|
end
|
548
570
|
|
549
571
|
valid_resource_types = [resource_type, 'OperationOutcome'].concat(additional_resource_types)
|
550
|
-
valid_resource_types << 'Medication' if
|
572
|
+
valid_resource_types << 'Medication' if ['MedicationRequest', 'MedicationDispense'].include?(resource_type)
|
551
573
|
|
552
574
|
invalid_resource_types =
|
553
575
|
resources.reject { |entry| valid_resource_types.include? entry.resourceType }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: us_core_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inferno_core
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- lib/us_core_test_kit/custom_groups/data_absent_reason_group.rb
|
114
114
|
- lib/us_core_test_kit/custom_groups/v3.1.1/capability_statement_group.rb
|
115
115
|
- lib/us_core_test_kit/custom_groups/v3.1.1/clinical_notes_guidance_group.rb
|
116
|
+
- lib/us_core_test_kit/custom_groups/v3.1.1/profile_support_test.rb
|
116
117
|
- lib/us_core_test_kit/custom_groups/v4.0.0/capability_statement_group.rb
|
117
118
|
- lib/us_core_test_kit/custom_groups/v4.0.0/clinical_notes_guidance_group.rb
|
118
119
|
- lib/us_core_test_kit/custom_groups/v4.0.0/document_reference_custodian_test.rb
|
@@ -420,7 +421,6 @@ files:
|
|
420
421
|
- lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb
|
421
422
|
- lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/pulse_oximetry_validation_test.rb
|
422
423
|
- lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry_group.rb
|
423
|
-
- lib/us_core_test_kit/generated/v3.1.1/resource_list.rb
|
424
424
|
- lib/us_core_test_kit/generated/v3.1.1/resprate/metadata.yml
|
425
425
|
- lib/us_core_test_kit/generated/v3.1.1/resprate/resprate_must_support_test.rb
|
426
426
|
- lib/us_core_test_kit/generated/v3.1.1/resprate/resprate_patient_category_date_search_test.rb
|
@@ -770,7 +770,6 @@ files:
|
|
770
770
|
- lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb
|
771
771
|
- lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/pulse_oximetry_validation_test.rb
|
772
772
|
- lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry_group.rb
|
773
|
-
- lib/us_core_test_kit/generated/v4.0.0/resource_list.rb
|
774
773
|
- lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/metadata.yml
|
775
774
|
- lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/respiratory_rate_must_support_test.rb
|
776
775
|
- lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/respiratory_rate_patient_category_date_search_test.rb
|
@@ -1229,7 +1228,6 @@ files:
|
|
1229
1228
|
- lib/us_core_test_kit/generated/v5.0.1/related_person/related_person_reference_resolution_test.rb
|
1230
1229
|
- lib/us_core_test_kit/generated/v5.0.1/related_person/related_person_validation_test.rb
|
1231
1230
|
- lib/us_core_test_kit/generated/v5.0.1/related_person_group.rb
|
1232
|
-
- lib/us_core_test_kit/generated/v5.0.1/resource_list.rb
|
1233
1231
|
- lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/metadata.yml
|
1234
1232
|
- lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/respiratory_rate_must_support_test.rb
|
1235
1233
|
- lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/respiratory_rate_patient_category_date_search_test.rb
|
@@ -1736,7 +1734,6 @@ files:
|
|
1736
1734
|
- lib/us_core_test_kit/generated/v6.1.0/related_person/related_person_reference_resolution_test.rb
|
1737
1735
|
- lib/us_core_test_kit/generated/v6.1.0/related_person/related_person_validation_test.rb
|
1738
1736
|
- lib/us_core_test_kit/generated/v6.1.0/related_person_group.rb
|
1739
|
-
- lib/us_core_test_kit/generated/v6.1.0/resource_list.rb
|
1740
1737
|
- lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/metadata.yml
|
1741
1738
|
- lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/respiratory_rate_must_support_test.rb
|
1742
1739
|
- lib/us_core_test_kit/generated/v6.1.0/respiratory_rate/respiratory_rate_patient_category_date_search_test.rb
|
@@ -1814,7 +1811,6 @@ files:
|
|
1814
1811
|
- lib/us_core_test_kit/generator/provenance_revinclude_search_test_generator.rb
|
1815
1812
|
- lib/us_core_test_kit/generator/read_test_generator.rb
|
1816
1813
|
- lib/us_core_test_kit/generator/reference_resolution_test_generator.rb
|
1817
|
-
- lib/us_core_test_kit/generator/resource_list_generator.rb
|
1818
1814
|
- lib/us_core_test_kit/generator/search_definition_metadata_extractor.rb
|
1819
1815
|
- lib/us_core_test_kit/generator/search_metadata_extractor.rb
|
1820
1816
|
- lib/us_core_test_kit/generator/search_test_generator.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module USCoreTestKit
|
2
|
-
module USCoreV311
|
3
|
-
module ResourceList
|
4
|
-
RESOURCE_LIST = [
|
5
|
-
'AllergyIntolerance',
|
6
|
-
'CarePlan',
|
7
|
-
'CareTeam',
|
8
|
-
'Condition',
|
9
|
-
'Device',
|
10
|
-
'DiagnosticReport',
|
11
|
-
'DocumentReference',
|
12
|
-
'Encounter',
|
13
|
-
'Goal',
|
14
|
-
'Immunization',
|
15
|
-
'Location',
|
16
|
-
'Medication',
|
17
|
-
'MedicationRequest',
|
18
|
-
'Observation',
|
19
|
-
'Organization',
|
20
|
-
'Patient',
|
21
|
-
'Practitioner',
|
22
|
-
'PractitionerRole',
|
23
|
-
'Procedure',
|
24
|
-
'Provenance'
|
25
|
-
].freeze
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module USCoreTestKit
|
2
|
-
module USCoreV400
|
3
|
-
module ResourceList
|
4
|
-
RESOURCE_LIST = [
|
5
|
-
'AllergyIntolerance',
|
6
|
-
'CarePlan',
|
7
|
-
'CareTeam',
|
8
|
-
'Condition',
|
9
|
-
'Device',
|
10
|
-
'DiagnosticReport',
|
11
|
-
'DocumentReference',
|
12
|
-
'Encounter',
|
13
|
-
'Goal',
|
14
|
-
'Immunization',
|
15
|
-
'Location',
|
16
|
-
'Medication',
|
17
|
-
'MedicationRequest',
|
18
|
-
'Observation',
|
19
|
-
'Organization',
|
20
|
-
'Patient',
|
21
|
-
'Practitioner',
|
22
|
-
'PractitionerRole',
|
23
|
-
'Procedure',
|
24
|
-
'Provenance'
|
25
|
-
].freeze
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module USCoreTestKit
|
2
|
-
module USCoreV501
|
3
|
-
module ResourceList
|
4
|
-
RESOURCE_LIST = [
|
5
|
-
'AllergyIntolerance',
|
6
|
-
'CarePlan',
|
7
|
-
'CareTeam',
|
8
|
-
'Condition',
|
9
|
-
'Device',
|
10
|
-
'DiagnosticReport',
|
11
|
-
'DocumentReference',
|
12
|
-
'Encounter',
|
13
|
-
'Goal',
|
14
|
-
'Immunization',
|
15
|
-
'Location',
|
16
|
-
'Medication',
|
17
|
-
'MedicationRequest',
|
18
|
-
'Observation',
|
19
|
-
'Organization',
|
20
|
-
'Patient',
|
21
|
-
'Practitioner',
|
22
|
-
'PractitionerRole',
|
23
|
-
'Procedure',
|
24
|
-
'Provenance',
|
25
|
-
'QuestionnaireResponse',
|
26
|
-
'RelatedPerson',
|
27
|
-
'ServiceRequest'
|
28
|
-
].freeze
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module USCoreTestKit
|
2
|
-
module USCoreV610
|
3
|
-
module ResourceList
|
4
|
-
RESOURCE_LIST = [
|
5
|
-
'AllergyIntolerance',
|
6
|
-
'CarePlan',
|
7
|
-
'CareTeam',
|
8
|
-
'Condition',
|
9
|
-
'Coverage',
|
10
|
-
'Device',
|
11
|
-
'DiagnosticReport',
|
12
|
-
'DocumentReference',
|
13
|
-
'Encounter',
|
14
|
-
'Goal',
|
15
|
-
'Immunization',
|
16
|
-
'Location',
|
17
|
-
'Medication',
|
18
|
-
'MedicationDispense',
|
19
|
-
'MedicationRequest',
|
20
|
-
'Observation',
|
21
|
-
'Organization',
|
22
|
-
'Patient',
|
23
|
-
'Practitioner',
|
24
|
-
'PractitionerRole',
|
25
|
-
'Procedure',
|
26
|
-
'Provenance',
|
27
|
-
'QuestionnaireResponse',
|
28
|
-
'RelatedPerson',
|
29
|
-
'ServiceRequest',
|
30
|
-
'Specimen'
|
31
|
-
].freeze
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
module USCoreTestKit
|
2
|
-
class Generator
|
3
|
-
class ResourceListGenerator
|
4
|
-
class << self
|
5
|
-
def generate(ig_metadata, base_output_dir)
|
6
|
-
@ig_metadata = ig_metadata
|
7
|
-
|
8
|
-
FileUtils.mkdir_p(base_output_dir)
|
9
|
-
File.open(File.join(base_output_dir, base_output_file_name), 'w') { |f| f.write(output) }
|
10
|
-
end
|
11
|
-
|
12
|
-
def resource_list
|
13
|
-
@ig_metadata.groups.map(&:resource).uniq
|
14
|
-
end
|
15
|
-
|
16
|
-
def resource_list_string
|
17
|
-
resource_list.map { |resource| " '#{resource}'" }.join(",\n")
|
18
|
-
end
|
19
|
-
|
20
|
-
def module_name
|
21
|
-
"USCore#{@ig_metadata.reformatted_version.upcase}"
|
22
|
-
end
|
23
|
-
|
24
|
-
def read_interaction(group_metadata)
|
25
|
-
group_metadata.interactions.find { |interaction| interaction[:code] == 'read' }
|
26
|
-
end
|
27
|
-
|
28
|
-
def template
|
29
|
-
@template ||= File.read(File.join(__dir__, 'templates', 'resource_list.rb.erb'))
|
30
|
-
end
|
31
|
-
|
32
|
-
def output
|
33
|
-
ERB.new(template).result(binding)
|
34
|
-
end
|
35
|
-
|
36
|
-
def base_output_file_name
|
37
|
-
"resource_list.rb"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|