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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/us_core_test_kit/custom_groups/base_smart_granular_scopes_group.rb +87 -6
  3. data/lib/us_core_test_kit/custom_groups/smart_app_launch_group.rb +28 -6
  4. data/lib/us_core_test_kit/custom_groups/smart_ehr_launch_stu2_2.rb +40 -0
  5. data/lib/us_core_test_kit/custom_groups/smart_standalone_launch_stu2_2_group.rb +40 -0
  6. data/lib/us_core_test_kit/custom_groups/v3.1.1/capability_statement_group.rb +2 -2
  7. data/lib/us_core_test_kit/custom_groups/v3.1.1/{profile_support_test.rb → resource_support_test.rb} +1 -1
  8. data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_group.rb +3 -3
  9. data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_app_launch_stu2_2_group.rb +16 -0
  10. data/lib/us_core_test_kit/custom_groups/v7.0.0/smart_discovery_stu2_2_group.rb +11 -0
  11. data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +8 -2
  12. data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +8 -2
  13. data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +8 -2
  14. data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/diagnostic_report_note_must_support_test.rb +0 -2
  15. data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -1
  16. data/lib/us_core_test_kit/generated/v6.1.0/diagnostic_report_note/metadata.yml +0 -4
  17. data/lib/us_core_test_kit/generated/v6.1.0/metadata.yml +3 -16
  18. data/lib/us_core_test_kit/generated/v6.1.0/practitioner/metadata.yml +2 -6
  19. data/lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_address_test.rb +32 -0
  20. data/lib/us_core_test_kit/generated/v6.1.0/practitioner/practitioner_must_support_test.rb +0 -6
  21. data/lib/us_core_test_kit/generated/v6.1.0/practitioner_group.rb +2 -0
  22. data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/metadata.yml +1 -6
  23. data/lib/us_core_test_kit/generated/v6.1.0/smokingstatus/smokingstatus_must_support_test.rb +1 -1
  24. data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +16 -3
  25. data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/diagnostic_report_note_must_support_test.rb +0 -2
  26. data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +0 -1
  27. data/lib/us_core_test_kit/generated/v7.0.0/diagnostic_report_note/metadata.yml +0 -4
  28. data/lib/us_core_test_kit/generated/v7.0.0/metadata.yml +2 -10
  29. data/lib/us_core_test_kit/generated/v7.0.0/practitioner/metadata.yml +2 -6
  30. data/lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_address_test.rb +32 -0
  31. data/lib/us_core_test_kit/generated/v7.0.0/practitioner/practitioner_must_support_test.rb +0 -6
  32. data/lib/us_core_test_kit/generated/v7.0.0/practitioner_group.rb +2 -0
  33. data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +21 -5
  34. data/lib/us_core_test_kit/generator/group_generator.rb +1 -2
  35. data/lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_6.rb +23 -0
  36. data/lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb +5 -1
  37. data/lib/us_core_test_kit/generator/practitioner_address_test_generator.rb +68 -0
  38. data/lib/us_core_test_kit/generator/suite_generator.rb +15 -2
  39. data/lib/us_core_test_kit/generator.rb +6 -0
  40. data/lib/us_core_test_kit/must_support_test.rb +25 -22
  41. data/lib/us_core_test_kit/practitioner_address_test.rb +85 -0
  42. data/lib/us_core_test_kit/reference_resolution_test.rb +31 -23
  43. data/lib/us_core_test_kit/us_core_options.rb +9 -8
  44. data/lib/us_core_test_kit/version.rb +1 -1
  45. 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
- end
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
- fhir_read(reference_type, reference_id)&.resource
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&.resourceType == reference_type && resolved_resource&.id == reference_id
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
- module USCoreOptions
3
- SMART_1 = 'smart_app_launch_1'.freeze
4
- SMART_2 = 'smart_app_launch_2'.freeze
5
-
6
- SMART_1_REQUIREMENT = { smart_app_launch_version: SMART_1 }.freeze
7
- SMART_2_REQUIREMENT = { smart_app_launch_version: SMART_2 }.freeze
8
- end
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module USCoreTestKit
4
- VERSION = '0.8.1'
4
+ VERSION = '0.9.0'
5
5
  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.8.1
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-09-06 00:00:00.000000000 Z
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.0
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.0
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/profile_support_test.rb
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.9
2601
+ rubygems_version: 3.5.7
2594
2602
  signing_key:
2595
2603
  specification_version: 4
2596
2604
  summary: US Core Inferno tests