us_core_test_kit 0.9.2 → 0.10.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/inferno_reference_server_311_preset.json +66 -0
  3. data/config/presets/inferno_reference_server_400_preset.json +66 -0
  4. data/config/presets/inferno_reference_server_501_preset.json +66 -0
  5. data/config/presets/inferno_reference_server_610_preset.json +66 -0
  6. data/config/presets/inferno_reference_server_700_preset.json +66 -0
  7. data/lib/us_core_test_kit/custom_groups/smart_app_launch_group.rb +3 -3
  8. data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +18 -1
  9. data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +18 -1
  10. data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +18 -1
  11. data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope1_group.rb +1 -1
  12. data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope2_group.rb +1 -1
  13. data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope1_group.rb +1 -1
  14. data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope2_group.rb +1 -1
  15. data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +18 -1
  16. data/lib/us_core_test_kit/generated/v7.0.0/condition_granular_scope1_group.rb +1 -1
  17. data/lib/us_core_test_kit/generated/v7.0.0/condition_granular_scope2_group.rb +1 -1
  18. data/lib/us_core_test_kit/generated/v7.0.0/observation_granular_scope1_group.rb +1 -1
  19. data/lib/us_core_test_kit/generated/v7.0.0/observation_granular_scope2_group.rb +1 -1
  20. data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +18 -1
  21. data/lib/us_core_test_kit/generator/granular_scope_resource_type_group_generator.rb +1 -1
  22. data/lib/us_core_test_kit/generator/templates/granular_scope_group.rb.erb +41 -0
  23. data/lib/us_core_test_kit/generator/templates/granular_scope_read_test.rb.erb +29 -0
  24. data/lib/us_core_test_kit/generator/templates/granular_scope_resource_type_group.rb.erb +19 -0
  25. data/lib/us_core_test_kit/generator/templates/granular_scope_test.rb.erb +38 -0
  26. data/lib/us_core_test_kit/generator/templates/group.rb.erb +24 -0
  27. data/lib/us_core_test_kit/generator/templates/must_support.rb.erb +41 -0
  28. data/lib/us_core_test_kit/generator/templates/practitioner_address_test.rb.erb +32 -0
  29. data/lib/us_core_test_kit/generator/templates/provenance_revinclude_search.rb.erb +50 -0
  30. data/lib/us_core_test_kit/generator/templates/read.rb.erb +26 -0
  31. data/lib/us_core_test_kit/generator/templates/reference_resolution.rb.erb +40 -0
  32. data/lib/us_core_test_kit/generator/templates/search.rb.erb +46 -0
  33. data/lib/us_core_test_kit/generator/templates/suite.rb.erb +160 -0
  34. data/lib/us_core_test_kit/generator/templates/validation.rb.erb +31 -0
  35. data/lib/us_core_test_kit/igs/README.md +21 -0
  36. data/lib/us_core_test_kit/metadata.rb +70 -0
  37. data/lib/us_core_test_kit/reference_resolution_test.rb +1 -16
  38. data/lib/us_core_test_kit/version.rb +2 -1
  39. data/lib/us_core_test_kit.rb +1 -0
  40. metadata +31 -10
@@ -0,0 +1,70 @@
1
+ require_relative 'version'
2
+
3
+ module USCoreTestKit
4
+ class Metadata < Inferno::TestKit
5
+ id :us_core_test_kit
6
+ title 'US Core Test Kit'
7
+ description <<~DESCRIPTION
8
+ The US Core Test Kit validates the conformance of a server implementation to a specific
9
+ version of the [US Core IG](http://hl7.org/fhir/us/core). Currently, Inferno can test
10
+ against implementations of following versions of the US Core IG:
11
+ [v3.1.1](http://hl7.org/fhir/us/core/STU3.1.1/),
12
+ [v4.0.0](http://hl7.org/fhir/us/core/STU4/),
13
+ [v5.0.1](http://hl7.org/fhir/us/core/STU5.0.1/),
14
+ [v6.1.0](https://hl7.org/fhir/us/core/STU6.1/),
15
+ and
16
+ [v7.0.0](https://hl7.org/fhir/us/core/STU7/).
17
+ <!-- break -->
18
+
19
+ This test kit is [open source](https://github.com/inferno-framework/us-core-test-kit#license)
20
+ and freely available for use or adoption by the health IT community including EHR vendors,
21
+ health app developers, and testing labs. It is built using the
22
+ [Inferno Framework](https://inferno-framework.github.io/inferno-core/).
23
+ The Inferno Framework is designed for reuse and aims to make it easier to build test kits
24
+ for any FHIR-based data exchange.
25
+
26
+ ## Status
27
+
28
+ The US Core Test Kit is actively developed and regularly updated. Starting with STU3,
29
+ each STU sequence is kept up-to-date with the latest version.
30
+
31
+ The test kit currently tests the following requirements:
32
+
33
+ - Support for Capability Statement
34
+ - Support for all US Core Profiles
35
+ - Searches required for each resource
36
+ - Support for Must Support Elements
37
+ - Profile Validation
38
+ - Reference Validation
39
+ - Clinical Notes Guidance
40
+ - Missing Data Guidance
41
+
42
+ See the test descriptions within the test kit for detail on the specific validations
43
+ performed as part of testing these requirements.
44
+
45
+ ## Repository
46
+
47
+ The US Core Test Kit GitHub repository can be [found here](https://github.com/inferno-framework/us-core-test-kit).
48
+
49
+ ## Providing Feedback and Reporting Issues
50
+
51
+ We welcome feedback on the tests, including but not limited to the following areas:
52
+
53
+ - Validation logic, such as potential bugs, lax checks, and unexpected failures.
54
+ - Requirements coverage, such as requirements that have been missed, tests that necessitate
55
+ features that the IG does not require, or other issues with the interpretation of the IG’s requirements.
56
+ - User experience, such as confusing or missing information in the test UI.
57
+
58
+ Please report any issues with this set of tests in the
59
+ [issues section](https://github.com/inferno-framework/us-core-test-kit/issues)
60
+ of the repository.
61
+ DESCRIPTION
62
+ suite_ids [:us_core_v311, :us_core_v400, :us_core_v501, :us_core_v610, :us_core_v700]
63
+ tags ['SMART App Launch', 'US Core']
64
+ last_updated LAST_UPDATED
65
+ version VERSION
66
+ maturity 'High'
67
+ authors ['Stephen MacVicar', 'Yunwei Wang']
68
+ repo 'https://github.com/inferno-framework/us-core-test-kit'
69
+ end
70
+ end
@@ -167,22 +167,7 @@ module USCoreTestKit
167
167
  def resource_is_valid_with_target_profile?(resource, target_profile)
168
168
  return true if target_profile.blank?
169
169
 
170
- # Only need to know if the resource is valid.
171
- # Calling resource_is_valid? causes validation errors to be logged.
172
- validator = find_validator(:default)
173
-
174
- target_profile_with_version = target_profile.include?('|') ? target_profile : "#{target_profile}|#{metadata.profile_version}"
175
-
176
- validator_response = validator.validate(resource, target_profile_with_version)
177
- outcome = validator.operation_outcome_from_hl7_wrapped_response(validator_response)
178
-
179
- message_hashes = outcome.issue&.map { |issue| validator.message_hash_from_issue(issue, resource) } || []
180
-
181
- message_hashes.concat(validator.additional_validation_messages(resource, target_profile_with_version))
182
-
183
- validator.filter_messages(message_hashes)
184
-
185
- message_hashes.none? { |message_hash| message_hash[:type] == 'error' }
170
+ resource_is_valid?(resource:, profile_url: target_profile, add_messages_to_runnable: false)
186
171
  end
187
172
  end
188
173
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module USCoreTestKit
4
- VERSION = '0.9.2'
4
+ VERSION = '0.10.0'
5
+ LAST_UPDATED = '2024-02-10'
5
6
  end
@@ -1,3 +1,4 @@
1
+ require_relative 'us_core_test_kit/metadata'
1
2
  require_relative 'us_core_test_kit/generated/v3.1.1/us_core_test_suite'
2
3
  require_relative 'us_core_test_kit/generated/v4.0.0/us_core_test_suite'
3
4
  require_relative 'us_core_test_kit/generated/v5.0.1/us_core_test_suite'
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.9.2
4
+ version: 0.10.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-19 00:00:00.000000000 Z
11
+ date: 2025-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.0
19
+ version: 0.6.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.5.0
26
+ version: 0.6.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: smart_app_launch_test_kit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.4.6
33
+ version: 0.5.0
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.6
40
+ version: 0.5.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: tls_test_kit
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.2.0
47
+ version: 0.3.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.2.0
54
+ version: 0.3.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: database_cleaner-sequel
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +116,11 @@ extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
118
  - LICENSE
119
+ - config/presets/inferno_reference_server_311_preset.json
120
+ - config/presets/inferno_reference_server_400_preset.json
121
+ - config/presets/inferno_reference_server_501_preset.json
122
+ - config/presets/inferno_reference_server_610_preset.json
123
+ - config/presets/inferno_reference_server_700_preset.json
119
124
  - lib/us_core_test_kit.rb
120
125
  - lib/us_core_test_kit/custom_groups/base_smart_granular_scopes_group.rb
121
126
  - lib/us_core_test_kit/custom_groups/capability_statement/conformance_support_test.rb
@@ -2537,12 +2542,26 @@ files:
2537
2542
  - lib/us_core_test_kit/generator/search_test_generator.rb
2538
2543
  - lib/us_core_test_kit/generator/special_cases.rb
2539
2544
  - lib/us_core_test_kit/generator/suite_generator.rb
2545
+ - lib/us_core_test_kit/generator/templates/granular_scope_group.rb.erb
2546
+ - lib/us_core_test_kit/generator/templates/granular_scope_read_test.rb.erb
2547
+ - lib/us_core_test_kit/generator/templates/granular_scope_resource_type_group.rb.erb
2548
+ - lib/us_core_test_kit/generator/templates/granular_scope_test.rb.erb
2549
+ - lib/us_core_test_kit/generator/templates/group.rb.erb
2550
+ - lib/us_core_test_kit/generator/templates/must_support.rb.erb
2551
+ - lib/us_core_test_kit/generator/templates/practitioner_address_test.rb.erb
2552
+ - lib/us_core_test_kit/generator/templates/provenance_revinclude_search.rb.erb
2553
+ - lib/us_core_test_kit/generator/templates/read.rb.erb
2554
+ - lib/us_core_test_kit/generator/templates/reference_resolution.rb.erb
2555
+ - lib/us_core_test_kit/generator/templates/search.rb.erb
2556
+ - lib/us_core_test_kit/generator/templates/suite.rb.erb
2557
+ - lib/us_core_test_kit/generator/templates/validation.rb.erb
2540
2558
  - lib/us_core_test_kit/generator/terminology_binding_metadata_extractor.rb
2541
2559
  - lib/us_core_test_kit/generator/validation_test_generator.rb
2542
2560
  - lib/us_core_test_kit/generator/value_extractor.rb
2543
2561
  - lib/us_core_test_kit/granular_scope.rb
2544
2562
  - lib/us_core_test_kit/granular_scope_read_test.rb
2545
2563
  - lib/us_core_test_kit/granular_scope_search_test.rb
2564
+ - lib/us_core_test_kit/igs/README.md
2546
2565
  - lib/us_core_test_kit/igs/us_core_311.tgz
2547
2566
  - lib/us_core_test_kit/igs/us_core_311/StructureDefinition-bodyheight.json
2548
2567
  - lib/us_core_test_kit/igs/us_core_311/StructureDefinition-bodytemp.json
@@ -2564,6 +2583,7 @@ files:
2564
2583
  - lib/us_core_test_kit/igs/us_core_700/StructureDefinition-condition-assertedDate.json
2565
2584
  - lib/us_core_test_kit/igs/us_core_700/ValueSet-SmokingStatusType.json
2566
2585
  - lib/us_core_test_kit/igs/us_core_700/ValueSet-servicerequest-category.json
2586
+ - lib/us_core_test_kit/metadata.rb
2567
2587
  - lib/us_core_test_kit/must_support_test.rb
2568
2588
  - lib/us_core_test_kit/practitioner_address_test.rb
2569
2589
  - lib/us_core_test_kit/primitive_type.rb
@@ -2581,6 +2601,7 @@ homepage: https://github.com/inferno-framework/us-core-test-kit
2581
2601
  licenses:
2582
2602
  - Apache-2.0
2583
2603
  metadata:
2604
+ inferno_test_kit: 'true'
2584
2605
  homepage_uri: https://github.com/inferno-framework/us-core-test-kit
2585
2606
  source_code_uri: https://github.com/inferno-framework/us-core-test-kit
2586
2607
  post_install_message:
@@ -2591,14 +2612,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
2591
2612
  requirements:
2592
2613
  - - ">="
2593
2614
  - !ruby/object:Gem::Version
2594
- version: 3.1.2
2615
+ version: 3.3.6
2595
2616
  required_rubygems_version: !ruby/object:Gem::Requirement
2596
2617
  requirements:
2597
2618
  - - ">="
2598
2619
  - !ruby/object:Gem::Version
2599
2620
  version: '0'
2600
2621
  requirements: []
2601
- rubygems_version: 3.5.7
2622
+ rubygems_version: 3.5.22
2602
2623
  signing_key:
2603
2624
  specification_version: 4
2604
2625
  summary: US Core Inferno tests