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.
- checksums.yaml +4 -4
- data/config/presets/inferno_reference_server_311_preset.json +66 -0
- data/config/presets/inferno_reference_server_400_preset.json +66 -0
- data/config/presets/inferno_reference_server_501_preset.json +66 -0
- data/config/presets/inferno_reference_server_610_preset.json +66 -0
- data/config/presets/inferno_reference_server_700_preset.json +66 -0
- data/lib/us_core_test_kit/custom_groups/smart_app_launch_group.rb +3 -3
- data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope1_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope2_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope1_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope2_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v7.0.0/condition_granular_scope1_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v7.0.0/condition_granular_scope2_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v7.0.0/observation_granular_scope1_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v7.0.0/observation_granular_scope2_group.rb +1 -1
- data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generator/granular_scope_resource_type_group_generator.rb +1 -1
- data/lib/us_core_test_kit/generator/templates/granular_scope_group.rb.erb +41 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_read_test.rb.erb +29 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_resource_type_group.rb.erb +19 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_test.rb.erb +38 -0
- data/lib/us_core_test_kit/generator/templates/group.rb.erb +24 -0
- data/lib/us_core_test_kit/generator/templates/must_support.rb.erb +41 -0
- data/lib/us_core_test_kit/generator/templates/practitioner_address_test.rb.erb +32 -0
- data/lib/us_core_test_kit/generator/templates/provenance_revinclude_search.rb.erb +50 -0
- data/lib/us_core_test_kit/generator/templates/read.rb.erb +26 -0
- data/lib/us_core_test_kit/generator/templates/reference_resolution.rb.erb +40 -0
- data/lib/us_core_test_kit/generator/templates/search.rb.erb +46 -0
- data/lib/us_core_test_kit/generator/templates/suite.rb.erb +160 -0
- data/lib/us_core_test_kit/generator/templates/validation.rb.erb +31 -0
- data/lib/us_core_test_kit/igs/README.md +21 -0
- data/lib/us_core_test_kit/metadata.rb +70 -0
- data/lib/us_core_test_kit/reference_resolution_test.rb +1 -16
- data/lib/us_core_test_kit/version.rb +2 -1
- data/lib/us_core_test_kit.rb +1 -0
- 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
|
-
|
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
|
data/lib/us_core_test_kit.rb
CHANGED
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.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:
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
2622
|
+
rubygems_version: 3.5.22
|
2602
2623
|
signing_key:
|
2603
2624
|
specification_version: 4
|
2604
2625
|
summary: US Core Inferno tests
|