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