us_core_test_kit 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/us_core_test_kit/custom_groups/base_smart_granular_scopes_group.rb +87 -6
- data/lib/us_core_test_kit/custom_groups/smart_app_launch_group.rb +28 -6
- data/lib/us_core_test_kit/custom_groups/smart_ehr_launch_stu2_2.rb +40 -0
- data/lib/us_core_test_kit/custom_groups/smart_standalone_launch_stu2_2_group.rb +40 -0
- data/lib/us_core_test_kit/custom_groups/v3.1.1/capability_statement_group.rb +2 -2
- data/lib/us_core_test_kit/custom_groups/v3.1.1/{profile_support_test.rb → resource_support_test.rb} +1 -1
- data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_group.rb +3 -3
- data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_stu2_2_group.rb +16 -0
- data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_discovery_stu2_2_group.rb +11 -0
- data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +8 -2
- data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +8 -2
- data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +8 -2
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/diagnostic_report_note_must_support_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 -1
- data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/metadata.yml +0 -4
- data/lib/us_core_test_kit/generated/v6.1.0/metadata.yml +3 -16
- data/lib/us_core_test_kit/generated/v6.1.0/practitioner/metadata.yml +2 -6
- data/lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_address_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_must_support_test.rb +0 -6
- data/lib/us_core_test_kit/generated/v6.1.0/practitioner_group.rb +2 -0
- data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/metadata.yml +1 -6
- data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/smokingstatus_must_support_test.rb +1 -1
- data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +16 -3
- data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/diagnostic_report_note_must_support_test.rb +0 -2
- data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -1
- data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/metadata.yml +0 -4
- data/lib/us_core_test_kit/generated/v7.0.0/metadata.yml +2 -10
- data/lib/us_core_test_kit/generated/v7.0.0/practitioner/metadata.yml +2 -6
- data/lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_address_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_must_support_test.rb +0 -6
- data/lib/us_core_test_kit/generated/v7.0.0/practitioner_group.rb +2 -0
- data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +21 -5
- data/lib/us_core_test_kit/generator/group_generator.rb +1 -2
- data/lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_6.rb +23 -0
- data/lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb +5 -1
- data/lib/us_core_test_kit/generator/practitioner_address_test_generator.rb +68 -0
- data/lib/us_core_test_kit/generator/suite_generator.rb +15 -2
- data/lib/us_core_test_kit/generator.rb +6 -0
- data/lib/us_core_test_kit/must_support_test.rb +25 -22
- data/lib/us_core_test_kit/practitioner_address_test.rb +85 -0
- data/lib/us_core_test_kit/reference_resolution_test.rb +31 -23
- data/lib/us_core_test_kit/us_core_options.rb +9 -8
- data/lib/us_core_test_kit/version.rb +1 -1
- metadata +14 -6
|
@@ -119,36 +119,17 @@ module USCoreTestKit
|
|
|
119
119
|
return resource.contained.any? do |contained_resource|
|
|
120
120
|
contained_resource&.id == reference.reference_id &&
|
|
121
121
|
resource_is_valid_with_target_profile?(contained_resource, target_profile)
|
|
122
|
-
|
|
122
|
+
end
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
reference_type = reference.resource_type
|
|
126
126
|
reference_id = reference.reference_id
|
|
127
127
|
|
|
128
|
-
resolved_resource =
|
|
129
|
-
begin
|
|
130
|
-
if reference.relative?
|
|
131
|
-
begin
|
|
132
|
-
reference.resource_class
|
|
133
|
-
rescue NameError
|
|
134
|
-
return false
|
|
135
|
-
end
|
|
128
|
+
resolved_resource = resolve_reference(reference)
|
|
136
129
|
|
|
137
|
-
|
|
138
|
-
else
|
|
139
|
-
if reference.base_uri.chomp('/') == fhir_client.instance_variable_get(:@base_service_url).chomp('/')
|
|
140
|
-
fhir_read(reference_type, reference_id)&.resource
|
|
141
|
-
else
|
|
142
|
-
get(reference.reference)&.resource
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
rescue StandardError => e
|
|
146
|
-
Inferno::Application['logger'].error("Unable to resolve reference #{reference.reference}")
|
|
147
|
-
Inferno::Application['logger'].error(e.full_message)
|
|
148
|
-
return false
|
|
149
|
-
end
|
|
130
|
+
return false if resolved_resource.nil?
|
|
150
131
|
|
|
151
|
-
return false unless resolved_resource
|
|
132
|
+
return false unless resolved_resource.resourceType == reference_type && resolved_resource.id == reference_id
|
|
152
133
|
|
|
153
134
|
return false unless resource_is_valid_with_target_profile?(resolved_resource, target_profile)
|
|
154
135
|
|
|
@@ -156,6 +137,33 @@ module USCoreTestKit
|
|
|
156
137
|
true
|
|
157
138
|
end
|
|
158
139
|
|
|
140
|
+
def resolve_reference(reference)
|
|
141
|
+
reference_type = reference.resource_type
|
|
142
|
+
reference_id = reference.reference_id
|
|
143
|
+
|
|
144
|
+
begin
|
|
145
|
+
if reference.relative?
|
|
146
|
+
begin
|
|
147
|
+
reference.resource_class
|
|
148
|
+
rescue NameError
|
|
149
|
+
return nil
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
fhir_read(reference_type, reference_id)&.resource
|
|
153
|
+
else
|
|
154
|
+
if reference.base_uri.chomp('/') == fhir_client.instance_variable_get(:@base_service_url).chomp('/')
|
|
155
|
+
fhir_read(reference_type, reference_id)&.resource
|
|
156
|
+
else
|
|
157
|
+
get(reference.reference)&.resource
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
rescue StandardError => e
|
|
161
|
+
Inferno::Application['logger'].error("Unable to resolve reference #{reference.reference}")
|
|
162
|
+
Inferno::Application['logger'].error(e.full_message)
|
|
163
|
+
return nil
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
159
167
|
def resource_is_valid_with_target_profile?(resource, target_profile)
|
|
160
168
|
return true if target_profile.blank?
|
|
161
169
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
module USCoreTestKit
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
module USCoreOptions
|
|
3
|
+
SMART_1 = 'smart_app_launch_1'.freeze
|
|
4
|
+
SMART_2 = 'smart_app_launch_2'.freeze
|
|
5
|
+
SMART_2_2 = 'smart_app_launch_2_2'.freeze
|
|
6
|
+
|
|
7
|
+
SMART_1_REQUIREMENT = { smart_app_launch_version: SMART_1 }.freeze
|
|
8
|
+
SMART_2_REQUIREMENT = { smart_app_launch_version: SMART_2 }.freeze
|
|
9
|
+
SMART_2_2_REQUIREMENT = { smart_app_launch_version: SMART_2_2 }.freeze
|
|
9
10
|
end
|
|
10
|
-
|
|
11
|
+
end
|
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.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stephen MacVicar
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-11-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: inferno_core
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.4.
|
|
33
|
+
version: 0.4.6
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.4.
|
|
40
|
+
version: 0.4.6
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: tls_test_kit
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -131,13 +131,15 @@ files:
|
|
|
131
131
|
- lib/us_core_test_kit/custom_groups/smart_app_launch_group.rb
|
|
132
132
|
- lib/us_core_test_kit/custom_groups/smart_ehr_launch_stu1.rb
|
|
133
133
|
- lib/us_core_test_kit/custom_groups/smart_ehr_launch_stu2.rb
|
|
134
|
+
- lib/us_core_test_kit/custom_groups/smart_ehr_launch_stu2_2.rb
|
|
134
135
|
- lib/us_core_test_kit/custom_groups/smart_scopes_constants.rb
|
|
135
136
|
- lib/us_core_test_kit/custom_groups/smart_standalone_launch_stu1_group.rb
|
|
137
|
+
- lib/us_core_test_kit/custom_groups/smart_standalone_launch_stu2_2_group.rb
|
|
136
138
|
- lib/us_core_test_kit/custom_groups/smart_standalone_launch_stu2_group.rb
|
|
137
139
|
- lib/us_core_test_kit/custom_groups/smart_well_known_capabilities_test.rb
|
|
138
140
|
- lib/us_core_test_kit/custom_groups/v3.1.1/capability_statement_group.rb
|
|
139
141
|
- lib/us_core_test_kit/custom_groups/v3.1.1/clinical_notes_guidance_group.rb
|
|
140
|
-
- lib/us_core_test_kit/custom_groups/v3.1.1/
|
|
142
|
+
- lib/us_core_test_kit/custom_groups/v3.1.1/resource_support_test.rb
|
|
141
143
|
- lib/us_core_test_kit/custom_groups/v4.0.0/capability_statement_group.rb
|
|
142
144
|
- lib/us_core_test_kit/custom_groups/v4.0.0/clinical_notes_guidance_group.rb
|
|
143
145
|
- lib/us_core_test_kit/custom_groups/v4.0.0/document_reference_custodian_test.rb
|
|
@@ -148,6 +150,8 @@ files:
|
|
|
148
150
|
- lib/us_core_test_kit/custom_groups/v7.0.0/capability_statement_group.rb
|
|
149
151
|
- lib/us_core_test_kit/custom_groups/v7.0.0/screening_assessment_group.rb
|
|
150
152
|
- lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_group.rb
|
|
153
|
+
- lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_stu2_2_group.rb
|
|
154
|
+
- lib/us_core_test_kit/custom_groups/v7.0.0/smart_discovery_stu2_2_group.rb
|
|
151
155
|
- lib/us_core_test_kit/custom_groups/v7.0.0/smart_discovery_stu2_group.rb
|
|
152
156
|
- lib/us_core_test_kit/custom_groups/v7.0.0/smart_granular_scopes_group.rb
|
|
153
157
|
- lib/us_core_test_kit/date_search_validation.rb
|
|
@@ -1739,6 +1743,7 @@ files:
|
|
|
1739
1743
|
- lib/us_core_test_kit/generated/v6.1.0/pediatric_weight_for_height/pediatric_weight_for_height_validation_test.rb
|
|
1740
1744
|
- lib/us_core_test_kit/generated/v6.1.0/pediatric_weight_for_height_group.rb
|
|
1741
1745
|
- lib/us_core_test_kit/generated/v6.1.0/practitioner/metadata.yml
|
|
1746
|
+
- lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_address_test.rb
|
|
1742
1747
|
- lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_id_search_test.rb
|
|
1743
1748
|
- lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_identifier_search_test.rb
|
|
1744
1749
|
- lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_must_support_test.rb
|
|
@@ -2359,6 +2364,7 @@ files:
|
|
|
2359
2364
|
- lib/us_core_test_kit/generated/v7.0.0/pediatric_weight_for_height/pediatric_weight_for_height_validation_test.rb
|
|
2360
2365
|
- lib/us_core_test_kit/generated/v7.0.0/pediatric_weight_for_height_group.rb
|
|
2361
2366
|
- lib/us_core_test_kit/generated/v7.0.0/practitioner/metadata.yml
|
|
2367
|
+
- lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_address_test.rb
|
|
2362
2368
|
- lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_id_search_test.rb
|
|
2363
2369
|
- lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_identifier_search_test.rb
|
|
2364
2370
|
- lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_must_support_test.rb
|
|
@@ -2522,6 +2528,7 @@ files:
|
|
|
2522
2528
|
- lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb
|
|
2523
2529
|
- lib/us_core_test_kit/generator/must_support_test_generator.rb
|
|
2524
2530
|
- lib/us_core_test_kit/generator/naming.rb
|
|
2531
|
+
- lib/us_core_test_kit/generator/practitioner_address_test_generator.rb
|
|
2525
2532
|
- lib/us_core_test_kit/generator/provenance_revinclude_search_test_generator.rb
|
|
2526
2533
|
- lib/us_core_test_kit/generator/read_test_generator.rb
|
|
2527
2534
|
- lib/us_core_test_kit/generator/reference_resolution_test_generator.rb
|
|
@@ -2558,6 +2565,7 @@ files:
|
|
|
2558
2565
|
- lib/us_core_test_kit/igs/us_core_700/ValueSet-SmokingStatusType.json
|
|
2559
2566
|
- lib/us_core_test_kit/igs/us_core_700/ValueSet-servicerequest-category.json
|
|
2560
2567
|
- lib/us_core_test_kit/must_support_test.rb
|
|
2568
|
+
- lib/us_core_test_kit/practitioner_address_test.rb
|
|
2561
2569
|
- lib/us_core_test_kit/primitive_type.rb
|
|
2562
2570
|
- lib/us_core_test_kit/provenance_validator.rb
|
|
2563
2571
|
- lib/us_core_test_kit/read_test.rb
|
|
@@ -2590,7 +2598,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
2590
2598
|
- !ruby/object:Gem::Version
|
|
2591
2599
|
version: '0'
|
|
2592
2600
|
requirements: []
|
|
2593
|
-
rubygems_version: 3.5.
|
|
2601
|
+
rubygems_version: 3.5.7
|
|
2594
2602
|
signing_key:
|
|
2595
2603
|
specification_version: 4
|
|
2596
2604
|
summary: US Core Inferno tests
|