us_core_test_kit 0.4.0 → 0.4.2

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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/us_core_test_kit/generated/v3.1.1/allergy_intolerance/metadata.yml +1 -24
  3. data/lib/us_core_test_kit/generated/v3.1.1/bodyheight/metadata.yml +0 -52
  4. data/lib/us_core_test_kit/generated/v3.1.1/bodytemp/metadata.yml +0 -52
  5. data/lib/us_core_test_kit/generated/v3.1.1/bodyweight/metadata.yml +0 -52
  6. data/lib/us_core_test_kit/generated/v3.1.1/bp/metadata.yml +0 -76
  7. data/lib/us_core_test_kit/generated/v3.1.1/care_plan/metadata.yml +0 -28
  8. data/lib/us_core_test_kit/generated/v3.1.1/care_team/metadata.yml +0 -16
  9. data/lib/us_core_test_kit/generated/v3.1.1/condition/metadata.yml +1 -39
  10. data/lib/us_core_test_kit/generated/v3.1.1/device/metadata.yml +1 -1013
  11. data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_lab/metadata.yml +1 -1021
  12. data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_note/metadata.yml +1 -1017
  13. data/lib/us_core_test_kit/generated/v3.1.1/document_reference/document_reference_must_support_test.rb +0 -1
  14. data/lib/us_core_test_kit/generated/v3.1.1/document_reference/document_reference_reference_resolution_test.rb +0 -1
  15. data/lib/us_core_test_kit/generated/v3.1.1/document_reference/metadata.yml +1 -81
  16. data/lib/us_core_test_kit/generated/v3.1.1/encounter/metadata.yml +2 -85
  17. data/lib/us_core_test_kit/generated/v3.1.1/goal/metadata.yml +1 -46
  18. data/lib/us_core_test_kit/generated/v3.1.1/head_circumference/metadata.yml +0 -52
  19. data/lib/us_core_test_kit/generated/v3.1.1/heartrate/metadata.yml +0 -52
  20. data/lib/us_core_test_kit/generated/v3.1.1/immunization/metadata.yml +0 -48
  21. data/lib/us_core_test_kit/generated/v3.1.1/medication_request/metadata.yml +0 -60
  22. data/lib/us_core_test_kit/generated/v3.1.1/metadata.yml +14 -6471
  23. data/lib/us_core_test_kit/generated/v3.1.1/observation_lab/metadata.yml +1 -1053
  24. data/lib/us_core_test_kit/generated/v3.1.1/organization/metadata.yml +0 -20
  25. data/lib/us_core_test_kit/generated/v3.1.1/patient/metadata.yml +1 -29
  26. data/lib/us_core_test_kit/generated/v3.1.1/pediatric_bmi_for_age/metadata.yml +0 -52
  27. data/lib/us_core_test_kit/generated/v3.1.1/pediatric_weight_for_height/metadata.yml +0 -52
  28. data/lib/us_core_test_kit/generated/v3.1.1/practitioner/metadata.yml +0 -16
  29. data/lib/us_core_test_kit/generated/v3.1.1/procedure/metadata.yml +1 -1049
  30. data/lib/us_core_test_kit/generated/v3.1.1/provenance/metadata.yml +0 -36
  31. data/lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/metadata.yml +0 -76
  32. data/lib/us_core_test_kit/generated/v3.1.1/resprate/metadata.yml +0 -52
  33. data/lib/us_core_test_kit/generated/v3.1.1/smokingstatus/metadata.yml +1 -62
  34. data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +20 -1
  35. data/lib/us_core_test_kit/generated/v4.0.0/allergy_intolerance/metadata.yml +1 -24
  36. data/lib/us_core_test_kit/generated/v4.0.0/blood_pressure/metadata.yml +0 -80
  37. data/lib/us_core_test_kit/generated/v4.0.0/bmi/metadata.yml +0 -56
  38. data/lib/us_core_test_kit/generated/v4.0.0/body_height/metadata.yml +0 -56
  39. data/lib/us_core_test_kit/generated/v4.0.0/body_temperature/metadata.yml +0 -56
  40. data/lib/us_core_test_kit/generated/v4.0.0/body_weight/metadata.yml +0 -56
  41. data/lib/us_core_test_kit/generated/v4.0.0/care_plan/metadata.yml +0 -28
  42. data/lib/us_core_test_kit/generated/v4.0.0/care_team/metadata.yml +0 -16
  43. data/lib/us_core_test_kit/generated/v4.0.0/condition/metadata.yml +1 -39
  44. data/lib/us_core_test_kit/generated/v4.0.0/device/metadata.yml +1 -1013
  45. data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_lab/metadata.yml +1 -1021
  46. data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_note/metadata.yml +1 -1017
  47. data/lib/us_core_test_kit/generated/v4.0.0/document_reference/metadata.yml +1 -78
  48. data/lib/us_core_test_kit/generated/v4.0.0/encounter/metadata.yml +2 -85
  49. data/lib/us_core_test_kit/generated/v4.0.0/goal/metadata.yml +1 -46
  50. data/lib/us_core_test_kit/generated/v4.0.0/head_circumference/metadata.yml +0 -56
  51. data/lib/us_core_test_kit/generated/v4.0.0/head_circumference_percentile/metadata.yml +0 -56
  52. data/lib/us_core_test_kit/generated/v4.0.0/heart_rate/metadata.yml +0 -56
  53. data/lib/us_core_test_kit/generated/v4.0.0/immunization/metadata.yml +0 -48
  54. data/lib/us_core_test_kit/generated/v4.0.0/medication_request/metadata.yml +0 -60
  55. data/lib/us_core_test_kit/generated/v4.0.0/metadata.yml +13 -6618
  56. data/lib/us_core_test_kit/generated/v4.0.0/observation_lab/metadata.yml +1 -1053
  57. data/lib/us_core_test_kit/generated/v4.0.0/organization/metadata.yml +0 -20
  58. data/lib/us_core_test_kit/generated/v4.0.0/patient/metadata.yml +1 -29
  59. data/lib/us_core_test_kit/generated/v4.0.0/pediatric_bmi_for_age/metadata.yml +0 -56
  60. data/lib/us_core_test_kit/generated/v4.0.0/pediatric_weight_for_height/metadata.yml +0 -56
  61. data/lib/us_core_test_kit/generated/v4.0.0/practitioner/metadata.yml +0 -16
  62. data/lib/us_core_test_kit/generated/v4.0.0/procedure/metadata.yml +1 -1049
  63. data/lib/us_core_test_kit/generated/v4.0.0/provenance/metadata.yml +0 -40
  64. data/lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/metadata.yml +0 -80
  65. data/lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/metadata.yml +0 -56
  66. data/lib/us_core_test_kit/generated/v4.0.0/smokingstatus/metadata.yml +0 -56
  67. data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +20 -1
  68. data/lib/us_core_test_kit/generated/v5.0.1/allergy_intolerance/metadata.yml +1 -24
  69. data/lib/us_core_test_kit/generated/v5.0.1/blood_pressure/metadata.yml +0 -80
  70. data/lib/us_core_test_kit/generated/v5.0.1/bmi/metadata.yml +0 -56
  71. data/lib/us_core_test_kit/generated/v5.0.1/body_height/metadata.yml +0 -56
  72. data/lib/us_core_test_kit/generated/v5.0.1/body_temperature/metadata.yml +0 -56
  73. data/lib/us_core_test_kit/generated/v5.0.1/body_weight/metadata.yml +0 -56
  74. data/lib/us_core_test_kit/generated/v5.0.1/care_plan/metadata.yml +0 -28
  75. data/lib/us_core_test_kit/generated/v5.0.1/care_team/metadata.yml +0 -16
  76. data/lib/us_core_test_kit/generated/v5.0.1/condition_encounter_diagnosis/metadata.yml +1 -43
  77. data/lib/us_core_test_kit/generated/v5.0.1/condition_problems_health_concerns/metadata.yml +2 -44
  78. data/lib/us_core_test_kit/generated/v5.0.1/device/metadata.yml +1 -1013
  79. data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_lab/metadata.yml +1 -1021
  80. data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_note/metadata.yml +1 -1021
  81. data/lib/us_core_test_kit/generated/v5.0.1/document_reference/metadata.yml +1 -82
  82. data/lib/us_core_test_kit/generated/v5.0.1/encounter/metadata.yml +2 -85
  83. data/lib/us_core_test_kit/generated/v5.0.1/goal/metadata.yml +2 -1047
  84. data/lib/us_core_test_kit/generated/v5.0.1/head_circumference/metadata.yml +0 -56
  85. data/lib/us_core_test_kit/generated/v5.0.1/head_circumference_percentile/metadata.yml +0 -56
  86. data/lib/us_core_test_kit/generated/v5.0.1/heart_rate/metadata.yml +0 -56
  87. data/lib/us_core_test_kit/generated/v5.0.1/immunization/metadata.yml +0 -48
  88. data/lib/us_core_test_kit/generated/v5.0.1/medication_request/metadata.yml +5 -65
  89. data/lib/us_core_test_kit/generated/v5.0.1/metadata.yml +27 -11041
  90. data/lib/us_core_test_kit/generated/v5.0.1/observation_clinical_test/metadata.yml +0 -52
  91. data/lib/us_core_test_kit/generated/v5.0.1/observation_imaging/metadata.yml +1 -1053
  92. data/lib/us_core_test_kit/generated/v5.0.1/observation_lab/metadata.yml +1 -1053
  93. data/lib/us_core_test_kit/generated/v5.0.1/observation_sdoh_assessment/metadata.yml +0 -57
  94. data/lib/us_core_test_kit/generated/v5.0.1/observation_sexual_orientation/metadata.yml +1 -62
  95. data/lib/us_core_test_kit/generated/v5.0.1/observation_social_history/metadata.yml +1 -1058
  96. data/lib/us_core_test_kit/generated/v5.0.1/organization/metadata.yml +0 -20
  97. data/lib/us_core_test_kit/generated/v5.0.1/patient/metadata.yml +1 -29
  98. data/lib/us_core_test_kit/generated/v5.0.1/pediatric_bmi_for_age/metadata.yml +0 -56
  99. data/lib/us_core_test_kit/generated/v5.0.1/pediatric_weight_for_height/metadata.yml +0 -56
  100. data/lib/us_core_test_kit/generated/v5.0.1/practitioner/metadata.yml +0 -20
  101. data/lib/us_core_test_kit/generated/v5.0.1/procedure/metadata.yml +1 -1049
  102. data/lib/us_core_test_kit/generated/v5.0.1/provenance/metadata.yml +0 -40
  103. data/lib/us_core_test_kit/generated/v5.0.1/pulse_oximetry/metadata.yml +0 -80
  104. data/lib/us_core_test_kit/generated/v5.0.1/questionnaire_response/metadata.yml +0 -20
  105. data/lib/us_core_test_kit/generated/v5.0.1/related_person/metadata.yml +0 -12
  106. data/lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/metadata.yml +0 -56
  107. data/lib/us_core_test_kit/generated/v5.0.1/service_request/metadata.yml +1 -1041
  108. data/lib/us_core_test_kit/generated/v5.0.1/smokingstatus/metadata.yml +0 -56
  109. data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +20 -1
  110. data/lib/us_core_test_kit/generator/must_support_metadata_extractor.rb +17 -7
  111. data/lib/us_core_test_kit/generator/search_definition_metadata_extractor.rb +13 -93
  112. data/lib/us_core_test_kit/generator/suite_generator.rb +11 -0
  113. data/lib/us_core_test_kit/generator/terminology_binding_metadata_extractor.rb +15 -3
  114. data/lib/us_core_test_kit/generator/value_extractor.rb +101 -0
  115. data/lib/us_core_test_kit/provenance_validator.rb +37 -0
  116. data/lib/us_core_test_kit/version.rb +1 -1
  117. metadata +4 -2
@@ -78,42 +78,6 @@
78
78
  - Provenance.entity.role
79
79
  - Provenance.entity.what
80
80
  :bindings:
81
- - :type: code
82
- :strength: preferred
83
- :system: http://hl7.org/fhir/ValueSet/languages
84
- :path: language
85
- - :type: CodeableConcept
86
- :strength: extensible
87
- :system: http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
88
- :path: reason
89
- - :type: CodeableConcept
90
- :strength: extensible
91
- :system: http://hl7.org/fhir/ValueSet/provenance-activity-type
92
- :path: activity
93
- - :type: CodeableConcept
94
- :strength: extensible
95
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-provenance-participant-type
96
- :path: agent.type
97
- - :type: CodeableConcept
98
- :strength: example
99
- :system: http://hl7.org/fhir/ValueSet/security-role-type
100
- :path: agent.role
101
- - :type: CodeableConcept
102
- :strength: extensible
103
- :system: http://hl7.org/fhir/ValueSet/provenance-agent-type
104
- :path: agent.type
105
- - :type: CodeableConcept
106
- :strength: example
107
- :system: http://hl7.org/fhir/ValueSet/security-role-type
108
- :path: agent.role
109
- - :type: CodeableConcept
110
- :strength: extensible
111
- :system: http://hl7.org/fhir/ValueSet/provenance-agent-type
112
- :path: agent.type
113
- - :type: CodeableConcept
114
- :strength: example
115
- :system: http://hl7.org/fhir/ValueSet/security-role-type
116
- :path: agent.role
117
81
  - :type: code
118
82
  :strength: required
119
83
  :system: http://hl7.org/fhir/ValueSet/provenance-entity-role
@@ -241,98 +241,22 @@
241
241
  - Observation.component.value[x].system
242
242
  - Observation.component.value[x].code
243
243
  :bindings:
244
- - :type: code
245
- :strength: preferred
246
- :system: http://hl7.org/fhir/ValueSet/languages
247
- :path: language
248
244
  - :type: code
249
245
  :strength: required
250
246
  :system: http://hl7.org/fhir/ValueSet/observation-status
251
247
  :path: status
252
- - :type: CodeableConcept
253
- :strength: preferred
254
- :system: http://hl7.org/fhir/ValueSet/observation-category
255
- :path: category
256
- - :type: CodeableConcept
257
- :strength: preferred
258
- :system: http://hl7.org/fhir/ValueSet/observation-category
259
- :path: category
260
- - :type: CodeableConcept
261
- :strength: extensible
262
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
263
- :path: code
264
248
  - :type: code
265
249
  :strength: required
266
250
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
267
251
  :path: value.comparator
268
- - :type: CodeableConcept
269
- :strength: extensible
270
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
271
- :path: dataAbsentReason
272
- - :type: CodeableConcept
273
- :strength: extensible
274
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
275
- :path: interpretation
276
- - :type: CodeableConcept
277
- :strength: example
278
- :system: http://hl7.org/fhir/ValueSet/body-site
279
- :path: bodySite
280
- - :type: CodeableConcept
281
- :strength: example
282
- :system: http://hl7.org/fhir/ValueSet/observation-methods
283
- :path: method
284
- - :type: CodeableConcept
285
- :strength: preferred
286
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
287
- :path: referenceRange.type
288
- - :type: CodeableConcept
289
- :strength: example
290
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
291
- :path: referenceRange.appliesTo
292
- - :type: CodeableConcept
293
- :strength: extensible
294
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
295
- :path: component.code
296
- - :type: CodeableConcept
297
- :strength: extensible
298
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
299
- :path: component.dataAbsentReason
300
- - :type: CodeableConcept
301
- :strength: extensible
302
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
303
- :path: component.interpretation
304
- - :type: CodeableConcept
305
- :strength: extensible
306
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
307
- :path: component.code
308
252
  - :type: code
309
253
  :strength: required
310
254
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
311
255
  :path: component.value.comparator
312
- - :type: CodeableConcept
313
- :strength: extensible
314
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
315
- :path: component.dataAbsentReason
316
- - :type: CodeableConcept
317
- :strength: extensible
318
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
319
- :path: component.interpretation
320
- - :type: CodeableConcept
321
- :strength: extensible
322
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
323
- :path: component.code
324
256
  - :type: code
325
257
  :strength: required
326
258
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
327
259
  :path: component.value.comparator
328
- - :type: CodeableConcept
329
- :strength: extensible
330
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
331
- :path: component.dataAbsentReason
332
- - :type: CodeableConcept
333
- :strength: extensible
334
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
335
- :path: component.interpretation
336
260
  :references:
337
261
  - :path: Observation.basedOn
338
262
  :profiles:
@@ -193,70 +193,18 @@
193
193
  - Observation.value[x].code
194
194
  - Observation.component.code
195
195
  :bindings:
196
- - :type: code
197
- :strength: preferred
198
- :system: http://hl7.org/fhir/ValueSet/languages
199
- :path: language
200
196
  - :type: code
201
197
  :strength: required
202
198
  :system: http://hl7.org/fhir/ValueSet/observation-status
203
199
  :path: status
204
- - :type: CodeableConcept
205
- :strength: preferred
206
- :system: http://hl7.org/fhir/ValueSet/observation-category
207
- :path: category
208
- - :type: CodeableConcept
209
- :strength: preferred
210
- :system: http://hl7.org/fhir/ValueSet/observation-category
211
- :path: category
212
- - :type: CodeableConcept
213
- :strength: extensible
214
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
215
- :path: code
216
200
  - :type: code
217
201
  :strength: required
218
202
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
219
203
  :path: value.comparator
220
- - :type: CodeableConcept
221
- :strength: extensible
222
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
223
- :path: dataAbsentReason
224
- - :type: CodeableConcept
225
- :strength: extensible
226
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
227
- :path: interpretation
228
- - :type: CodeableConcept
229
- :strength: example
230
- :system: http://hl7.org/fhir/ValueSet/body-site
231
- :path: bodySite
232
- - :type: CodeableConcept
233
- :strength: example
234
- :system: http://hl7.org/fhir/ValueSet/observation-methods
235
- :path: method
236
- - :type: CodeableConcept
237
- :strength: preferred
238
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
239
- :path: referenceRange.type
240
- - :type: CodeableConcept
241
- :strength: example
242
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
243
- :path: referenceRange.appliesTo
244
- - :type: CodeableConcept
245
- :strength: extensible
246
- :system: http://hl7.org/fhir/ValueSet/observation-vitalsignresult
247
- :path: component.code
248
204
  - :type: Quantity
249
205
  :strength: required
250
206
  :system: http://hl7.org/fhir/ValueSet/ucum-vitals-common
251
207
  :path: component.value
252
- - :type: CodeableConcept
253
- :strength: extensible
254
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
255
- :path: component.dataAbsentReason
256
- - :type: CodeableConcept
257
- :strength: extensible
258
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
259
- :path: component.interpretation
260
208
  :references:
261
209
  - :path: Observation.basedOn
262
210
  :profiles:
@@ -86,16 +86,7 @@
86
86
  :full_paths:
87
87
  - Observation.category
88
88
  :comparators: {}
89
- :values:
90
- - social-history
91
- - vital-signs
92
- - imaging
93
- - laboratory
94
- - procedure
95
- - survey
96
- - exam
97
- - therapy
98
- - activity
89
+ :values: []
99
90
  :type: CodeableConcept
100
91
  :contains_multiple: true
101
92
  :multiple_or: MAY
@@ -168,62 +159,10 @@
168
159
  - Observation.value[x]
169
160
  - Observation.component.code
170
161
  :bindings:
171
- - :type: code
172
- :strength: preferred
173
- :system: http://hl7.org/fhir/ValueSet/languages
174
- :path: language
175
162
  - :type: code
176
163
  :strength: required
177
164
  :system: http://hl7.org/fhir/us/core/ValueSet/us-core-observation-smoking-status-status
178
165
  :path: status
179
- - :type: CodeableConcept
180
- :strength: preferred
181
- :system: http://hl7.org/fhir/ValueSet/observation-category
182
- :path: category
183
- - :type: CodeableConcept
184
- :strength: extensible
185
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-smoking-status-observation-codes
186
- :path: code
187
- - :type: CodeableConcept
188
- :strength: preferred
189
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-observation-smokingstatus
190
- :path: value
191
- - :type: CodeableConcept
192
- :strength: extensible
193
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
194
- :path: dataAbsentReason
195
- - :type: CodeableConcept
196
- :strength: extensible
197
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
198
- :path: interpretation
199
- - :type: CodeableConcept
200
- :strength: example
201
- :system: http://hl7.org/fhir/ValueSet/body-site
202
- :path: bodySite
203
- - :type: CodeableConcept
204
- :strength: example
205
- :system: http://hl7.org/fhir/ValueSet/observation-methods
206
- :path: method
207
- - :type: CodeableConcept
208
- :strength: preferred
209
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
210
- :path: referenceRange.type
211
- - :type: CodeableConcept
212
- :strength: example
213
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
214
- :path: referenceRange.appliesTo
215
- - :type: CodeableConcept
216
- :strength: example
217
- :system: http://hl7.org/fhir/ValueSet/observation-codes
218
- :path: component.code
219
- - :type: CodeableConcept
220
- :strength: extensible
221
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
222
- :path: component.dataAbsentReason
223
- - :type: CodeableConcept
224
- :strength: extensible
225
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
226
- :path: component.interpretation
227
166
  :references:
228
167
  - :path: Observation.basedOn
229
168
  :profiles:
@@ -3,6 +3,7 @@ require_relative '../../version'
3
3
  require_relative '../../custom_groups/v3.1.1/capability_statement_group'
4
4
  require_relative '../../custom_groups/v3.1.1/clinical_notes_guidance_group'
5
5
  require_relative '../../custom_groups/data_absent_reason_group'
6
+ require_relative '../../provenance_validator'
6
7
  require_relative 'patient_group'
7
8
  require_relative 'allergy_intolerance_group'
8
9
  require_relative 'care_plan_group'
@@ -37,13 +38,27 @@ module USCoreTestKit
37
38
  module USCoreV311
38
39
  class USCoreTestSuite < Inferno::TestSuite
39
40
  title 'US Core v3.1.1'
41
+ description %(
42
+ The US Core Test Kit tests systems for their conformance to the [US Core
43
+ Implementation Guide](http://hl7.org/fhir/us/core/STU3.1.1).
44
+
45
+ Resources are validated with the FHIR Java validator using `tx.fhir.org`
46
+ as the terminology server. Users should note that the although the ONC
47
+ Certification (g)(10) Standardized API Test Suite includes tests from
48
+ this suite, [it uses a different method to perform terminology
49
+ validation](https://github.com/onc-healthit/onc-certification-g10-test-kit/wiki/FAQ#q-why-do-some-resources-fail-in-us-core-test-kit-with-terminology-validation-errors).
50
+ As a result, resource validation results may not be consistent between
51
+ the US Core Test Suite and the ONC Certification (g)(10) Standardized
52
+ API Test Suite.
53
+ )
40
54
  version VERSION
41
55
 
42
56
  VALIDATION_MESSAGE_FILTERS = [
43
57
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris$},
44
58
  %r{Sub-extension url 'revoke' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris$},
45
59
  /Observation\.effective\.ofType\(Period\): .*vs-1:/, # Invalid invariant in FHIR v4.0.1
46
- /Observation\.effective\.ofType\(Period\): .*us-core-1:/ # Invalid invariant in US Core v3.1.1
60
+ /Observation\.effective\.ofType\(Period\): .*us-core-1:/, # Invalid invariant in US Core v3.1.1
61
+ /Provenance.agent\[\d*\]: Rule provenance-1/ #Invalid invariant in US Core v5.0.1
47
62
  ].freeze
48
63
 
49
64
  def self.metadata
@@ -57,6 +72,10 @@ module USCoreTestKit
57
72
  exclude_message do |message|
58
73
  VALIDATION_MESSAGE_FILTERS.any? { |filter| filter.match? message.message }
59
74
  end
75
+
76
+ perform_additional_validation do |resource, profile_url|
77
+ ProvenanceValidator.validate(resource) if resource.instance_of?(FHIR::Provenance)
78
+ end
60
79
  end
61
80
 
62
81
  id :us_core_v311
@@ -59,10 +59,7 @@
59
59
  :full_paths:
60
60
  - AllergyIntolerance.clinicalStatus
61
61
  :comparators: {}
62
- :values:
63
- - active
64
- - inactive
65
- - resolved
62
+ :values: []
66
63
  :type: CodeableConcept
67
64
  :contains_multiple: false
68
65
  :multiple_or: MAY
@@ -89,10 +86,6 @@
89
86
  - AllergyIntolerance.patient
90
87
  - AllergyIntolerance.reaction.manifestation
91
88
  :bindings:
92
- - :type: code
93
- :strength: preferred
94
- :system: http://hl7.org/fhir/ValueSet/languages
95
- :path: language
96
89
  - :type: CodeableConcept
97
90
  :strength: required
98
91
  :system: http://hl7.org/fhir/ValueSet/allergyintolerance-clinical
@@ -113,26 +106,10 @@
113
106
  :strength: required
114
107
  :system: http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality
115
108
  :path: criticality
116
- - :type: CodeableConcept
117
- :strength: extensible
118
- :system: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8
119
- :path: code
120
- - :type: CodeableConcept
121
- :strength: example
122
- :system: http://hl7.org/fhir/ValueSet/substance-code
123
- :path: reaction.substance
124
- - :type: CodeableConcept
125
- :strength: extensible
126
- :system: http://hl7.org/fhir/ValueSet/clinical-findings
127
- :path: reaction.manifestation
128
109
  - :type: code
129
110
  :strength: required
130
111
  :system: http://hl7.org/fhir/ValueSet/reaction-event-severity
131
112
  :path: reaction.severity
132
- - :type: CodeableConcept
133
- :strength: example
134
- :system: http://hl7.org/fhir/ValueSet/route-codes
135
- :path: reaction.exposureRoute
136
113
  :references:
137
114
  - :path: AllergyIntolerance.patient
138
115
  :profiles:
@@ -213,98 +213,18 @@
213
213
  - Observation.component.value[x].system
214
214
  - Observation.component.value[x].code
215
215
  :bindings:
216
- - :type: code
217
- :strength: preferred
218
- :system: http://hl7.org/fhir/ValueSet/languages
219
- :path: language
220
216
  - :type: code
221
217
  :strength: required
222
218
  :system: http://hl7.org/fhir/ValueSet/observation-status
223
219
  :path: status
224
- - :type: CodeableConcept
225
- :strength: preferred
226
- :system: http://hl7.org/fhir/ValueSet/observation-category
227
- :path: category
228
- - :type: CodeableConcept
229
- :strength: preferred
230
- :system: http://hl7.org/fhir/ValueSet/observation-category
231
- :path: category
232
- - :type: CodeableConcept
233
- :strength: extensible
234
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
235
- :path: code
236
- - :type: Quantity
237
- :strength: extensible
238
- :system: http://hl7.org/fhir/ValueSet/ucum-vitals-common
239
- :path: value
240
- - :type: CodeableConcept
241
- :strength: extensible
242
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
243
- :path: dataAbsentReason
244
- - :type: CodeableConcept
245
- :strength: extensible
246
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
247
- :path: interpretation
248
- - :type: CodeableConcept
249
- :strength: example
250
- :system: http://hl7.org/fhir/ValueSet/body-site
251
- :path: bodySite
252
- - :type: CodeableConcept
253
- :strength: example
254
- :system: http://hl7.org/fhir/ValueSet/observation-methods
255
- :path: method
256
- - :type: CodeableConcept
257
- :strength: preferred
258
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
259
- :path: referenceRange.type
260
- - :type: CodeableConcept
261
- :strength: example
262
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
263
- :path: referenceRange.appliesTo
264
- - :type: CodeableConcept
265
- :strength: extensible
266
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
267
- :path: component.code
268
- - :type: CodeableConcept
269
- :strength: extensible
270
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
271
- :path: component.dataAbsentReason
272
- - :type: CodeableConcept
273
- :strength: extensible
274
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
275
- :path: component.interpretation
276
- - :type: CodeableConcept
277
- :strength: extensible
278
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
279
- :path: component.code
280
220
  - :type: code
281
221
  :strength: required
282
222
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
283
223
  :path: component.value.comparator
284
- - :type: CodeableConcept
285
- :strength: extensible
286
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
287
- :path: component.dataAbsentReason
288
- - :type: CodeableConcept
289
- :strength: extensible
290
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
291
- :path: component.interpretation
292
- - :type: CodeableConcept
293
- :strength: extensible
294
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
295
- :path: component.code
296
224
  - :type: code
297
225
  :strength: required
298
226
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
299
227
  :path: component.value.comparator
300
- - :type: CodeableConcept
301
- :strength: extensible
302
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
303
- :path: component.dataAbsentReason
304
- - :type: CodeableConcept
305
- :strength: extensible
306
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
307
- :path: component.interpretation
308
228
  :references:
309
229
  - :path: Observation.basedOn
310
230
  :profiles:
@@ -192,70 +192,14 @@
192
192
  - Observation.value[x].code
193
193
  - Observation.component.code
194
194
  :bindings:
195
- - :type: code
196
- :strength: preferred
197
- :system: http://hl7.org/fhir/ValueSet/languages
198
- :path: language
199
195
  - :type: code
200
196
  :strength: required
201
197
  :system: http://hl7.org/fhir/ValueSet/observation-status
202
198
  :path: status
203
- - :type: CodeableConcept
204
- :strength: preferred
205
- :system: http://hl7.org/fhir/ValueSet/observation-category
206
- :path: category
207
- - :type: CodeableConcept
208
- :strength: preferred
209
- :system: http://hl7.org/fhir/ValueSet/observation-category
210
- :path: category
211
- - :type: CodeableConcept
212
- :strength: extensible
213
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
214
- :path: code
215
199
  - :type: code
216
200
  :strength: required
217
201
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
218
202
  :path: value.comparator
219
- - :type: CodeableConcept
220
- :strength: extensible
221
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
222
- :path: dataAbsentReason
223
- - :type: CodeableConcept
224
- :strength: extensible
225
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
226
- :path: interpretation
227
- - :type: CodeableConcept
228
- :strength: example
229
- :system: http://hl7.org/fhir/ValueSet/body-site
230
- :path: bodySite
231
- - :type: CodeableConcept
232
- :strength: example
233
- :system: http://hl7.org/fhir/ValueSet/observation-methods
234
- :path: method
235
- - :type: CodeableConcept
236
- :strength: preferred
237
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
238
- :path: referenceRange.type
239
- - :type: CodeableConcept
240
- :strength: example
241
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
242
- :path: referenceRange.appliesTo
243
- - :type: CodeableConcept
244
- :strength: extensible
245
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
246
- :path: component.code
247
- - :type: Quantity
248
- :strength: extensible
249
- :system: http://hl7.org/fhir/ValueSet/ucum-vitals-common
250
- :path: component.value
251
- - :type: CodeableConcept
252
- :strength: extensible
253
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
254
- :path: component.dataAbsentReason
255
- - :type: CodeableConcept
256
- :strength: extensible
257
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
258
- :path: component.interpretation
259
203
  :references:
260
204
  - :path: Observation.basedOn
261
205
  :profiles:
@@ -191,26 +191,10 @@
191
191
  - Observation.value[x].code
192
192
  - Observation.component.code
193
193
  :bindings:
194
- - :type: code
195
- :strength: preferred
196
- :system: http://hl7.org/fhir/ValueSet/languages
197
- :path: language
198
194
  - :type: code
199
195
  :strength: required
200
196
  :system: http://hl7.org/fhir/ValueSet/observation-status
201
197
  :path: status
202
- - :type: CodeableConcept
203
- :strength: preferred
204
- :system: http://hl7.org/fhir/ValueSet/observation-category
205
- :path: category
206
- - :type: CodeableConcept
207
- :strength: preferred
208
- :system: http://hl7.org/fhir/ValueSet/observation-category
209
- :path: category
210
- - :type: CodeableConcept
211
- :strength: extensible
212
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
213
- :path: code
214
198
  - :type: code
215
199
  :strength: required
216
200
  :system: http://hl7.org/fhir/ValueSet/quantity-comparator
@@ -219,46 +203,6 @@
219
203
  :strength: required
220
204
  :system: http://hl7.org/fhir/ValueSet/ucum-bodylength
221
205
  :path: value.code
222
- - :type: CodeableConcept
223
- :strength: extensible
224
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
225
- :path: dataAbsentReason
226
- - :type: CodeableConcept
227
- :strength: extensible
228
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
229
- :path: interpretation
230
- - :type: CodeableConcept
231
- :strength: example
232
- :system: http://hl7.org/fhir/ValueSet/body-site
233
- :path: bodySite
234
- - :type: CodeableConcept
235
- :strength: example
236
- :system: http://hl7.org/fhir/ValueSet/observation-methods
237
- :path: method
238
- - :type: CodeableConcept
239
- :strength: preferred
240
- :system: http://hl7.org/fhir/ValueSet/referencerange-meaning
241
- :path: referenceRange.type
242
- - :type: CodeableConcept
243
- :strength: example
244
- :system: http://hl7.org/fhir/ValueSet/referencerange-appliesto
245
- :path: referenceRange.appliesTo
246
- - :type: CodeableConcept
247
- :strength: extensible
248
- :system: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
249
- :path: component.code
250
- - :type: Quantity
251
- :strength: extensible
252
- :system: http://hl7.org/fhir/ValueSet/ucum-vitals-common
253
- :path: component.value
254
- - :type: CodeableConcept
255
- :strength: extensible
256
- :system: http://hl7.org/fhir/ValueSet/data-absent-reason
257
- :path: component.dataAbsentReason
258
- - :type: CodeableConcept
259
- :strength: extensible
260
- :system: http://hl7.org/fhir/ValueSet/observation-interpretation
261
- :path: component.interpretation
262
206
  :references:
263
207
  - :path: Observation.basedOn
264
208
  :profiles: