onc_certification_g10_test_kit 7.0.2 → 7.1.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/config/presets/g10_reference_server_preset.json +1291 -0
- data/lib/inferno/ext/bloomer.rb +1 -1
- data/lib/inferno/terminology/tasks/process_umls.rb +1 -1
- data/lib/onc_certification_g10_test_kit/bulk_data_authorization.rb +4 -4
- data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +3 -3
- data/lib/onc_certification_g10_test_kit/configuration_checker.rb +5 -13
- data/lib/onc_certification_g10_test_kit/feature.rb +5 -4
- data/lib/onc_certification_g10_test_kit/igs/01-us-core-v400.tgz +0 -0
- data/lib/onc_certification_g10_test_kit/igs/03-us-core-v311.tgz +0 -0
- data/lib/onc_certification_g10_test_kit/igs/04-us-core-610.tgz +0 -0
- data/lib/onc_certification_g10_test_kit/metadata.rb +103 -0
- data/lib/onc_certification_g10_test_kit/onc_program_procedure.yml +908 -134
- data/lib/onc_certification_g10_test_kit/patient_scope_test.rb +1 -1
- 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 +17 -16
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +17 -16
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +17 -16
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +19 -18
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_7_api_group.rb +19 -18
- data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2_2.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +4 -4
- data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group_stu2_2.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group_stu2_2.rb +1 -1
- data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +4 -4
- data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +6 -6
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +3 -3
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +3 -3
- data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +3 -3
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2_2.rb +2 -2
- data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +28 -2
- data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +2 -2
- data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +1 -1
- data/lib/onc_certification_g10_test_kit/urls.rb +4 -0
- data/lib/onc_certification_g10_test_kit/version.rb +2 -1
- data/lib/onc_certification_g10_test_kit.rb +15 -25
- metadata +19 -68
@@ -22,7 +22,7 @@ module ONCCertificationG10TestKit
|
|
22
22
|
|
23
23
|
run do
|
24
24
|
expected_scopes =
|
25
|
-
if
|
25
|
+
if [:v2, :v22].include?(scope_version)
|
26
26
|
[
|
27
27
|
Regexp.new(scope_regex_string('patient/Patient.rs').gsub('.rs', '.r?s')),
|
28
28
|
Regexp.new(scope_regex_string('patient/Patient.rs').gsub('.rs', '.rs?'))
|
@@ -6,6 +6,7 @@ g10_certification-g10_smart_standalone_patient_app-smart_discovery-Test02: 1.1.0
|
|
6
6
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery-Test03: 1.1.03
|
7
7
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery-Test04: 1.1.04
|
8
8
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery-g10_smart_well_known_capabilities: 1.1.05
|
9
|
+
g10_certification-g10_smart_standalone_patient_app-smart_discovery-g10_us_core_7_smart_version_check: 1.1.06
|
9
10
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery_stu2: '1.2'
|
10
11
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery_stu2-well_known_endpoint: 1.2.01
|
11
12
|
g10_certification-g10_smart_standalone_patient_app-smart_discovery_stu2-well_known_capabilities_stu2: 1.2.02
|
@@ -111,24 +111,25 @@ module ONCCertificationG10TestKit
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
USCoreTestKit::USCoreV311::USCoreTestSuite
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
test_group.
|
126
|
-
|
114
|
+
USCoreTestKit::USCoreV311::USCoreTestSuite
|
115
|
+
.groups
|
116
|
+
.find { |g| g.title == 'US Core FHIR API' }
|
117
|
+
.groups
|
118
|
+
.each do |group|
|
119
|
+
test_group = group.ancestors[1]
|
120
|
+
|
121
|
+
next if test_group.optional?
|
122
|
+
|
123
|
+
group(from: test_group.id, exclude_optional: true)
|
124
|
+
|
125
|
+
if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
|
126
|
+
test_group.metadata.delayed? &&
|
127
|
+
!test_group.metadata.searchable_delayed_resource?
|
128
|
+
groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
|
129
|
+
groups.last.config(options: { read_all_resources: true })
|
130
|
+
end
|
127
131
|
end
|
128
132
|
|
129
|
-
group(from: id, exclude_optional: true, config: group_config)
|
130
|
-
end
|
131
|
-
|
132
133
|
groups.first.description %(
|
133
134
|
The Capability Statement test verifies a FHIR server's ability support the
|
134
135
|
[capabilities
|
@@ -123,24 +123,25 @@ module ONCCertificationG10TestKit
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
-
USCoreTestKit::USCoreV400::USCoreTestSuite
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
test_group.
|
138
|
-
|
126
|
+
USCoreTestKit::USCoreV400::USCoreTestSuite
|
127
|
+
.groups
|
128
|
+
.find { |g| g.title == 'US Core FHIR API' }
|
129
|
+
.groups
|
130
|
+
.each do |group|
|
131
|
+
test_group = group.ancestors[1]
|
132
|
+
|
133
|
+
next if test_group.optional?
|
134
|
+
|
135
|
+
group(from: test_group.id, exclude_optional: true)
|
136
|
+
|
137
|
+
if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
|
138
|
+
test_group.metadata.delayed? &&
|
139
|
+
!test_group.metadata.searchable_delayed_resource?
|
140
|
+
groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
|
141
|
+
groups.last.config(options: { read_all_resources: true })
|
142
|
+
end
|
139
143
|
end
|
140
144
|
|
141
|
-
group(from: id, exclude_optional: true, config: group_config)
|
142
|
-
end
|
143
|
-
|
144
145
|
groups.first.description %(
|
145
146
|
The Capability Statement test verifies a FHIR server's ability support the
|
146
147
|
[capabilities
|
@@ -137,24 +137,25 @@ module ONCCertificationG10TestKit
|
|
137
137
|
end
|
138
138
|
end
|
139
139
|
|
140
|
-
USCoreTestKit::USCoreV501::USCoreTestSuite
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
test_group.
|
152
|
-
|
140
|
+
USCoreTestKit::USCoreV501::USCoreTestSuite
|
141
|
+
.groups
|
142
|
+
.find { |g| g.title == 'US Core FHIR API' }
|
143
|
+
.groups
|
144
|
+
.each do |group|
|
145
|
+
test_group = group.ancestors[1]
|
146
|
+
|
147
|
+
next if test_group.optional?
|
148
|
+
|
149
|
+
group(from: test_group.id, exclude_optional: true)
|
150
|
+
|
151
|
+
if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
|
152
|
+
test_group.metadata.delayed? &&
|
153
|
+
!test_group.metadata.searchable_delayed_resource?
|
154
|
+
groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
|
155
|
+
groups.last.config(options: { read_all_resources: true })
|
156
|
+
end
|
153
157
|
end
|
154
158
|
|
155
|
-
group(from: id, exclude_optional: true, config: group_config)
|
156
|
-
end
|
157
|
-
|
158
159
|
groups.first.description %(
|
159
160
|
The Capability Statement test verifies a FHIR server's ability support the
|
160
161
|
[capabilities
|
@@ -166,27 +166,28 @@ module ONCCertificationG10TestKit
|
|
166
166
|
end
|
167
167
|
end
|
168
168
|
|
169
|
-
USCoreTestKit::USCoreV610::USCoreTestSuite
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
test_group.
|
181
|
-
|
182
|
-
|
169
|
+
USCoreTestKit::USCoreV610::USCoreTestSuite
|
170
|
+
.groups
|
171
|
+
.find { |g| g.title == 'US Core FHIR API' }
|
172
|
+
.groups
|
173
|
+
.each do |group|
|
174
|
+
test_group = group.ancestors[1]
|
175
|
+
|
176
|
+
next if test_group.optional?
|
177
|
+
|
178
|
+
group(from: test_group.id, exclude_optional: true)
|
179
|
+
|
180
|
+
if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
|
181
|
+
test_group.metadata.delayed? &&
|
182
|
+
!test_group.metadata.searchable_delayed_resource?
|
183
|
+
groups.last.children.reject! do |child|
|
184
|
+
child.include?(USCoreTestKit::SearchTest) &&
|
185
|
+
!child.include?(USCoreTestKit::PractitionerAddressTest)
|
186
|
+
end
|
187
|
+
groups.last.config(options: { read_all_resources: true })
|
183
188
|
end
|
184
|
-
group_config[:options] = { read_all_resources: true }
|
185
189
|
end
|
186
190
|
|
187
|
-
group(from: id, exclude_optional: true, config: group_config)
|
188
|
-
end
|
189
|
-
|
190
191
|
groups.first.description %(
|
191
192
|
The Capability Statement test verifies a FHIR server's ability support the
|
192
193
|
[capabilities
|
@@ -171,27 +171,28 @@ module ONCCertificationG10TestKit
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
-
USCoreTestKit::USCoreV700::USCoreTestSuite
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
test_group.
|
186
|
-
|
187
|
-
|
174
|
+
USCoreTestKit::USCoreV700::USCoreTestSuite
|
175
|
+
.groups
|
176
|
+
.find { |g| g.title == 'US Core FHIR API' }
|
177
|
+
.groups
|
178
|
+
.each do |group|
|
179
|
+
test_group = group.ancestors[1]
|
180
|
+
|
181
|
+
next if test_group.optional?
|
182
|
+
|
183
|
+
group(from: test_group.id, exclude_optional: true)
|
184
|
+
|
185
|
+
if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
|
186
|
+
test_group.metadata.delayed? &&
|
187
|
+
!test_group.metadata.searchable_delayed_resource?
|
188
|
+
groups.last.children.reject! do |child|
|
189
|
+
child.include?(USCoreTestKit::SearchTest) &&
|
190
|
+
!child.include?(USCoreTestKit::PractitionerAddressTest)
|
191
|
+
end
|
192
|
+
groups.last.config(options: { read_all_resources: true })
|
188
193
|
end
|
189
|
-
group_config[:options] = { read_all_resources: true }
|
190
194
|
end
|
191
195
|
|
192
|
-
group(from: id, exclude_optional: true, config: group_config)
|
193
|
-
end
|
194
|
-
|
195
196
|
groups.first.description %(
|
196
197
|
The Capability Statement test verifies a FHIR server's ability support the
|
197
198
|
[capabilities
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
)
|
10
10
|
description %(
|
11
11
|
This scenario verifies that a SMART Launch Sequence, specifically the
|
@@ -33,7 +33,7 @@ module ONCCertificationG10TestKit
|
|
33
33
|
input_instructions %(
|
34
34
|
Register Inferno as a standalone application using the following information:
|
35
35
|
|
36
|
-
* Redirect URI: `#{
|
36
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
37
37
|
* JWKS URI (`jku`): `#{Inferno::Application[:base_url]}/custom/smart_stu2/.well-known/jwks.json`
|
38
38
|
|
39
39
|
Enter in the appropriate scopes to enable access to the Patient resource.
|
@@ -16,8 +16,8 @@ module ONCCertificationG10TestKit
|
|
16
16
|
Register Inferno as an EHR-launched application using patient-level scopes
|
17
17
|
and the following URIs:
|
18
18
|
|
19
|
-
* Launch URI: `#{
|
20
|
-
* Redirect URI: `#{
|
19
|
+
* Launch URI: `#{LAUNCH_URI}`
|
20
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
21
21
|
|
22
22
|
In this scenario, Inferno will attempt an EHR Launch with a clinical scope restricted to a
|
23
23
|
single patient and verify that a patient-level scope is granted and a
|
@@ -16,8 +16,8 @@ module ONCCertificationG10TestKit
|
|
16
16
|
Register Inferno as an EHR-launched application using patient-level scopes
|
17
17
|
and the following URIs:
|
18
18
|
|
19
|
-
* Launch URI: `#{
|
20
|
-
* Redirect URI: `#{
|
19
|
+
* Launch URI: `#{LAUNCH_URI}`
|
20
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
21
21
|
|
22
22
|
In this scenario, Inferno will attempt an EHR Launch with a clinical scope restricted to a
|
23
23
|
single patient and verify that a patient-level scope is granted and a
|
@@ -16,8 +16,8 @@ module ONCCertificationG10TestKit
|
|
16
16
|
Register Inferno as an EHR-launched application using patient-level scopes
|
17
17
|
and the following URIs:
|
18
18
|
|
19
|
-
* Launch URI: `#{
|
20
|
-
* Redirect URI: `#{
|
19
|
+
* Launch URI: `#{LAUNCH_URI}`
|
20
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
21
21
|
|
22
22
|
In this scenario, Inferno will attempt an EHR Launch with a clinical scope restricted to a
|
23
23
|
single patient and verify that a patient-level scope is granted and a
|
@@ -12,8 +12,8 @@ module ONCCertificationG10TestKit
|
|
12
12
|
input_instructions %(
|
13
13
|
Register Inferno as an EHR-launched application using the following information:
|
14
14
|
|
15
|
-
* Launch URI: `#{
|
16
|
-
* Redirect URI: `#{
|
15
|
+
* Launch URI: `#{LAUNCH_URI}`
|
16
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
17
17
|
|
18
18
|
Enter in the appropriate scope to enable user-level access to all relevant
|
19
19
|
resources. If using SMART v2, v2-style scopes must be used. In addition,
|
@@ -44,8 +44,8 @@ module ONCCertificationG10TestKit
|
|
44
44
|
Prior to running this test, register Inferno as an EHR-launched
|
45
45
|
application using the following information:
|
46
46
|
|
47
|
-
* Launch URI: `#{
|
48
|
-
* Redirect URI: `#{
|
47
|
+
* Launch URI: `#{LAUNCH_URI}`
|
48
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
49
49
|
|
50
50
|
For EHRs that use Internet Explorer 11 to display embedded apps,
|
51
51
|
please review [instructions on how to complete the EHR Practitioner App
|
@@ -6,7 +6,7 @@ module ONCCertificationG10TestKit
|
|
6
6
|
input_instructions %(
|
7
7
|
If necessary, register Inferno as a standalone application using the following information:
|
8
8
|
|
9
|
-
* Redirect URI: `#{
|
9
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
10
10
|
|
11
11
|
Inferno may be registered multiple times with different `client_ids`, or this
|
12
12
|
may reuse a single registration of Inferno.`
|
@@ -6,7 +6,7 @@ module ONCCertificationG10TestKit
|
|
6
6
|
input_instructions %(
|
7
7
|
If necessary, register Inferno as a standalone application using the following information:
|
8
8
|
|
9
|
-
* Redirect URI: `#{
|
9
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
10
10
|
|
11
11
|
Inferno may be registered multiple times with different `client_ids`, or this
|
12
12
|
may reuse a single registration of Inferno.`
|
@@ -6,7 +6,7 @@ module ONCCertificationG10TestKit
|
|
6
6
|
input_instructions %(
|
7
7
|
If necessary, register Inferno as a standalone application using the following information:
|
8
8
|
|
9
|
-
* Redirect URI: `#{
|
9
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
10
10
|
|
11
11
|
Inferno may be registered multiple times with different `client_ids`, or this
|
12
12
|
may reuse a single registration of Inferno.`
|
@@ -6,7 +6,7 @@ module ONCCertificationG10TestKit
|
|
6
6
|
input_instructions %(
|
7
7
|
If necessary, register Inferno as a standalone application using the following information:
|
8
8
|
|
9
|
-
* Redirect URI: `#{
|
9
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
10
10
|
|
11
11
|
Inferno may be registered multiple times with different `client_ids`, or this
|
12
12
|
may reuse a single registration of Inferno.`
|
@@ -10,10 +10,10 @@ module ONCCertificationG10TestKit
|
|
10
10
|
input_instructions %(
|
11
11
|
If necessary, register Inferno as a standalone application using the following information:
|
12
12
|
|
13
|
-
* Redirect URI: `#{
|
13
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
14
14
|
|
15
15
|
Once the test is running, Inferno will perform a launch. The tester must grant
|
16
|
-
a sub-resource scope for each
|
16
|
+
a sub-resource scope for each Condition and Observation, instead of granting
|
17
17
|
access to all Condition and Observation resources:
|
18
18
|
|
19
19
|
* “Condition” sub-resource scopes “Encounter Diagnosis”, “Problem List”,
|
@@ -128,7 +128,7 @@ module ONCCertificationG10TestKit
|
|
128
128
|
[Follow this link to authorize with the SMART server](#{auth_url}).
|
129
129
|
|
130
130
|
Tests will resume once Inferno receives a request at
|
131
|
-
`#{
|
131
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
132
132
|
)
|
133
133
|
end,
|
134
134
|
ignore_missing_scopes_check: true
|
@@ -190,7 +190,7 @@ module ONCCertificationG10TestKit
|
|
190
190
|
[Follow this link to authorize with the SMART server](#{auth_url}).
|
191
191
|
|
192
192
|
Tests will resume once Inferno receives a request at
|
193
|
-
`#{
|
193
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
194
194
|
)
|
195
195
|
end,
|
196
196
|
ignore_missing_scopes_check: true
|
@@ -20,7 +20,7 @@ module ONCCertificationG10TestKit
|
|
20
20
|
oauth2_params = {
|
21
21
|
grant_type: 'authorization_code',
|
22
22
|
code:,
|
23
|
-
redirect_uri:
|
23
|
+
redirect_uri: REDIRECT_URI
|
24
24
|
}
|
25
25
|
|
26
26
|
oauth2_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
@@ -46,7 +46,7 @@ module ONCCertificationG10TestKit
|
|
46
46
|
input_instructions %(
|
47
47
|
Register Inferno as a standalone application using the following information:
|
48
48
|
|
49
|
-
* Redirect URI: `#{
|
49
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
50
50
|
)
|
51
51
|
description %(
|
52
52
|
This scenario verifies that a SMART Launch Sequence, specifically the
|
@@ -202,7 +202,7 @@ module ONCCertificationG10TestKit
|
|
202
202
|
server](#{auth_url}).
|
203
203
|
|
204
204
|
Tests will resume once Inferno receives a request at
|
205
|
-
`#{
|
205
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
206
206
|
)
|
207
207
|
end
|
208
208
|
}
|
@@ -229,7 +229,7 @@ module ONCCertificationG10TestKit
|
|
229
229
|
server](#{auth_url}).
|
230
230
|
|
231
231
|
Tests will resume once Inferno receives a request at
|
232
|
-
`#{
|
232
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
233
233
|
)
|
234
234
|
end
|
235
235
|
}
|
@@ -260,7 +260,7 @@ module ONCCertificationG10TestKit
|
|
260
260
|
server](#{auth_url}).
|
261
261
|
|
262
262
|
Tests will resume once Inferno receives a request at
|
263
|
-
`#{
|
263
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
264
264
|
)
|
265
265
|
end
|
266
266
|
}
|
@@ -292,7 +292,7 @@ module ONCCertificationG10TestKit
|
|
292
292
|
server](#{auth_url}).
|
293
293
|
|
294
294
|
Tests will resume once Inferno receives a request at
|
295
|
-
`#{
|
295
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
296
296
|
)
|
297
297
|
end
|
298
298
|
}
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
)
|
10
10
|
description %(
|
11
11
|
This scenario verifies that a SMART Launch
|
@@ -150,7 +150,7 @@ module ONCCertificationG10TestKit
|
|
150
150
|
oauth2_params = {
|
151
151
|
grant_type: 'authorization_code',
|
152
152
|
code: 'BAD_CODE',
|
153
|
-
redirect_uri:
|
153
|
+
redirect_uri: REDIRECT_URI
|
154
154
|
}
|
155
155
|
oauth2_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
156
156
|
|
@@ -189,7 +189,7 @@ module ONCCertificationG10TestKit
|
|
189
189
|
oauth2_params = {
|
190
190
|
grant_type: 'authorization_code',
|
191
191
|
code:,
|
192
|
-
redirect_uri:
|
192
|
+
redirect_uri: REDIRECT_URI
|
193
193
|
}
|
194
194
|
oauth2_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
195
195
|
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
)
|
10
10
|
description %(
|
11
11
|
This scenario verifies that a SMART Launch
|
@@ -155,7 +155,7 @@ module ONCCertificationG10TestKit
|
|
155
155
|
oauth2_params = {
|
156
156
|
grant_type: 'authorization_code',
|
157
157
|
code: 'BAD_CODE',
|
158
|
-
redirect_uri:
|
158
|
+
redirect_uri: REDIRECT_URI
|
159
159
|
}
|
160
160
|
oauth2_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
161
161
|
|
@@ -194,7 +194,7 @@ module ONCCertificationG10TestKit
|
|
194
194
|
oauth2_params = {
|
195
195
|
grant_type: 'authorization_code',
|
196
196
|
code:,
|
197
|
-
redirect_uri:
|
197
|
+
redirect_uri: REDIRECT_URI
|
198
198
|
}
|
199
199
|
oauth2_headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
200
200
|
|
@@ -140,7 +140,7 @@ module ONCCertificationG10TestKit
|
|
140
140
|
server](#{auth_url}).
|
141
141
|
|
142
142
|
Tests will resume once Inferno receives a request at
|
143
|
-
`#{
|
143
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
144
144
|
|
145
145
|
Access should only be granted to the following resources:
|
146
146
|
|
@@ -267,7 +267,7 @@ module ONCCertificationG10TestKit
|
|
267
267
|
server](#{auth_url}).
|
268
268
|
|
269
269
|
Tests will resume once Inferno receives a request at
|
270
|
-
`#{
|
270
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
271
271
|
|
272
272
|
Access should only be granted to the following resources:
|
273
273
|
|
@@ -394,7 +394,7 @@ module ONCCertificationG10TestKit
|
|
394
394
|
server](#{auth_url}).
|
395
395
|
|
396
396
|
Tests will resume once Inferno receives a request at
|
397
|
-
`#{
|
397
|
+
`#{REDIRECT_URI}` with a state of `#{state}`.
|
398
398
|
|
399
399
|
Access should only be granted to the following resources:
|
400
400
|
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
|
10
10
|
Enter in the appropriate scope to enable patient-level access to all
|
11
11
|
relevant resources. If using SMART v2, v2-style scopes must be used. In
|
@@ -22,7 +22,7 @@ module ONCCertificationG10TestKit
|
|
22
22
|
Prior to executing this test, register Inferno as a public standalone
|
23
23
|
application using the following information:
|
24
24
|
|
25
|
-
* Redirect URI: `#{
|
25
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
26
26
|
|
27
27
|
Inferno will act as a public client redirect the tester to the the
|
28
28
|
authorization endpoint so that they may provide any required credentials
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
|
10
10
|
Enter in the appropriate scope to enable patient-level access to all
|
11
11
|
relevant resources. In addition, support for the OpenID Connect (openid
|
@@ -22,7 +22,7 @@ module ONCCertificationG10TestKit
|
|
22
22
|
Prior to executing this test, register Inferno as a public standalone
|
23
23
|
application using the following information:
|
24
24
|
|
25
|
-
* Redirect URI: `#{
|
25
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
26
26
|
|
27
27
|
Inferno will act as a public client redirect the tester to the the
|
28
28
|
authorization endpoint so that they may provide any required credentials
|
@@ -5,7 +5,7 @@ module ONCCertificationG10TestKit
|
|
5
5
|
input_instructions %(
|
6
6
|
Register Inferno as a standalone application using the following information:
|
7
7
|
|
8
|
-
* Redirect URI: `#{
|
8
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
9
9
|
|
10
10
|
Enter in the appropriate scope to enable patient-level access to all
|
11
11
|
relevant resources. In addition, support for the OpenID Connect (openid
|
@@ -22,7 +22,7 @@ module ONCCertificationG10TestKit
|
|
22
22
|
Prior to executing this test, register Inferno as a public standalone
|
23
23
|
application using the following information:
|
24
24
|
|
25
|
-
* Redirect URI: `#{
|
25
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
26
26
|
|
27
27
|
Inferno will act as a public client redirect the tester to the the
|
28
28
|
authorization endpoint so that they may provide any required credentials
|
@@ -15,7 +15,7 @@ module ONCCertificationG10TestKit
|
|
15
15
|
input_instructions %(
|
16
16
|
Register Inferno as a standalone application using the following information:
|
17
17
|
|
18
|
-
* Redirect URI: `#{
|
18
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
19
19
|
|
20
20
|
Enter in the appropriate scope to enable patient-level access to all
|
21
21
|
relevant resources. In addition, support for the OpenID Connect (openid
|
@@ -40,7 +40,7 @@ module ONCCertificationG10TestKit
|
|
40
40
|
Prior to running the scenario, register Inferno as a confidential client
|
41
41
|
with the following information:
|
42
42
|
|
43
|
-
* Redirect URI: `#{
|
43
|
+
* Redirect URI: `#{REDIRECT_URI}`
|
44
44
|
|
45
45
|
The following implementation specifications are relevant to this scenario:
|
46
46
|
|
@@ -90,6 +90,32 @@ module ONCCertificationG10TestKit
|
|
90
90
|
]
|
91
91
|
}
|
92
92
|
}
|
93
|
+
|
94
|
+
test do
|
95
|
+
required_suite_options(G10Options::US_CORE_7_REQUIREMENT)
|
96
|
+
|
97
|
+
id :g10_us_core_7_smart_version_check
|
98
|
+
title 'US Core 7 requires SMART App Launch 2.0.0 or above'
|
99
|
+
description %(
|
100
|
+
The [US Core 7 SMART on FHIR Obligations and
|
101
|
+
Capabilities](https://hl7.org/fhir/us/core/STU7/scopes.html) require
|
102
|
+
SMART App Launch 2.0.0 or above, so systems can not certify with US
|
103
|
+
Core 7 and SMART App Launch 1.0.0.
|
104
|
+
|
105
|
+
The [Test
|
106
|
+
Procedure](https://www.healthit.gov/test-method/standardized-api-patient-and-population-services)
|
107
|
+
also states in **Paragraph (g)(10)(v)(A) – Authentication and
|
108
|
+
authorization for patient and user scopes**:
|
109
|
+
|
110
|
+
> Note: US Core 7.0.0 must be tested with SMART App Launch 2.0.0 or
|
111
|
+
above.
|
112
|
+
)
|
113
|
+
|
114
|
+
run do
|
115
|
+
assert false, 'US Core 7 is not eligible for certification with SMART App Launch 1.0.0. ' \
|
116
|
+
'Start a new session with SMART App Launch 2.0.0 or higher.'
|
117
|
+
end
|
118
|
+
end
|
93
119
|
end
|
94
120
|
|
95
121
|
group from: :smart_discovery_stu2 do
|