onc_certification_g10_test_kit 3.4.0 → 3.5.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/onc_certification_g10_test_kit/bulk_data_group_export_stu1.rb +4 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu2.rb +29 -4
- data/lib/onc_certification_g10_test_kit/configuration_checker.rb +1 -1
- data/lib/onc_certification_g10_test_kit/onc_program_procedure.yml +1 -0
- data/lib/onc_certification_g10_test_kit/patient_scope_test.rb +6 -2
- data/lib/onc_certification_g10_test_kit/short_id_map.yml +1 -0
- data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +46 -0
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +46 -0
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +48 -0
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +1 -0
- data/lib/onc_certification_g10_test_kit/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86895a228600bf6b7def9bed5d5ec4a1097ecf51ab0894c270329bfbd59ddc7e
|
4
|
+
data.tar.gz: c8ddb8549f55dbc1919e8e93464b622bdf26cd5b854ff605658ebb4ecd603267
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 509654b9a9278a4d6d43665798ede7d41844fbbd35dd4073579f3a7a5b45a1036917f331b3fabb3453e9f7cead391a15cd82d98bc9ef5e618a9ec55b8c2395c1
|
7
|
+
data.tar.gz: aeb3ecce391706bb755b16f8af66a95d5cddd934e85d0dd5035280f9eef34955c77800007175ccbb9c6820aebc104e72b49b3e9eaa636992e757a6a7558c125c
|
@@ -286,10 +286,14 @@ module ONCCertificationG10TestKit
|
|
286
286
|
|
287
287
|
include ExportKickOffPerformer
|
288
288
|
|
289
|
+
output :cancelled_polling_url
|
290
|
+
|
289
291
|
run do
|
290
292
|
perform_export_kick_off_request
|
291
293
|
assert_response_status(202)
|
292
294
|
|
295
|
+
output cancelled_polling_url: request.response_header('content-location')&.value
|
296
|
+
|
293
297
|
delete_export_kick_off_request
|
294
298
|
end
|
295
299
|
end
|
@@ -26,10 +26,6 @@ module ONCCertificationG10TestKit
|
|
26
26
|
|
27
27
|
input :bearer_token, :group_id, :bulk_server_url
|
28
28
|
|
29
|
-
http_client :bulk_server do
|
30
|
-
url :bulk_server_url
|
31
|
-
end
|
32
|
-
|
33
29
|
run do
|
34
30
|
['application/fhir+ndjson', 'application/ndjson', 'ndjson'].each do |format|
|
35
31
|
perform_export_kick_off_request(params: { _outputFormat: format })
|
@@ -39,5 +35,34 @@ module ONCCertificationG10TestKit
|
|
39
35
|
end
|
40
36
|
end
|
41
37
|
end
|
38
|
+
|
39
|
+
test do
|
40
|
+
title 'Bulk Data Server returns a 404 and OperationOutcome for polling requests to cancelled exports'
|
41
|
+
description <<~DESCRIPTION
|
42
|
+
> Following the delete request, when subsequent requests are made to the
|
43
|
+
polling location, the server SHALL return a 404 Not Found error and an
|
44
|
+
associated FHIR OperationOutcome in JSON format.
|
45
|
+
|
46
|
+
http://hl7.org/fhir/uv/bulkdata/STU2/export.html#bulk-data-delete-request
|
47
|
+
DESCRIPTION
|
48
|
+
|
49
|
+
id :bulk_data_poll_cancelled_export
|
50
|
+
|
51
|
+
input :cancelled_polling_url
|
52
|
+
|
53
|
+
run do
|
54
|
+
skip 'No polling url available' unless cancelled_polling_url.present?
|
55
|
+
|
56
|
+
get(cancelled_polling_url, headers: { authorization: "Bearer #{bearer_token}", accept: 'application/json' })
|
57
|
+
|
58
|
+
assert_response_status(404)
|
59
|
+
|
60
|
+
assert_valid_json(response[:body])
|
61
|
+
response_body = JSON.parse(response[:body])
|
62
|
+
|
63
|
+
assert response_body['resourceType'] == 'OperationOutcome', 'Server did not return an OperationOutcome'
|
64
|
+
assert_valid_resource(resource: FHIR::OperationOutcome.new(response_body))
|
65
|
+
end
|
66
|
+
end
|
42
67
|
end
|
43
68
|
end
|
@@ -2,7 +2,7 @@ require_relative '../inferno/terminology/tasks/check_built_terminology'
|
|
2
2
|
|
3
3
|
module ONCCertificationG10TestKit
|
4
4
|
class ConfigurationChecker
|
5
|
-
EXPECTED_VALIDATOR_VERSION = '2.2.
|
5
|
+
EXPECTED_VALIDATOR_VERSION = '2.2.1'.freeze
|
6
6
|
|
7
7
|
def configuration_messages
|
8
8
|
validator_version_message + terminology_messages + version_message
|
@@ -3,11 +3,15 @@ module ONCCertificationG10TestKit
|
|
3
3
|
title 'Patient-level scopes were granted'
|
4
4
|
description %(
|
5
5
|
Systems are required to support the `permission-patient` capability as
|
6
|
-
part of the
|
7
|
-
Set.](http://hl7.org/fhir/smart-app-launch/1.0.0/conformance/index.html#clinician-access-for-ehr-launch)
|
6
|
+
part of the Clinician Access for EHR Launch Capability Set.
|
8
7
|
|
9
8
|
This test verifies that systems are capable of granting patient-level
|
10
9
|
scopes during an EHR Launch.
|
10
|
+
|
11
|
+
* [Clinician Access for EHR Launch Capability Set STU
|
12
|
+
1](http://hl7.org/fhir/smart-app-launch/1.0.0/conformance/index.html#clinician-access-for-ehr-launch)
|
13
|
+
* [Clinician Access for EHR Launch Capability Set STU
|
14
|
+
2](http://hl7.org/fhir/smart-app-launch/STU2/conformance.html#clinician-access-for-ehr-launch)
|
11
15
|
)
|
12
16
|
id :g10_patient_scope
|
13
17
|
input :received_scopes
|
@@ -1414,6 +1414,7 @@ g10_certification-multi_patient_api_stu2-bulk_data_group_export_stu2-Test05: 8.2
|
|
1414
1414
|
g10_certification-multi_patient_api_stu2-bulk_data_group_export_stu2-Test06: 8.2.06
|
1415
1415
|
g10_certification-multi_patient_api_stu2-bulk_data_group_export_stu2-Test07: 8.2.07
|
1416
1416
|
g10_certification-multi_patient_api_stu2-bulk_data_group_export_stu2-output_format_in_export_response: 8.2.08
|
1417
|
+
g10_certification-multi_patient_api_stu2-bulk_data_group_export_stu2-bulk_data_poll_cancelled_export: 8.2.09
|
1417
1418
|
g10_certification-multi_patient_api_stu2-g10_bulk_group_export_tls_messages_setup: '8.02'
|
1418
1419
|
g10_certification-multi_patient_api_stu2-bulk_data_group_export_validation: '8.3'
|
1419
1420
|
g10_certification-multi_patient_api_stu2-bulk_data_group_export_validation-g10_bulk_file_server_tls_version: 8.3.01
|
@@ -53,6 +53,30 @@ module ONCCertificationG10TestKit
|
|
53
53
|
|
54
54
|
input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
|
55
55
|
|
56
|
+
config(
|
57
|
+
options: {
|
58
|
+
required_resources: [
|
59
|
+
'Patient',
|
60
|
+
'AllergyIntolerance',
|
61
|
+
'CarePlan',
|
62
|
+
'CareTeam',
|
63
|
+
'Condition',
|
64
|
+
'Device',
|
65
|
+
'DiagnosticReport',
|
66
|
+
'DocumentReference',
|
67
|
+
'Goal',
|
68
|
+
'Immunization',
|
69
|
+
'MedicationRequest',
|
70
|
+
'Observation',
|
71
|
+
'Procedure',
|
72
|
+
'Encounter',
|
73
|
+
'Organization',
|
74
|
+
'Practitioner',
|
75
|
+
'Provenance'
|
76
|
+
]
|
77
|
+
}
|
78
|
+
)
|
79
|
+
|
56
80
|
test do
|
57
81
|
id :g10_patient_id_setup
|
58
82
|
title 'Manage patient id list'
|
@@ -95,6 +119,28 @@ module ONCCertificationG10TestKit
|
|
95
119
|
group(from: id, exclude_optional: true, config: group_config)
|
96
120
|
end
|
97
121
|
|
122
|
+
groups.first.description %(
|
123
|
+
The Capability Statement test verifies a FHIR server's ability support the
|
124
|
+
[capabilities
|
125
|
+
operation](https://www.hl7.org/fhir/R4/capabilitystatement.html#instance)
|
126
|
+
to formally describe features supported by the API as a [Capability
|
127
|
+
Statement](https://www.hl7.org/fhir/R4/capabilitystatement.html) resource.
|
128
|
+
The capabilities described in the Capability Statement must be consistent with
|
129
|
+
the required capabilities of a US Core server. This test also expects that
|
130
|
+
APIs state support for all resources types applicable to USCDI v1, as is
|
131
|
+
expected by the ONC (g)(10) Standardized API for Patient and Populations
|
132
|
+
Services certification criterion.
|
133
|
+
|
134
|
+
This test sequence accesses the server endpoint at `/metadata` using a
|
135
|
+
`GET` request. It parses the Capability Statement and verifies that:
|
136
|
+
|
137
|
+
* The endpoint is secured by an appropriate cryptographic protocol
|
138
|
+
* The resource matches the expected FHIR version defined by the tests
|
139
|
+
* The resource is a valid FHIR resource
|
140
|
+
* The server claims support for JSON encoding of resources
|
141
|
+
* The server claims support for all required USCDI resource types
|
142
|
+
)
|
143
|
+
|
98
144
|
test from: :g10_incorrectly_permitted_tls_versions_messages_setup
|
99
145
|
end
|
100
146
|
end
|
@@ -53,6 +53,30 @@ module ONCCertificationG10TestKit
|
|
53
53
|
|
54
54
|
input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
|
55
55
|
|
56
|
+
config(
|
57
|
+
options: {
|
58
|
+
required_resources: [
|
59
|
+
'Patient',
|
60
|
+
'AllergyIntolerance',
|
61
|
+
'CarePlan',
|
62
|
+
'CareTeam',
|
63
|
+
'Condition',
|
64
|
+
'Device',
|
65
|
+
'DiagnosticReport',
|
66
|
+
'DocumentReference',
|
67
|
+
'Goal',
|
68
|
+
'Immunization',
|
69
|
+
'MedicationRequest',
|
70
|
+
'Observation',
|
71
|
+
'Procedure',
|
72
|
+
'Encounter',
|
73
|
+
'Organization',
|
74
|
+
'Practitioner',
|
75
|
+
'Provenance'
|
76
|
+
]
|
77
|
+
}
|
78
|
+
)
|
79
|
+
|
56
80
|
test do
|
57
81
|
id :g10_patient_id_setup
|
58
82
|
title 'Manage patient id list'
|
@@ -95,6 +119,28 @@ module ONCCertificationG10TestKit
|
|
95
119
|
group(from: id, exclude_optional: true, config: group_config)
|
96
120
|
end
|
97
121
|
|
122
|
+
groups.first.description %(
|
123
|
+
The Capability Statement test verifies a FHIR server's ability support the
|
124
|
+
[capabilities
|
125
|
+
operation](https://www.hl7.org/fhir/R4/capabilitystatement.html#instance)
|
126
|
+
to formally describe features supported by the API as a [Capability
|
127
|
+
Statement](https://www.hl7.org/fhir/R4/capabilitystatement.html) resource.
|
128
|
+
The capabilities described in the Capability Statement must be consistent with
|
129
|
+
the required capabilities of a US Core server. This test also expects that
|
130
|
+
APIs state support for all resources types applicable to USCDI v1, as is
|
131
|
+
expected by the ONC (g)(10) Standardized API for Patient and Populations
|
132
|
+
Services certification criterion.
|
133
|
+
|
134
|
+
This test sequence accesses the server endpoint at `/metadata` using a
|
135
|
+
`GET` request. It parses the Capability Statement and verifies that:
|
136
|
+
|
137
|
+
* The endpoint is secured by an appropriate cryptographic protocol
|
138
|
+
* The resource matches the expected FHIR version defined by the tests
|
139
|
+
* The resource is a valid FHIR resource
|
140
|
+
* The server claims support for JSON encoding of resources
|
141
|
+
* The server claims support for all required USCDI resource types
|
142
|
+
)
|
143
|
+
|
98
144
|
test from: :g10_incorrectly_permitted_tls_versions_messages_setup
|
99
145
|
end
|
100
146
|
end
|
@@ -53,6 +53,32 @@ module ONCCertificationG10TestKit
|
|
53
53
|
|
54
54
|
input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
|
55
55
|
|
56
|
+
config(
|
57
|
+
options: {
|
58
|
+
required_resources: [
|
59
|
+
'Patient',
|
60
|
+
'AllergyIntolerance',
|
61
|
+
'CarePlan',
|
62
|
+
'CareTeam',
|
63
|
+
'Condition',
|
64
|
+
'Device',
|
65
|
+
'DiagnosticReport',
|
66
|
+
'DocumentReference',
|
67
|
+
'Encounter',
|
68
|
+
'Goal',
|
69
|
+
'Immunization',
|
70
|
+
'MedicationRequest',
|
71
|
+
'Observation',
|
72
|
+
'Procedure',
|
73
|
+
'ServiceRequest',
|
74
|
+
'Organization',
|
75
|
+
'Practitioner',
|
76
|
+
'Provenance',
|
77
|
+
'RelatedPerson'
|
78
|
+
]
|
79
|
+
}
|
80
|
+
)
|
81
|
+
|
56
82
|
test do
|
57
83
|
id :g10_patient_id_setup
|
58
84
|
title 'Manage patient id list'
|
@@ -95,6 +121,28 @@ module ONCCertificationG10TestKit
|
|
95
121
|
group(from: id, exclude_optional: true, config: group_config)
|
96
122
|
end
|
97
123
|
|
124
|
+
groups.first.description %(
|
125
|
+
The Capability Statement test verifies a FHIR server's ability support the
|
126
|
+
[capabilities
|
127
|
+
operation](https://www.hl7.org/fhir/R4/capabilitystatement.html#instance)
|
128
|
+
to formally describe features supported by the API as a [Capability
|
129
|
+
Statement](https://www.hl7.org/fhir/R4/capabilitystatement.html) resource.
|
130
|
+
The capabilities described in the Capability Statement must be consistent with
|
131
|
+
the required capabilities of a US Core server. This test also expects that
|
132
|
+
APIs state support for all resources types applicable to USCDI v2, as is
|
133
|
+
expected by the ONC (g)(10) Standardized API for Patient and Populations
|
134
|
+
Services certification criterion.
|
135
|
+
|
136
|
+
This test sequence accesses the server endpoint at `/metadata` using a
|
137
|
+
`GET` request. It parses the Capability Statement and verifies that:
|
138
|
+
|
139
|
+
* The endpoint is secured by an appropriate cryptographic protocol
|
140
|
+
* The resource matches the expected FHIR version defined by the tests
|
141
|
+
* The resource is a valid FHIR resource
|
142
|
+
* The server claims support for JSON encoding of resources
|
143
|
+
* The server claims support for all required USCDI resource types
|
144
|
+
)
|
145
|
+
|
98
146
|
test from: :g10_incorrectly_permitted_tls_versions_messages_setup
|
99
147
|
end
|
100
148
|
end
|
@@ -28,7 +28,7 @@ module ONCCertificationG10TestKit
|
|
28
28
|
For more information on the #{title}
|
29
29
|
|
30
30
|
* [Apps that launch from the
|
31
|
-
EHR](http://hl7.org/fhir/smart-app-launch/
|
31
|
+
EHR](http://hl7.org/fhir/smart-app-launch/1.0.0/scopes-and-launch-context/index.html#apps-that-launch-from-the-ehr)
|
32
32
|
)
|
33
33
|
id :g10_ehr_patient_launch
|
34
34
|
run_as_group
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onc_certification_g10_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.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: 2023-
|
11
|
+
date: 2023-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bloomer
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.4.
|
47
|
+
version: 0.4.8
|
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.4.
|
54
|
+
version: 0.4.8
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: json-jwt
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.2.
|
117
|
+
version: 0.2.2
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.2.
|
124
|
+
version: 0.2.2
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: tls_test_kit
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,14 +142,14 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.4.
|
145
|
+
version: 0.4.5
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.4.
|
152
|
+
version: 0.4.5
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: database_cleaner-sequel
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|