us_core_test_kit 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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