us_core_test_kit 0.6.0 → 0.6.1
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/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_reference_resolution_test.rb +0 -2
- 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/bodyweight/bodyweight_reference_resolution_test.rb +0 -2
- 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/care_plan/care_plan_reference_resolution_test.rb +0 -2
- 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_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/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- 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/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/observation_lab/observation_lab_reference_resolution_test.rb +0 -2
- 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/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- 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/provenance_reference_resolution_test.rb +0 -2
- 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/resprate_reference_resolution_test.rb +0 -2
- 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/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- 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/body_height/body_height_reference_resolution_test.rb +0 -2
- 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_weight/body_weight_reference_resolution_test.rb +0 -2
- 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_team/care_team_reference_resolution_test.rb +0 -2
- 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/device/device_reference_resolution_test.rb +0 -2
- 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_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- 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/encounter/encounter_reference_resolution_test.rb +0 -2
- 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/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- 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/heart_rate/heart_rate_reference_resolution_test.rb +0 -2
- 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/medication_request/medication_request_reference_resolution_test.rb +0 -2
- 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/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/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- 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/provenance_reference_resolution_test.rb +0 -2
- 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/respiratory_rate_reference_resolution_test.rb +0 -2
- 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/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- 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/body_height/body_height_reference_resolution_test.rb +0 -2
- 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_weight/body_weight_reference_resolution_test.rb +0 -2
- 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_team/care_team_reference_resolution_test.rb +0 -2
- 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_problems_health_concerns/condition_problems_health_concerns_reference_resolution_test.rb +0 -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/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +0 -2
- 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/document_reference/document_reference_reference_resolution_test.rb +0 -2
- 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/goal/goal_reference_resolution_test.rb +0 -2
- 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_percentile/head_circumference_percentile_reference_resolution_test.rb +0 -2
- 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/immunization/immunization_reference_resolution_test.rb +0 -2
- 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/observation_clinical_test/observation_clinical_test_reference_resolution_test.rb +0 -2
- 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/observation_lab_reference_resolution_test.rb +0 -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/observation_sexual_orientation_reference_resolution_test.rb +0 -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/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/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- 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/provenance_reference_resolution_test.rb +0 -2
- 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/questionnaire_response_reference_resolution_test.rb +0 -2
- 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/respiratory_rate_reference_resolution_test.rb +0 -2
- 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/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/blood_pressure/blood_pressure_reference_resolution_test.rb +0 -2
- 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/body_height/body_height_reference_resolution_test.rb +0 -2
- 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_weight/body_weight_reference_resolution_test.rb +0 -2
- 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_team/care_team_reference_resolution_test.rb +0 -2
- 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_problems_health_concerns/condition_problems_health_concerns_reference_resolution_test.rb +0 -2
- 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/device/device_reference_resolution_test.rb +0 -2
- 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_note/diagnostic_report_note_reference_resolution_test.rb +0 -2
- 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/encounter/encounter_reference_resolution_test.rb +0 -2
- 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/head_circumference/head_circumference_reference_resolution_test.rb +0 -2
- 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/heart_rate/heart_rate_reference_resolution_test.rb +0 -2
- 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/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_request/medication_request_reference_resolution_test.rb +0 -2
- 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/observation_lab_reference_resolution_test.rb +0 -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/observation_pregnancyintent_reference_resolution_test.rb +0 -2
- 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/observation_screening_assessment_reference_resolution_test.rb +0 -2
- 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/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/pediatric_weight_for_height_reference_resolution_test.rb +0 -2
- 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/provenance_reference_resolution_test.rb +0 -2
- 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/questionnaire_response_reference_resolution_test.rb +0 -2
- 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/respiratory_rate_reference_resolution_test.rb +0 -2
- 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/simple_observation_reference_resolution_test.rb +0 -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/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/search_test_generator.rb +2 -2
- data/lib/us_core_test_kit/generator.rb +0 -6
- 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
@@ -1,11 +1,9 @@
|
|
1
1
|
require_relative '../../../reference_resolution_test'
|
2
|
-
require_relative '../resource_list'
|
3
2
|
|
4
3
|
module USCoreTestKit
|
5
4
|
module USCoreV610
|
6
5
|
class SpecimenReferenceResolutionTest < Inferno::Test
|
7
6
|
include USCoreTestKit::ReferenceResolutionTest
|
8
|
-
include ResourceList
|
9
7
|
|
10
8
|
title 'MustSupport references within Specimen resources are valid'
|
11
9
|
description %(
|
@@ -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
|
@@ -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.1
|
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-11-06 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
|