onc_certification_g10_test_kit 2.0.0.rc1
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 +7 -0
- data/LICENSE +201 -0
- data/lib/inferno/exceptions.rb +31 -0
- data/lib/inferno/ext/bloomer.rb +24 -0
- data/lib/inferno/repositiories/validators.rb +17 -0
- data/lib/inferno/repositiories/value_sets.rb +26 -0
- data/lib/inferno/terminology/bcp47.rb +95 -0
- data/lib/inferno/terminology/bcp_13.rb +26 -0
- data/lib/inferno/terminology/codesystem.rb +49 -0
- data/lib/inferno/terminology/expected_manifest.yml +1123 -0
- data/lib/inferno/terminology/fhir_package_manager.rb +69 -0
- data/lib/inferno/terminology/loader.rb +298 -0
- data/lib/inferno/terminology/tasks/check_built_terminology.rb +77 -0
- data/lib/inferno/terminology/tasks/cleanup.rb +13 -0
- data/lib/inferno/terminology/tasks/cleanup_precursors.rb +23 -0
- data/lib/inferno/terminology/tasks/count_codes_in_value_set.rb +20 -0
- data/lib/inferno/terminology/tasks/create_value_set_validators.rb +34 -0
- data/lib/inferno/terminology/tasks/download_fhir_terminology.rb +27 -0
- data/lib/inferno/terminology/tasks/download_umls.rb +109 -0
- data/lib/inferno/terminology/tasks/download_umls_notice.rb +20 -0
- data/lib/inferno/terminology/tasks/expand_value_set_to_file.rb +36 -0
- data/lib/inferno/terminology/tasks/process_umls.rb +91 -0
- data/lib/inferno/terminology/tasks/process_umls_translations.rb +85 -0
- data/lib/inferno/terminology/tasks/run_umls_jar.rb +75 -0
- data/lib/inferno/terminology/tasks/temp_dir.rb +27 -0
- data/lib/inferno/terminology/tasks/unzip_umls.rb +42 -0
- data/lib/inferno/terminology/tasks/validate_code.rb +36 -0
- data/lib/inferno/terminology/tasks.rb +11 -0
- data/lib/inferno/terminology/terminology_configuration.rb +52 -0
- data/lib/inferno/terminology/terminology_validation.rb +42 -0
- data/lib/inferno/terminology/validator.rb +64 -0
- data/lib/inferno/terminology/value_set.rb +462 -0
- data/lib/inferno/terminology.rb +16 -0
- data/lib/onc_certification_g10_test_kit/authorization_request_builder.rb +87 -0
- data/lib/onc_certification_g10_test_kit/base_token_refresh_group.rb +48 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_authorization.rb +235 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export.rb +255 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export_validation.rb +474 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_jwks.json +58 -0
- data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +171 -0
- data/lib/onc_certification_g10_test_kit/configuration_checker.rb +104 -0
- data/lib/onc_certification_g10_test_kit/export_kick_off_performer.rb +12 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-bodyheight.json +3772 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-bodytemp.json +3772 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-bodyweight.json +3772 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-bp.json +6034 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-heartrate.json +3756 -0
- data/lib/onc_certification_g10_test_kit/igs/StructureDefinition-resprate.json +3756 -0
- data/lib/onc_certification_g10_test_kit/limited_scope_grant_test.rb +66 -0
- data/lib/onc_certification_g10_test_kit/multi_patient_api.rb +43 -0
- data/lib/onc_certification_g10_test_kit/patient_context_test.rb +30 -0
- data/lib/onc_certification_g10_test_kit/profile_guesser.rb +69 -0
- data/lib/onc_certification_g10_test_kit/resource_access_test.rb +96 -0
- data/lib/onc_certification_g10_test_kit/restricted_access_test.rb +12 -0
- data/lib/onc_certification_g10_test_kit/restricted_resource_type_access_group.rb +303 -0
- data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +136 -0
- data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +209 -0
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +197 -0
- data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +123 -0
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +113 -0
- data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +153 -0
- data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +177 -0
- data/lib/onc_certification_g10_test_kit/terminology_binding_validator.rb +140 -0
- data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +133 -0
- data/lib/onc_certification_g10_test_kit/unauthorized_access_test.rb +25 -0
- data/lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb +375 -0
- data/lib/onc_certification_g10_test_kit/version.rb +3 -0
- data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +470 -0
- data/lib/onc_certification_g10_test_kit/well_known_capabilities_test.rb +37 -0
- data/lib/onc_certification_g10_test_kit.rb +223 -0
- metadata +310 -0
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
require_relative 'bulk_export_validation_tester'
|
|
2
|
+
|
|
3
|
+
module ONCCertificationG10TestKit
|
|
4
|
+
class BulkDataGroupExportValidation < Inferno::TestGroup
|
|
5
|
+
title 'Group Compartment Export Validation Tests'
|
|
6
|
+
short_description 'Verify that the exported data conforms to the US Core Implementation Guide.'
|
|
7
|
+
description <<~DESCRIPTION
|
|
8
|
+
Verify that Group compartment export from the Bulk Data server follow US Core Implementation Guide
|
|
9
|
+
DESCRIPTION
|
|
10
|
+
|
|
11
|
+
id :bulk_data_group_export_validation
|
|
12
|
+
|
|
13
|
+
input :status_output, :requires_access_token, :bearer_token, :bulk_download_url
|
|
14
|
+
input :lines_to_validate,
|
|
15
|
+
title: 'Limit validation to a maximum resource count',
|
|
16
|
+
description: 'To validate all, leave blank.',
|
|
17
|
+
optional: true
|
|
18
|
+
input :bulk_patient_ids_in_group,
|
|
19
|
+
title: 'Patient IDs in exported Group',
|
|
20
|
+
description: 'Comma separated list of every Patient ID that is in the specified Group. This information is
|
|
21
|
+
provided by the system under test to verify that data returned matches expectations. Leave blank to not
|
|
22
|
+
verify Group inclusion.'
|
|
23
|
+
input :bulk_device_types_in_group,
|
|
24
|
+
title: 'Implantable Device Type Codes in exported Group',
|
|
25
|
+
description: 'Comma separated list of every Implantable Device type that is in the specified Group. This
|
|
26
|
+
information is provided by the system under test to verify that data returned matches expectations. Leave
|
|
27
|
+
blank to verify all Device resources against the Implantable Device profile.',
|
|
28
|
+
optional: true
|
|
29
|
+
|
|
30
|
+
test from: :tls_version_test do
|
|
31
|
+
title 'Bulk Data Server is secured by transport layer security'
|
|
32
|
+
description <<~DESCRIPTION
|
|
33
|
+
[§170.315(g)(10) Test Procedure]
|
|
34
|
+
(https://www.healthit.gov/test-method/standardized-api-patient-and-population-services)
|
|
35
|
+
requires that all exchanges described herein between a client and a
|
|
36
|
+
server SHALL be secured using Transport Layer Security (TLS)
|
|
37
|
+
Protocol Version 1.2 (RFC5246).
|
|
38
|
+
DESCRIPTION
|
|
39
|
+
id :g10_bulk_file_server_tls_version
|
|
40
|
+
|
|
41
|
+
config(
|
|
42
|
+
inputs: { url: { name: :bulk_download_url } },
|
|
43
|
+
options: { minimum_allowed_version: OpenSSL::SSL::TLS1_2_VERSION }
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
test do
|
|
48
|
+
title 'NDJSON download requires access token if requireAccessToken is true'
|
|
49
|
+
description <<~DESCRIPTION
|
|
50
|
+
If the requiresAccessToken field in the Complete Status body is set to true, the request SHALL include a valid#{' '}
|
|
51
|
+
access token.
|
|
52
|
+
|
|
53
|
+
[FHIR R4 Security](http://build.fhir.org/security.html#AccessDenied) and
|
|
54
|
+
[The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://tools.ietf.org/html/rfc6750#section-3.1)
|
|
55
|
+
recommend using HTTP status code 401 for invalid token but also allow the actual result be controlled by policy#{' '}
|
|
56
|
+
and context.
|
|
57
|
+
DESCRIPTION
|
|
58
|
+
# link 'http://hl7.org/fhir/uv/bulkdata/export/index.html#file-request'
|
|
59
|
+
|
|
60
|
+
input :bulk_download_url
|
|
61
|
+
|
|
62
|
+
run do
|
|
63
|
+
skip_if bulk_download_url.blank?, 'Could not verify this functionality when no download link was provided'
|
|
64
|
+
skip_if requires_access_token.blank?,
|
|
65
|
+
'Could not verify this functionality when requiresAccessToken is not provided'
|
|
66
|
+
omit_if requires_access_token == 'false',
|
|
67
|
+
'Could not verify this functionality when requiresAccessToken is false'
|
|
68
|
+
skip_if bearer_token.blank?, 'Could not verify this functionality when Bearer Token is not provided'
|
|
69
|
+
|
|
70
|
+
get(bulk_download_url, headers: { accept: 'application/fhir+ndjson' })
|
|
71
|
+
assert_response_status([400, 401])
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
test do
|
|
76
|
+
title 'Patient resources returned conform to the US Core Patient Profile'
|
|
77
|
+
description <<~DESCRIPTION
|
|
78
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This#{' '}
|
|
79
|
+
includes checking for missing data elements and value set verification.
|
|
80
|
+
DESCRIPTION
|
|
81
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'
|
|
82
|
+
|
|
83
|
+
include BulkExportValidationTester
|
|
84
|
+
|
|
85
|
+
def resource_type
|
|
86
|
+
'Patient'
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
run do
|
|
90
|
+
perform_bulk_export_validation
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
test do
|
|
95
|
+
title 'Group export has at least two patients'
|
|
96
|
+
description <<~DESCRIPTION
|
|
97
|
+
This test verifies that the Group export has at least two patients.
|
|
98
|
+
DESCRIPTION
|
|
99
|
+
# link 'http://ndjson.org/'
|
|
100
|
+
|
|
101
|
+
include BulkExportValidationTester
|
|
102
|
+
|
|
103
|
+
run do
|
|
104
|
+
skip 'No Patient resources processed from bulk data export.' unless patient_ids_seen.present?
|
|
105
|
+
|
|
106
|
+
assert patient_ids_seen.length >= BulkExportValidationTester::MIN_RESOURCE_COUNT,
|
|
107
|
+
'Bulk data export did not have multiple Patient resources.'
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
test do
|
|
112
|
+
title 'Patient IDs match those expected in Group'
|
|
113
|
+
description <<~DESCRIPTION
|
|
114
|
+
This test checks that the list of patient IDs that are expected match those that are returned.
|
|
115
|
+
If no patient ids are provided to the test, then the test will be omitted.
|
|
116
|
+
DESCRIPTION
|
|
117
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'
|
|
118
|
+
|
|
119
|
+
include BulkExportValidationTester
|
|
120
|
+
|
|
121
|
+
run do
|
|
122
|
+
omit 'No patient ids were given.' unless bulk_patient_ids_in_group.present?
|
|
123
|
+
|
|
124
|
+
expected_ids = Set.new(bulk_patient_ids_in_group.split(',').map(&:strip))
|
|
125
|
+
|
|
126
|
+
assert patient_ids_seen.sort == expected_ids.sort,
|
|
127
|
+
"Mismatch between patient ids seen (#{patient_ids_seen.to_a.join(', ')}) " \
|
|
128
|
+
"and patient ids expected (#{bulk_patient_ids_in_group})"
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
test do
|
|
133
|
+
title 'AllergyIntolerance resources returned conform to the US Core AllergyIntolerance Profile'
|
|
134
|
+
description <<~DESCRIPTION
|
|
135
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
136
|
+
DESCRIPTION
|
|
137
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance'
|
|
138
|
+
|
|
139
|
+
include BulkExportValidationTester
|
|
140
|
+
|
|
141
|
+
def resource_type
|
|
142
|
+
'AllergyIntolerance'
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
run do
|
|
146
|
+
perform_bulk_export_validation
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
test do
|
|
151
|
+
title 'CarePlan resources returned conform to the US Core CarePlan Profile'
|
|
152
|
+
description <<~DESCRIPTION
|
|
153
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
154
|
+
DESCRIPTION
|
|
155
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan'
|
|
156
|
+
|
|
157
|
+
include BulkExportValidationTester
|
|
158
|
+
|
|
159
|
+
def resource_type
|
|
160
|
+
'CarePlan'
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
run do
|
|
164
|
+
perform_bulk_export_validation
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
test do
|
|
169
|
+
title 'CareTeam resources returned conform to the US Core CareTeam Profile'
|
|
170
|
+
description <<~DESCRIPTION
|
|
171
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
172
|
+
DESCRIPTION
|
|
173
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-careteam'
|
|
174
|
+
|
|
175
|
+
include BulkExportValidationTester
|
|
176
|
+
|
|
177
|
+
def resource_type
|
|
178
|
+
'CareTeam'
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
run do
|
|
182
|
+
perform_bulk_export_validation
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
test do
|
|
187
|
+
title 'Condition resources returned conform to the US Core Condition Profile'
|
|
188
|
+
description <<~DESCRIPTION
|
|
189
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
190
|
+
DESCRIPTION
|
|
191
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition'
|
|
192
|
+
|
|
193
|
+
include BulkExportValidationTester
|
|
194
|
+
|
|
195
|
+
def resource_type
|
|
196
|
+
'Condition'
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
run do
|
|
200
|
+
perform_bulk_export_validation
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
test do
|
|
205
|
+
title 'Device resources returned conform to the US Core Implantable Device Profile'
|
|
206
|
+
description <<~DESCRIPTION
|
|
207
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
208
|
+
DESCRIPTION
|
|
209
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device'
|
|
210
|
+
|
|
211
|
+
include BulkExportValidationTester
|
|
212
|
+
|
|
213
|
+
def resource_type
|
|
214
|
+
'Device'
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
run do
|
|
218
|
+
perform_bulk_export_validation
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
test do
|
|
223
|
+
title 'DiagnosticReport resources returned conform to the US Core DiagnosticReport Profile'
|
|
224
|
+
description <<~DESCRIPTION
|
|
225
|
+
This test verifies that the resources returned from bulk data export conform to the following US Core profiles. This includes checking for missing data elements and value set verification.
|
|
226
|
+
|
|
227
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab
|
|
228
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note
|
|
229
|
+
DESCRIPTION
|
|
230
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-l'
|
|
231
|
+
|
|
232
|
+
include BulkExportValidationTester
|
|
233
|
+
|
|
234
|
+
def resource_type
|
|
235
|
+
'DiagnosticReport'
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
run do
|
|
239
|
+
perform_bulk_export_validation
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
test do
|
|
244
|
+
title 'DocumentReference resources returned conform to the US Core DocumentReference Profile'
|
|
245
|
+
description <<~DESCRIPTION
|
|
246
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
247
|
+
DESCRIPTION
|
|
248
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference'
|
|
249
|
+
|
|
250
|
+
include BulkExportValidationTester
|
|
251
|
+
|
|
252
|
+
def resource_type
|
|
253
|
+
'DocumentReference'
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
run do
|
|
257
|
+
perform_bulk_export_validation
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
test do
|
|
262
|
+
title 'Goal resources returned conform to the US Core Goal Profile'
|
|
263
|
+
description <<~DESCRIPTION
|
|
264
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
265
|
+
DESCRIPTION
|
|
266
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal'
|
|
267
|
+
|
|
268
|
+
include BulkExportValidationTester
|
|
269
|
+
|
|
270
|
+
def resource_type
|
|
271
|
+
'Goal'
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
run do
|
|
275
|
+
perform_bulk_export_validation
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
test do
|
|
280
|
+
title 'Immunization resources returned conform to the US Core Immunization Profile'
|
|
281
|
+
description <<~DESCRIPTION
|
|
282
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
283
|
+
DESCRIPTION
|
|
284
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-Immunization'
|
|
285
|
+
|
|
286
|
+
include BulkExportValidationTester
|
|
287
|
+
|
|
288
|
+
def resource_type
|
|
289
|
+
'Immunization'
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
run do
|
|
293
|
+
perform_bulk_export_validation
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
test do
|
|
298
|
+
title 'MedicationRequest resources returned conform to the US Core MedicationRequest Profile'
|
|
299
|
+
description <<~DESCRIPTION
|
|
300
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
301
|
+
DESCRIPTION
|
|
302
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest'
|
|
303
|
+
|
|
304
|
+
include BulkExportValidationTester
|
|
305
|
+
|
|
306
|
+
def resource_type
|
|
307
|
+
'MedicationRequest'
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
run do
|
|
311
|
+
perform_bulk_export_validation
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
test do
|
|
316
|
+
title 'Observation resources returned conform to the US Core Observation Profile'
|
|
317
|
+
description <<~DESCRIPTION
|
|
318
|
+
This test verifies that the resources returned from bulk data
|
|
319
|
+
export conform to the following US Core profiles. This includes
|
|
320
|
+
checking for missing data elements and value set verification.
|
|
321
|
+
|
|
322
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/pediatric-bmi-for-age
|
|
323
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/pediatric-weight-for-height
|
|
324
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab
|
|
325
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/us-core-pulse-oximetry
|
|
326
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus
|
|
327
|
+
* http://hl7.org/fhir/us/core/StructureDefinition/head-occipital-frontal-circumference-percentile
|
|
328
|
+
* http://hl7.org/fhir/StructureDefinition/bp
|
|
329
|
+
* http://hl7.org/fhir/StructureDefinition/bodyheight
|
|
330
|
+
* http://hl7.org/fhir/StructureDefinition/bodytemp
|
|
331
|
+
* http://hl7.org/fhir/StructureDefinition/bodyweight
|
|
332
|
+
* http://hl7.org/fhir/StructureDefinition/heartrate
|
|
333
|
+
* http://hl7.org/fhir/StructureDefinition/resprate
|
|
334
|
+
DESCRIPTION
|
|
335
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab'
|
|
336
|
+
|
|
337
|
+
include BulkExportValidationTester
|
|
338
|
+
|
|
339
|
+
def resource_type
|
|
340
|
+
'Observation'
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
run do
|
|
344
|
+
perform_bulk_export_validation
|
|
345
|
+
end
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
test do
|
|
349
|
+
title 'Procedure resources returned conform to the US Core Procedure Profile'
|
|
350
|
+
description <<~DESCRIPTION
|
|
351
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
352
|
+
DESCRIPTION
|
|
353
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure'
|
|
354
|
+
|
|
355
|
+
include BulkExportValidationTester
|
|
356
|
+
|
|
357
|
+
def resource_type
|
|
358
|
+
'Procedure'
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
run do
|
|
362
|
+
perform_bulk_export_validation
|
|
363
|
+
end
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
test do
|
|
367
|
+
title 'Encounter resources returned conform to the US Core Encounter Profile'
|
|
368
|
+
description <<~DESCRIPTION
|
|
369
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
370
|
+
DESCRIPTION
|
|
371
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter'
|
|
372
|
+
|
|
373
|
+
include BulkExportValidationTester
|
|
374
|
+
|
|
375
|
+
def resource_type
|
|
376
|
+
'Encounter'
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
run do
|
|
380
|
+
perform_bulk_export_validation
|
|
381
|
+
end
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
test do
|
|
385
|
+
title 'Organization resources returned conform to the US Core Organization Profile'
|
|
386
|
+
description <<~DESCRIPTION
|
|
387
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
388
|
+
DESCRIPTION
|
|
389
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization'
|
|
390
|
+
|
|
391
|
+
include BulkExportValidationTester
|
|
392
|
+
|
|
393
|
+
def resource_type
|
|
394
|
+
'Organization'
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
run do
|
|
398
|
+
perform_bulk_export_validation
|
|
399
|
+
end
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
test do
|
|
403
|
+
title 'Practitioner resources returned conform to the US Core Practitioner Profile'
|
|
404
|
+
description <<~DESCRIPTION
|
|
405
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
406
|
+
DESCRIPTION
|
|
407
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner'
|
|
408
|
+
|
|
409
|
+
include BulkExportValidationTester
|
|
410
|
+
|
|
411
|
+
def resource_type
|
|
412
|
+
'Practitioner'
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
run do
|
|
416
|
+
perform_bulk_export_validation
|
|
417
|
+
end
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
test do
|
|
421
|
+
title 'Provenance resources returned conform to the US Core Provenance Profile'
|
|
422
|
+
description <<~DESCRIPTION
|
|
423
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
424
|
+
DESCRIPTION
|
|
425
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance'
|
|
426
|
+
|
|
427
|
+
include BulkExportValidationTester
|
|
428
|
+
|
|
429
|
+
def resource_type
|
|
430
|
+
'Provenance'
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
run do
|
|
434
|
+
perform_bulk_export_validation
|
|
435
|
+
end
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
test do
|
|
439
|
+
title 'Location resources returned conform to the US Core Location Profile'
|
|
440
|
+
description <<~DESCRIPTION
|
|
441
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
442
|
+
DESCRIPTION
|
|
443
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-location'
|
|
444
|
+
|
|
445
|
+
include BulkExportValidationTester
|
|
446
|
+
|
|
447
|
+
def resource_type
|
|
448
|
+
'Location'
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
run do
|
|
452
|
+
perform_bulk_export_validation
|
|
453
|
+
end
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
test do
|
|
457
|
+
title 'Medication resources returned conform to the US Core Medication Profile'
|
|
458
|
+
description <<~DESCRIPTION
|
|
459
|
+
This test verifies that the resources returned from bulk data export conform to the US Core profiles. This includes checking for missing data elements and value set verification.
|
|
460
|
+
DESCRIPTION
|
|
461
|
+
# link 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication'
|
|
462
|
+
|
|
463
|
+
include BulkExportValidationTester
|
|
464
|
+
|
|
465
|
+
def resource_type
|
|
466
|
+
'Medication'
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
run do
|
|
470
|
+
perform_bulk_export_validation
|
|
471
|
+
end
|
|
472
|
+
end
|
|
473
|
+
end
|
|
474
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"keys":
|
|
3
|
+
[{
|
|
4
|
+
"kty": "EC",
|
|
5
|
+
"crv": "P-384",
|
|
6
|
+
"x": "JQKTsV6PT5Szf4QtDA1qrs0EJ1pbimQmM2SKvzOlIAqlph3h1OHmZ2i7MXahIF2C",
|
|
7
|
+
"y": "bRWWQRJBgDa6CTgwofYrHjVGcO-A7WNEnu4oJA5OUJPPPpczgx1g2NsfinK-D2Rw",
|
|
8
|
+
"use": "sig",
|
|
9
|
+
"key_ops": [
|
|
10
|
+
"verify"
|
|
11
|
+
],
|
|
12
|
+
"ext": true,
|
|
13
|
+
"kid": "4b49a739d1eb115b3225f4cf9beb6d1b",
|
|
14
|
+
"alg": "ES384"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"kty": "EC",
|
|
18
|
+
"crv": "P-384",
|
|
19
|
+
"d": "kDkn55p7gryKk2tj6z2ij7ExUnhi0ngxXosvqa73y7epwgthFqaJwApmiXXU2yhK",
|
|
20
|
+
"x": "JQKTsV6PT5Szf4QtDA1qrs0EJ1pbimQmM2SKvzOlIAqlph3h1OHmZ2i7MXahIF2C",
|
|
21
|
+
"y": "bRWWQRJBgDa6CTgwofYrHjVGcO-A7WNEnu4oJA5OUJPPPpczgx1g2NsfinK-D2Rw",
|
|
22
|
+
"key_ops": [
|
|
23
|
+
"sign"
|
|
24
|
+
],
|
|
25
|
+
"ext": true,
|
|
26
|
+
"kid": "4b49a739d1eb115b3225f4cf9beb6d1b",
|
|
27
|
+
"alg": "ES384"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"kty": "RSA",
|
|
31
|
+
"alg": "RS384",
|
|
32
|
+
"n": "vjbIzTqiY8K8zApeNng5ekNNIxJfXAue9BjoMrZ9Qy9m7yIA-tf6muEupEXWhq70tC7vIGLqJJ4O8m7yiH8H2qklX2mCAMg3xG3nbykY2X7JXtW9P8VIdG0sAMt5aZQnUGCgSS3n0qaooGn2LUlTGIR88Qi-4Nrao9_3Ki3UCiICeCiAE224jGCg0OlQU6qj2gEB3o-DWJFlG_dz1y-Mxo5ivaeM0vWuodjDrp-aiabJcSF_dx26sdC9dZdBKXFDq0t19I9S9AyGpGDJwzGRtWHY6LsskNHLvo8Zb5AsJ9eRZKpnh30SYBZI9WHtzU85M9WQqdScR69Vyp-6Uhfbvw",
|
|
33
|
+
"e": "AQAB",
|
|
34
|
+
"use": "sig",
|
|
35
|
+
"key_ops": [
|
|
36
|
+
"verify"
|
|
37
|
+
],
|
|
38
|
+
"ext": true,
|
|
39
|
+
"kid": "b41528b6f37a9500edb8a905a595bdd7"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"kty": "RSA",
|
|
43
|
+
"alg": "RS384",
|
|
44
|
+
"n": "vjbIzTqiY8K8zApeNng5ekNNIxJfXAue9BjoMrZ9Qy9m7yIA-tf6muEupEXWhq70tC7vIGLqJJ4O8m7yiH8H2qklX2mCAMg3xG3nbykY2X7JXtW9P8VIdG0sAMt5aZQnUGCgSS3n0qaooGn2LUlTGIR88Qi-4Nrao9_3Ki3UCiICeCiAE224jGCg0OlQU6qj2gEB3o-DWJFlG_dz1y-Mxo5ivaeM0vWuodjDrp-aiabJcSF_dx26sdC9dZdBKXFDq0t19I9S9AyGpGDJwzGRtWHY6LsskNHLvo8Zb5AsJ9eRZKpnh30SYBZI9WHtzU85M9WQqdScR69Vyp-6Uhfbvw",
|
|
45
|
+
"e": "AQAB",
|
|
46
|
+
"d": "rriV9GYimi5by7TOW4xNh6_gYBHVRDBsft2OFF8qapdVHt2GNuRDDxc_B6ga6TY2Enh2MLKLTr1dD3W4FIdTCJiMerrorp07FJS7nJEMgWQDxrfgkX4_EqrhW42L5d4vypYnRXEEW6u4gzkx5uFOkdvJBIK7CsIdSaBFYhochnynNgvbKWasi4rl2hayEH8tdf3B7Z6OIH9alspBTaq3j_zJt_KkrpYEzIUb4UgALB5NTWn5YKr0Avk_asOg8YfjViQwO9ASGaWjQeJ2Rx8OEQwBMQHSDMCSWNiWmYOu9PcwSZFc1vLxqzyIM8QrQSJHCCMo_wGYgke_r0CLeONHEQ",
|
|
47
|
+
"p": "5hH_QApWGeobRi1n7XbMfJYohB8K3JDPa0MspfplHpJ-17JiGG2sNoBdBcpaPRf9OX48P8VqO0qrSSRAk-I-uO6OO9BHbIukXJILqnY2JmurYzbcYbt5FVbknlHRJojkF6-7sFBazpueUlOnXCw7X7Z_SkfNE4QX5Ejm2Zm5mek",
|
|
48
|
+
"q": "06bZz7c7K9s1-aEZsxYnLJ9eTpKlt1tIBDA_LwIh5W3w259pes2kUtimbnkyOf-V2ZIERsFCh5s-S9IOEMvAIa6M5j9GW1ILNT7AcHIUfcyFcH-FF8BU_KJdRP5PXnIXFdYcylvsdoIdchy1AaUIzyiKRCU3HBYI75hez0l_F2c",
|
|
49
|
+
"dp": "h_sVIXW6hCCRND48EedIX06k7conMkxIu_39ErDXOWWeoMAnKIcR5TijQnviL__QxD1vQMXezuKIMHfDz2RGbClbWdD1lhtG7wvG515tDPJQXxia0wzqOQmdoFF9S8hXAAT26vPjaAAkaEZXQaxG_4Au5elgNWu6b0wDXZN1Vpk",
|
|
50
|
+
"dq": "GqS0YpuUTU8JGmWXUJ4HTGy7eHSpe8134V8ZdRd1oOYYHe2RX64nc25mdR24nuh3uq3Q7_9AGsYGL5E_yAl-JD9O6WUpvDE1y_wcSYty3Os0GRdUb8r8Z9kgmKDS6Pa_xTXw5eBwgfKbNlQ6zPwzgbB-x1lP-K8lbNPni3ybDR0",
|
|
51
|
+
"qi": "cqQfoi0sM5Su8ZOhznmdWrDIQB28H6fBKiabgaIKkbWZV4e0nwFvLquHjPOvv4Ao8iEGU5dyhvg0n5BKYPi-4mp6M6OA1sy0NrTr7EsKSYGyu2pBq9rw4oAYTM2LXKg6K-awgUUlkc451IwxHBAe15PWCBM3kvLQeijNid0Vz5I",
|
|
52
|
+
"key_ops": [
|
|
53
|
+
"sign"
|
|
54
|
+
],
|
|
55
|
+
"ext": true,
|
|
56
|
+
"kid": "b41528b6f37a9500edb8a905a595bdd7"
|
|
57
|
+
}]
|
|
58
|
+
}
|