ipa_test_kit 0.2.0 → 0.3.1

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 (413) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/conformance_support_test.rb +43 -0
  3. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/fhir_version_test.rb +17 -0
  4. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/instantiates_ig_test.rb +22 -0
  5. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/json_support_test.rb +41 -0
  6. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement/profile_support_test.rb +65 -0
  7. data/lib/ipa_test_kit/custom_groups/v1.0.0/capability_statement_group.rb +73 -0
  8. data/lib/ipa_test_kit/custom_groups/v1.0.0/ipa_smart_launch_group.rb +108 -0
  9. data/lib/ipa_test_kit/fhir_resource_navigation.rb +12 -3
  10. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_must_support_test.rb +46 -0
  11. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +50 -0
  12. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_patient_search_test.rb +63 -0
  13. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_provenance_revinclude_search_test.rb +51 -0
  14. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_read_test.rb +26 -0
  15. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +42 -0
  16. data/lib/ipa_test_kit/generated/v1.0.0/allergy_intolerance/allergy_intolerance_validation_test.rb +40 -0
  17. data/lib/ipa_test_kit/generated/{allergy_intolerance → v1.0.0/allergy_intolerance}/metadata.yml +88 -58
  18. data/lib/ipa_test_kit/generated/{allergy_intolerance_group.rb → v1.0.0/allergy_intolerance_group.rb} +31 -24
  19. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_must_support_test.rb +47 -0
  20. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_category_clinical_status_search_test.rb +50 -0
  21. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_category_search_test.rb +50 -0
  22. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_clinical_status_search_test.rb +50 -0
  23. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_code_search_test.rb +50 -0
  24. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_onset_date_search_test.rb +49 -0
  25. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_patient_search_test.rb +63 -0
  26. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_provenance_revinclude_search_test.rb +51 -0
  27. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_read_test.rb +26 -0
  28. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_reference_resolution_test.rb +42 -0
  29. data/lib/ipa_test_kit/generated/v1.0.0/condition/condition_validation_test.rb +40 -0
  30. data/lib/ipa_test_kit/generated/v1.0.0/condition/metadata.yml +290 -0
  31. data/lib/ipa_test_kit/generated/{condition_group.rb → v1.0.0/condition_group.rb} +38 -29
  32. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_id_search_test.rb +43 -0
  33. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_must_support_test.rb +56 -0
  34. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_category_date_search_test.rb +48 -0
  35. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_category_search_test.rb +48 -0
  36. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_contenttype_search_test.rb +49 -0
  37. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_search_test.rb +64 -0
  38. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_status_search_test.rb +49 -0
  39. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_date_search_test.rb +50 -0
  40. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_period_search_test.rb +50 -0
  41. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_patient_type_search_test.rb +48 -0
  42. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_provenance_revinclude_search_test.rb +51 -0
  43. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_read_test.rb +26 -0
  44. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_reference_resolution_test.rb +44 -0
  45. data/lib/ipa_test_kit/generated/v1.0.0/document_reference/document_reference_validation_test.rb +40 -0
  46. data/lib/ipa_test_kit/generated/{document_reference → v1.0.0/document_reference}/metadata.yml +197 -188
  47. data/lib/ipa_test_kit/generated/{document_reference_group.rb → v1.0.0/document_reference_group.rb} +45 -34
  48. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_must_support_test.rb +47 -0
  49. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_date_search_test.rb +49 -0
  50. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_search_test.rb +63 -0
  51. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_patient_status_search_test.rb +49 -0
  52. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_provenance_revinclude_search_test.rb +51 -0
  53. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_read_test.rb +26 -0
  54. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_reference_resolution_test.rb +42 -0
  55. data/lib/ipa_test_kit/generated/v1.0.0/immunization/immunization_validation_test.rb +40 -0
  56. data/lib/ipa_test_kit/generated/v1.0.0/immunization/metadata.yml +245 -0
  57. data/lib/ipa_test_kit/generated/{immunization_group.rb → v1.0.0/immunization_group.rb} +32 -25
  58. data/lib/ipa_test_kit/generated/v1.0.0/ipa_test_suite.rb +113 -0
  59. data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_must_support_test.rb +43 -0
  60. data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_read_test.rb +26 -0
  61. data/lib/ipa_test_kit/generated/v1.0.0/medication/medication_validation_test.rb +39 -0
  62. data/lib/ipa_test_kit/generated/v1.0.0/medication/metadata.yml +52 -0
  63. data/lib/ipa_test_kit/generated/v1.0.0/medication_group.rb +61 -0
  64. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_category_search_test.rb +51 -0
  65. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_code_search_test.rb +50 -0
  66. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_must_support_test.rb +52 -0
  67. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_authoredon_search_test.rb +54 -0
  68. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_search_test.rb +54 -0
  69. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_intent_status_search_test.rb +54 -0
  70. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_patient_search_test.rb +69 -0
  71. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_provenance_revinclude_search_test.rb +51 -0
  72. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_read_test.rb +26 -0
  73. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_reference_resolution_test.rb +46 -0
  74. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_request_validation_test.rb +40 -0
  75. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/medication_validation_test.rb +39 -0
  76. data/lib/ipa_test_kit/generated/v1.0.0/medication_request/metadata.yml +370 -0
  77. data/lib/ipa_test_kit/generated/{medication_request_group.rb → v1.0.0/medication_request_group.rb} +39 -31
  78. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_must_support_test.rb +51 -0
  79. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_patient_search_test.rb +64 -0
  80. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_patient_status_search_test.rb +49 -0
  81. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_provenance_revinclude_search_test.rb +51 -0
  82. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_read_test.rb +26 -0
  83. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_reference_resolution_test.rb +45 -0
  84. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/medication_statement_validation_test.rb +40 -0
  85. data/lib/ipa_test_kit/generated/v1.0.0/medication_statement/metadata.yml +222 -0
  86. data/lib/ipa_test_kit/generated/{medication_statement_group.rb → v1.0.0/medication_statement_group.rb} +31 -31
  87. data/lib/ipa_test_kit/generated/v1.0.0/metadata.yml +2845 -0
  88. data/lib/ipa_test_kit/generated/v1.0.0/observation/metadata.yml +341 -0
  89. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_must_support_test.rb +49 -0
  90. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_date_search_test.rb +48 -0
  91. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_search_test.rb +65 -0
  92. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_category_status_search_test.rb +50 -0
  93. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_code_date_search_test.rb +50 -0
  94. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_patient_code_search_test.rb +48 -0
  95. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_provenance_revinclude_search_test.rb +52 -0
  96. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_read_test.rb +26 -0
  97. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_reference_resolution_test.rb +42 -0
  98. data/lib/ipa_test_kit/generated/v1.0.0/observation/observation_validation_test.rb +40 -0
  99. data/lib/ipa_test_kit/generated/{observation_group.rb → v1.0.0/observation_group.rb} +40 -29
  100. data/lib/ipa_test_kit/generated/v1.0.0/patient/metadata.yml +259 -0
  101. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_family_search_test.rb +45 -0
  102. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_name_search_test.rb +45 -0
  103. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_birthdate_search_test.rb +45 -0
  104. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_family_gender_search_test.rb +45 -0
  105. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_family_search_test.rb +45 -0
  106. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_gender_name_search_test.rb +45 -0
  107. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_gender_search_test.rb +45 -0
  108. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_given_search_test.rb +45 -0
  109. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_id_search_test.rb +57 -0
  110. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_identifier_search_test.rb +44 -0
  111. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_must_support_test.rb +49 -0
  112. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_name_search_test.rb +45 -0
  113. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_provenance_revinclude_search_test.rb +51 -0
  114. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_read_test.rb +26 -0
  115. data/lib/ipa_test_kit/generated/v1.0.0/patient/patient_validation_test.rb +40 -0
  116. data/lib/ipa_test_kit/generated/{patient_group.rb → v1.0.0/patient_group.rb} +44 -34
  117. data/lib/ipa_test_kit/generated/v1.0.0/practitioner/metadata.yml +48 -0
  118. data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_must_support_test.rb +43 -0
  119. data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_provenance_revinclude_search_test.rb +0 -0
  120. data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_read_test.rb +26 -0
  121. data/lib/ipa_test_kit/generated/v1.0.0/practitioner/practitioner_validation_test.rb +40 -0
  122. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_group.rb +61 -0
  123. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/metadata.yml +68 -0
  124. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_must_support_test.rb +43 -0
  125. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_read_test.rb +26 -0
  126. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_reference_resolution_test.rb +42 -0
  127. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role/practitioner_role_validation_test.rb +40 -0
  128. data/lib/ipa_test_kit/generated/v1.0.0/practitioner_role_group.rb +63 -0
  129. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/metadata.yml +299 -0
  130. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_must_support_test.rb +48 -0
  131. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_category_clinical_status_search_test.rb +50 -0
  132. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_category_search_test.rb +50 -0
  133. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_clinical_status_search_test.rb +50 -0
  134. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_code_search_test.rb +50 -0
  135. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_onset_date_search_test.rb +49 -0
  136. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_patient_search_test.rb +63 -0
  137. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_provenance_revinclude_search_test.rb +51 -0
  138. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_read_test.rb +26 -0
  139. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_reference_resolution_test.rb +42 -0
  140. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item/problem_list_item_validation_test.rb +40 -0
  141. data/lib/ipa_test_kit/generated/v1.0.0/problem_list_item_group.rb +100 -0
  142. data/lib/ipa_test_kit/generated/{resource_list.rb → v1.0.0/resource_list.rb} +7 -6
  143. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/metadata.yml +370 -0
  144. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_must_support_test.rb +57 -0
  145. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_date_search_test.rb +48 -0
  146. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_search_test.rb +65 -0
  147. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_category_status_search_test.rb +50 -0
  148. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_code_date_search_test.rb +50 -0
  149. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_patient_code_search_test.rb +48 -0
  150. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_provenance_revinclude_search_test.rb +52 -0
  151. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_read_test.rb +26 -0
  152. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_reference_resolution_test.rb +42 -0
  153. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns/vitalsigns_validation_test.rb +40 -0
  154. data/lib/ipa_test_kit/generated/v1.0.0/vitalsigns_group.rb +100 -0
  155. data/lib/ipa_test_kit/generator/group_generator.rb +56 -14
  156. data/lib/ipa_test_kit/generator/group_metadata.rb +5 -17
  157. data/lib/ipa_test_kit/generator/group_metadata_extractor.rb +45 -31
  158. data/lib/ipa_test_kit/generator/ig_loader.rb +15 -2
  159. data/lib/ipa_test_kit/generator/ig_metadata.rb +2 -2
  160. data/lib/ipa_test_kit/generator/ig_metadata_extractor.rb +18 -15
  161. data/lib/ipa_test_kit/generator/ig_resources.rb +3 -2
  162. data/lib/ipa_test_kit/generator/must_support_metadata_extractor.rb +245 -35
  163. data/lib/ipa_test_kit/generator/must_support_test_generator.rb +32 -11
  164. data/lib/ipa_test_kit/generator/naming.rb +31 -17
  165. data/lib/ipa_test_kit/generator/provenance_revinclude_search_test_generator.rb +14 -12
  166. data/lib/ipa_test_kit/generator/read_test_generator.rb +12 -7
  167. data/lib/ipa_test_kit/generator/reference_resolution_test_generator.rb +27 -7
  168. data/lib/ipa_test_kit/generator/resource_list_generator.rb +8 -12
  169. data/lib/ipa_test_kit/generator/search_definition_metadata_extractor.rb +36 -74
  170. data/lib/ipa_test_kit/generator/search_metadata_extractor.rb +4 -3
  171. data/lib/ipa_test_kit/generator/search_test_generator.rb +33 -38
  172. data/lib/ipa_test_kit/generator/special_cases.rb +8 -4
  173. data/lib/ipa_test_kit/generator/suite_generator.rb +41 -8
  174. data/lib/ipa_test_kit/generator/terminology_binding_metadata_extractor.rb +18 -3
  175. data/lib/ipa_test_kit/generator/validation_test_generator.rb +29 -17
  176. data/lib/ipa_test_kit/generator/value_extractor.rb +101 -0
  177. data/lib/ipa_test_kit/generator.rb +48 -14
  178. data/lib/ipa_test_kit/igs/ipa_v100/search-parameters.json +65408 -0
  179. data/lib/ipa_test_kit/igs/ipa_v100/vitalsigns.profile.json +3122 -0
  180. data/lib/ipa_test_kit/igs/ipa_v100.tgz +0 -0
  181. data/lib/ipa_test_kit/must_support_test.rb +50 -1
  182. data/lib/ipa_test_kit/provenance_validator.rb +38 -0
  183. data/lib/ipa_test_kit/read_test.rb +1 -1
  184. data/lib/ipa_test_kit/reference_resolution_test.rb +139 -70
  185. data/lib/ipa_test_kit/search_test.rb +253 -224
  186. data/lib/ipa_test_kit/search_test_properties.rb +3 -13
  187. data/lib/ipa_test_kit/validation_test.rb +13 -5
  188. data/lib/ipa_test_kit/version.rb +1 -1
  189. data/lib/ipa_test_kit.rb +3 -2
  190. metadata +173 -236
  191. data/lib/ipa_test_kit/custom_groups/capability_statement/conformance_support_test.rb +0 -41
  192. data/lib/ipa_test_kit/custom_groups/capability_statement/fhir_version_test.rb +0 -15
  193. data/lib/ipa_test_kit/custom_groups/capability_statement/json_support_test.rb +0 -39
  194. data/lib/ipa_test_kit/custom_groups/capability_statement/profile_support_test.rb +0 -76
  195. data/lib/ipa_test_kit/custom_groups/capability_statement_group.rb +0 -64
  196. data/lib/ipa_test_kit/ext/fhir_models.rb +0 -59
  197. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_must_support_test.rb +0 -40
  198. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +0 -46
  199. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_patient_search_test.rb +0 -60
  200. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_provenance_revinclude_search_test.rb +0 -49
  201. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_read_test.rb +0 -24
  202. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +0 -28
  203. data/lib/ipa_test_kit/generated/allergy_intolerance/allergy_intolerance_validation_test.rb +0 -34
  204. data/lib/ipa_test_kit/generated/bmi/bmi_must_support_test.rb +0 -49
  205. data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_date_search_test.rb +0 -46
  206. data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_search_test.rb +0 -45
  207. data/lib/ipa_test_kit/generated/bmi/bmi_patient_category_status_search_test.rb +0 -47
  208. data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_date_search_test.rb +0 -48
  209. data/lib/ipa_test_kit/generated/bmi/bmi_patient_code_search_test.rb +0 -62
  210. data/lib/ipa_test_kit/generated/bmi/bmi_provenance_revinclude_search_test.rb +0 -51
  211. data/lib/ipa_test_kit/generated/bmi/bmi_read_test.rb +0 -24
  212. data/lib/ipa_test_kit/generated/bmi/bmi_reference_resolution_test.rb +0 -28
  213. data/lib/ipa_test_kit/generated/bmi/bmi_validation_test.rb +0 -34
  214. data/lib/ipa_test_kit/generated/bmi/metadata.yml +0 -322
  215. data/lib/ipa_test_kit/generated/bmi_group.rb +0 -93
  216. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_must_support_test.rb +0 -49
  217. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_date_search_test.rb +0 -46
  218. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_search_test.rb +0 -45
  219. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_category_status_search_test.rb +0 -47
  220. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_date_search_test.rb +0 -48
  221. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_patient_code_search_test.rb +0 -62
  222. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_provenance_revinclude_search_test.rb +0 -51
  223. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_read_test.rb +0 -24
  224. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_reference_resolution_test.rb +0 -28
  225. data/lib/ipa_test_kit/generated/bodyheight/bodyheight_validation_test.rb +0 -34
  226. data/lib/ipa_test_kit/generated/bodyheight/metadata.yml +0 -328
  227. data/lib/ipa_test_kit/generated/bodyheight_group.rb +0 -93
  228. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_must_support_test.rb +0 -49
  229. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_date_search_test.rb +0 -46
  230. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_search_test.rb +0 -45
  231. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_category_status_search_test.rb +0 -47
  232. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_date_search_test.rb +0 -48
  233. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_patient_code_search_test.rb +0 -62
  234. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_provenance_revinclude_search_test.rb +0 -51
  235. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_read_test.rb +0 -24
  236. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_reference_resolution_test.rb +0 -28
  237. data/lib/ipa_test_kit/generated/bodytemp/bodytemp_validation_test.rb +0 -34
  238. data/lib/ipa_test_kit/generated/bodytemp/metadata.yml +0 -328
  239. data/lib/ipa_test_kit/generated/bodytemp_group.rb +0 -93
  240. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_must_support_test.rb +0 -49
  241. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_date_search_test.rb +0 -46
  242. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_search_test.rb +0 -45
  243. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_category_status_search_test.rb +0 -47
  244. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_date_search_test.rb +0 -48
  245. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_patient_code_search_test.rb +0 -62
  246. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_provenance_revinclude_search_test.rb +0 -51
  247. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_read_test.rb +0 -24
  248. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_reference_resolution_test.rb +0 -28
  249. data/lib/ipa_test_kit/generated/bodyweight/bodyweight_validation_test.rb +0 -34
  250. data/lib/ipa_test_kit/generated/bodyweight/metadata.yml +0 -328
  251. data/lib/ipa_test_kit/generated/bodyweight_group.rb +0 -93
  252. data/lib/ipa_test_kit/generated/bp/bp_must_support_test.rb +0 -52
  253. data/lib/ipa_test_kit/generated/bp/bp_patient_category_date_search_test.rb +0 -46
  254. data/lib/ipa_test_kit/generated/bp/bp_patient_category_search_test.rb +0 -45
  255. data/lib/ipa_test_kit/generated/bp/bp_patient_category_status_search_test.rb +0 -47
  256. data/lib/ipa_test_kit/generated/bp/bp_patient_code_date_search_test.rb +0 -48
  257. data/lib/ipa_test_kit/generated/bp/bp_patient_code_search_test.rb +0 -62
  258. data/lib/ipa_test_kit/generated/bp/bp_provenance_revinclude_search_test.rb +0 -51
  259. data/lib/ipa_test_kit/generated/bp/bp_read_test.rb +0 -24
  260. data/lib/ipa_test_kit/generated/bp/bp_reference_resolution_test.rb +0 -28
  261. data/lib/ipa_test_kit/generated/bp/bp_validation_test.rb +0 -34
  262. data/lib/ipa_test_kit/generated/bp/metadata.yml +0 -379
  263. data/lib/ipa_test_kit/generated/bp_group.rb +0 -93
  264. data/lib/ipa_test_kit/generated/condition/condition_must_support_test.rb +0 -39
  265. data/lib/ipa_test_kit/generated/condition/condition_patient_category_search_test.rb +0 -47
  266. data/lib/ipa_test_kit/generated/condition/condition_patient_clinical_status_search_test.rb +0 -46
  267. data/lib/ipa_test_kit/generated/condition/condition_patient_code_search_test.rb +0 -47
  268. data/lib/ipa_test_kit/generated/condition/condition_patient_onset_date_search_test.rb +0 -47
  269. data/lib/ipa_test_kit/generated/condition/condition_patient_search_test.rb +0 -60
  270. data/lib/ipa_test_kit/generated/condition/condition_provenance_revinclude_search_test.rb +0 -49
  271. data/lib/ipa_test_kit/generated/condition/condition_read_test.rb +0 -24
  272. data/lib/ipa_test_kit/generated/condition/condition_reference_resolution_test.rb +0 -28
  273. data/lib/ipa_test_kit/generated/condition/condition_validation_test.rb +0 -34
  274. data/lib/ipa_test_kit/generated/condition/metadata.yml +0 -231
  275. data/lib/ipa_test_kit/generated/document_reference/document_reference_id_search_test.rb +0 -40
  276. data/lib/ipa_test_kit/generated/document_reference/document_reference_must_support_test.rb +0 -49
  277. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_date_search_test.rb +0 -46
  278. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_category_search_test.rb +0 -45
  279. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_search_test.rb +0 -61
  280. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_status_search_test.rb +0 -46
  281. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_period_search_test.rb +0 -48
  282. data/lib/ipa_test_kit/generated/document_reference/document_reference_patient_type_search_test.rb +0 -45
  283. data/lib/ipa_test_kit/generated/document_reference/document_reference_provenance_revinclude_search_test.rb +0 -50
  284. data/lib/ipa_test_kit/generated/document_reference/document_reference_read_test.rb +0 -24
  285. data/lib/ipa_test_kit/generated/document_reference/document_reference_reference_resolution_test.rb +0 -28
  286. data/lib/ipa_test_kit/generated/document_reference/document_reference_validation_test.rb +0 -34
  287. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_must_support_test.rb +0 -49
  288. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_date_search_test.rb +0 -46
  289. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_search_test.rb +0 -45
  290. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_category_status_search_test.rb +0 -47
  291. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_date_search_test.rb +0 -48
  292. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_patient_code_search_test.rb +0 -62
  293. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_provenance_revinclude_search_test.rb +0 -51
  294. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_read_test.rb +0 -24
  295. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_reference_resolution_test.rb +0 -28
  296. data/lib/ipa_test_kit/generated/head_circumference/head_circumference_validation_test.rb +0 -34
  297. data/lib/ipa_test_kit/generated/head_circumference/metadata.yml +0 -324
  298. data/lib/ipa_test_kit/generated/head_circumference_group.rb +0 -93
  299. data/lib/ipa_test_kit/generated/heartrate/heartrate_must_support_test.rb +0 -49
  300. data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_date_search_test.rb +0 -46
  301. data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_search_test.rb +0 -45
  302. data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_category_status_search_test.rb +0 -47
  303. data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_date_search_test.rb +0 -48
  304. data/lib/ipa_test_kit/generated/heartrate/heartrate_patient_code_search_test.rb +0 -62
  305. data/lib/ipa_test_kit/generated/heartrate/heartrate_provenance_revinclude_search_test.rb +0 -51
  306. data/lib/ipa_test_kit/generated/heartrate/heartrate_read_test.rb +0 -24
  307. data/lib/ipa_test_kit/generated/heartrate/heartrate_reference_resolution_test.rb +0 -28
  308. data/lib/ipa_test_kit/generated/heartrate/heartrate_validation_test.rb +0 -34
  309. data/lib/ipa_test_kit/generated/heartrate/metadata.yml +0 -325
  310. data/lib/ipa_test_kit/generated/heartrate_group.rb +0 -93
  311. data/lib/ipa_test_kit/generated/immunization/immunization_must_support_test.rb +0 -40
  312. data/lib/ipa_test_kit/generated/immunization/immunization_patient_date_search_test.rb +0 -47
  313. data/lib/ipa_test_kit/generated/immunization/immunization_patient_search_test.rb +0 -60
  314. data/lib/ipa_test_kit/generated/immunization/immunization_patient_status_search_test.rb +0 -45
  315. data/lib/ipa_test_kit/generated/immunization/immunization_provenance_revinclude_search_test.rb +0 -50
  316. data/lib/ipa_test_kit/generated/immunization/immunization_read_test.rb +0 -24
  317. data/lib/ipa_test_kit/generated/immunization/immunization_reference_resolution_test.rb +0 -28
  318. data/lib/ipa_test_kit/generated/immunization/immunization_validation_test.rb +0 -34
  319. data/lib/ipa_test_kit/generated/immunization/metadata.yml +0 -210
  320. data/lib/ipa_test_kit/generated/ipa_test_suite.rb +0 -88
  321. data/lib/ipa_test_kit/generated/medication_request/medication_request_must_support_test.rb +0 -44
  322. data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_authoredon_search_test.rb +0 -53
  323. data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_encounter_search_test.rb +0 -52
  324. data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_search_test.rb +0 -68
  325. data/lib/ipa_test_kit/generated/medication_request/medication_request_patient_intent_status_search_test.rb +0 -49
  326. data/lib/ipa_test_kit/generated/medication_request/medication_request_provenance_revinclude_search_test.rb +0 -51
  327. data/lib/ipa_test_kit/generated/medication_request/medication_request_read_test.rb +0 -24
  328. data/lib/ipa_test_kit/generated/medication_request/medication_request_reference_resolution_test.rb +0 -28
  329. data/lib/ipa_test_kit/generated/medication_request/medication_request_validation_test.rb +0 -34
  330. data/lib/ipa_test_kit/generated/medication_request/medication_validation_test.rb +0 -34
  331. data/lib/ipa_test_kit/generated/medication_request/metadata.yml +0 -307
  332. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_must_support_test.rb +0 -43
  333. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_context_search_test.rb +0 -51
  334. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_effective_search_test.rb +0 -52
  335. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_search_test.rb +0 -68
  336. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_patient_status_search_test.rb +0 -49
  337. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_provenance_revinclude_search_test.rb +0 -51
  338. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_read_test.rb +0 -24
  339. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_reference_resolution_test.rb +0 -28
  340. data/lib/ipa_test_kit/generated/medication_statement/medication_statement_validation_test.rb +0 -34
  341. data/lib/ipa_test_kit/generated/medication_statement/medication_validation_test.rb +0 -34
  342. data/lib/ipa_test_kit/generated/medication_statement/metadata.yml +0 -230
  343. data/lib/ipa_test_kit/generated/metadata.yml +0 -6230
  344. data/lib/ipa_test_kit/generated/observation/metadata.yml +0 -1280
  345. data/lib/ipa_test_kit/generated/observation/observation_must_support_test.rb +0 -41
  346. data/lib/ipa_test_kit/generated/observation/observation_patient_category_date_search_test.rb +0 -46
  347. data/lib/ipa_test_kit/generated/observation/observation_patient_category_search_test.rb +0 -62
  348. data/lib/ipa_test_kit/generated/observation/observation_patient_category_status_search_test.rb +0 -47
  349. data/lib/ipa_test_kit/generated/observation/observation_patient_code_date_search_test.rb +0 -48
  350. data/lib/ipa_test_kit/generated/observation/observation_patient_code_search_test.rb +0 -45
  351. data/lib/ipa_test_kit/generated/observation/observation_provenance_revinclude_search_test.rb +0 -51
  352. data/lib/ipa_test_kit/generated/observation/observation_read_test.rb +0 -24
  353. data/lib/ipa_test_kit/generated/observation/observation_reference_resolution_test.rb +0 -28
  354. data/lib/ipa_test_kit/generated/observation/observation_validation_test.rb +0 -34
  355. data/lib/ipa_test_kit/generated/oxygensat/metadata.yml +0 -366
  356. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_must_support_test.rb +0 -65
  357. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_date_search_test.rb +0 -46
  358. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_search_test.rb +0 -45
  359. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_category_status_search_test.rb +0 -47
  360. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_date_search_test.rb +0 -48
  361. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_patient_code_search_test.rb +0 -62
  362. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_provenance_revinclude_search_test.rb +0 -51
  363. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_read_test.rb +0 -24
  364. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_reference_resolution_test.rb +0 -28
  365. data/lib/ipa_test_kit/generated/oxygensat/oxygensat_validation_test.rb +0 -34
  366. data/lib/ipa_test_kit/generated/oxygensat_group.rb +0 -93
  367. data/lib/ipa_test_kit/generated/patient/metadata.yml +0 -320
  368. data/lib/ipa_test_kit/generated/patient/patient_birthdate_family_search_test.rb +0 -41
  369. data/lib/ipa_test_kit/generated/patient/patient_birthdate_name_search_test.rb +0 -39
  370. data/lib/ipa_test_kit/generated/patient/patient_family_gender_search_test.rb +0 -41
  371. data/lib/ipa_test_kit/generated/patient/patient_gender_name_search_test.rb +0 -39
  372. data/lib/ipa_test_kit/generated/patient/patient_id_search_test.rb +0 -53
  373. data/lib/ipa_test_kit/generated/patient/patient_identifier_search_test.rb +0 -40
  374. data/lib/ipa_test_kit/generated/patient/patient_must_support_test.rb +0 -57
  375. data/lib/ipa_test_kit/generated/patient/patient_name_search_test.rb +0 -39
  376. data/lib/ipa_test_kit/generated/patient/patient_provenance_revinclude_search_test.rb +0 -49
  377. data/lib/ipa_test_kit/generated/patient/patient_read_test.rb +0 -24
  378. data/lib/ipa_test_kit/generated/patient/patient_reference_resolution_test.rb +0 -28
  379. data/lib/ipa_test_kit/generated/patient/patient_validation_test.rb +0 -34
  380. data/lib/ipa_test_kit/generated/practitioner/metadata.yml +0 -124
  381. data/lib/ipa_test_kit/generated/practitioner/practitioner_identifier_search_test.rb +0 -40
  382. data/lib/ipa_test_kit/generated/practitioner/practitioner_must_support_test.rb +0 -40
  383. data/lib/ipa_test_kit/generated/practitioner/practitioner_name_search_test.rb +0 -49
  384. data/lib/ipa_test_kit/generated/practitioner/practitioner_read_test.rb +0 -24
  385. data/lib/ipa_test_kit/generated/practitioner/practitioner_reference_resolution_test.rb +0 -28
  386. data/lib/ipa_test_kit/generated/practitioner/practitioner_validation_test.rb +0 -34
  387. data/lib/ipa_test_kit/generated/practitioner_group.rb +0 -84
  388. data/lib/ipa_test_kit/generated/practitioner_role/metadata.yml +0 -141
  389. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_identifier_search_test.rb +0 -40
  390. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_must_support_test.rb +0 -40
  391. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_practitioner_search_test.rb +0 -51
  392. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_read_test.rb +0 -24
  393. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_reference_resolution_test.rb +0 -28
  394. data/lib/ipa_test_kit/generated/practitioner_role/practitioner_role_validation_test.rb +0 -34
  395. data/lib/ipa_test_kit/generated/practitioner_role_group.rb +0 -84
  396. data/lib/ipa_test_kit/generated/provenance/metadata.yml +0 -114
  397. data/lib/ipa_test_kit/generated/provenance/provenance_read_test.rb +0 -24
  398. data/lib/ipa_test_kit/generated/provenance/provenance_reference_resolution_test.rb +0 -28
  399. data/lib/ipa_test_kit/generated/provenance/provenance_validation_test.rb +0 -34
  400. data/lib/ipa_test_kit/generated/provenance_group.rb +0 -53
  401. data/lib/ipa_test_kit/generated/resprate/metadata.yml +0 -325
  402. data/lib/ipa_test_kit/generated/resprate/resprate_must_support_test.rb +0 -49
  403. data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_date_search_test.rb +0 -46
  404. data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_search_test.rb +0 -45
  405. data/lib/ipa_test_kit/generated/resprate/resprate_patient_category_status_search_test.rb +0 -47
  406. data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_date_search_test.rb +0 -48
  407. data/lib/ipa_test_kit/generated/resprate/resprate_patient_code_search_test.rb +0 -62
  408. data/lib/ipa_test_kit/generated/resprate/resprate_provenance_revinclude_search_test.rb +0 -51
  409. data/lib/ipa_test_kit/generated/resprate/resprate_read_test.rb +0 -24
  410. data/lib/ipa_test_kit/generated/resprate/resprate_reference_resolution_test.rb +0 -28
  411. data/lib/ipa_test_kit/generated/resprate/resprate_validation_test.rb +0 -34
  412. data/lib/ipa_test_kit/generated/resprate_group.rb +0 -93
  413. data/lib/ipa_test_kit/igs/package.tgz +0 -0
@@ -0,0 +1,51 @@
1
+ require_relative '../../../search_test'
2
+ require_relative '../../../generator/group_metadata'
3
+
4
+ module IpaTestKit
5
+ module IpaV100
6
+ class ProblemListItemProvenanceRevincludeSearchTest < Inferno::Test
7
+ include IpaTestKit::SearchTest
8
+
9
+ title 'Server returns Provenance resources from Condition search by patient + revInclude:Provenance:target'
10
+ description %(
11
+ A server SHALL be capable of supporting _revIncludes:Provenance:target.
12
+
13
+ This test will perform a search by patient + revInclude:Provenance:target and
14
+ will pass if a Provenance resource is found in the response.
15
+ %)
16
+
17
+ id :ipa_v100_problem_list_item_provenance_revinclude_search_test
18
+
19
+ input :patient_ids,
20
+ title: 'Patient IDs',
21
+ description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
22
+
23
+ def properties
24
+ @properties ||= SearchTestProperties.new(
25
+ resource_type: 'Condition',
26
+ search_param_names: ['patient']
27
+ )
28
+ end
29
+
30
+ def self.metadata
31
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
32
+ end
33
+
34
+ def self.provenance_metadata
35
+ # @provenance_metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '..', 'provenance', 'metadata.yml'), aliases: true))
36
+ end
37
+
38
+ def scratch_resources
39
+ scratch[:problem_list_item_resources] ||= {}
40
+ end
41
+
42
+ def scratch_provenance_resources
43
+ scratch[:provenance_resources] ||= {}
44
+ end
45
+
46
+ run do
47
+ run_provenance_revinclude_search_test
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,26 @@
1
+ require_relative '../../../read_test'
2
+
3
+ module IpaTestKit
4
+ module IpaV100
5
+ class ProblemListItemReadTest < Inferno::Test
6
+ include IpaTestKit::ReadTest
7
+
8
+ title 'Server returns correct Condition resource from Condition read interaction'
9
+ description 'A server SHALL support the Condition read interaction.'
10
+
11
+ id :ipa_v100_problem_list_item_read_test
12
+
13
+ def resource_type
14
+ 'Condition'
15
+ end
16
+
17
+ def scratch_resources
18
+ scratch[:problem_list_item_resources] ||= {}
19
+ end
20
+
21
+ run do
22
+ perform_read_test(all_scratch_resources)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,42 @@
1
+ require_relative '../../../reference_resolution_test'
2
+ require_relative '../resource_list'
3
+
4
+ module IpaTestKit
5
+ module IpaV100
6
+ class ProblemListItemReferenceResolutionTest < Inferno::Test
7
+ include IpaTestKit::ReferenceResolutionTest
8
+ include ResourceList
9
+
10
+ title 'MustSupport references within Condition resources are valid'
11
+ description %(
12
+ This test will attempt to read external references provided within elements
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding IPA profile.
17
+
18
+ Elements which may provide external references include:
19
+
20
+ * Condition.subject
21
+ )
22
+
23
+ id :ipa_v100_problem_list_item_reference_resolution_test
24
+
25
+ def resource_type
26
+ 'Condition'
27
+ end
28
+
29
+ def self.metadata
30
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
31
+ end
32
+
33
+ def scratch_resources
34
+ scratch[:problem_list_item_resources] ||= {}
35
+ end
36
+
37
+ run do
38
+ perform_reference_resolution_test(scratch_resources[:all])
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,40 @@
1
+ require_relative '../../../validation_test'
2
+
3
+ module IpaTestKit
4
+ module IpaV100
5
+ class ProblemListItemValidationTest < Inferno::Test
6
+ include IpaTestKit::ValidationTest
7
+
8
+ id :ipa_v100_problem_list_item_validation_test
9
+ title 'Condition resources returned during previous tests conform to the IPA-problem-list-item'
10
+ description %(
11
+ This test verifies resources returned from the first search conform to
12
+ the [IPA-problem-list-item](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-problem-list-item).
13
+ Systems must demonstrate at least one valid example in order to pass this test.
14
+
15
+ It verifies the presence of mandatory elements and that elements with
16
+ required bindings contain appropriate values. CodeableConcept element
17
+ bindings will fail if none of their codings have a code/system belonging
18
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
19
+ fail if their code/system are not found in the valueset.
20
+
21
+ )
22
+ output :dar_code_found, :dar_extension_found
23
+
24
+ def resource_type
25
+ 'Condition'
26
+ end
27
+
28
+ def scratch_resources
29
+ scratch[:problem_list_item_resources] ||= {}
30
+ end
31
+
32
+ run do
33
+ perform_validation_test(scratch_resources[:all] || [],
34
+ 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-problem-list-item',
35
+ '1.0.0',
36
+ skip_if_empty: true)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,100 @@
1
+ require_relative 'problem_list_item/problem_list_item_patient_search_test'
2
+ require_relative 'problem_list_item/problem_list_item_patient_clinical_status_search_test'
3
+ require_relative 'problem_list_item/problem_list_item_patient_category_search_test'
4
+ require_relative 'problem_list_item/problem_list_item_patient_category_clinical_status_search_test'
5
+ require_relative 'problem_list_item/problem_list_item_patient_code_search_test'
6
+ require_relative 'problem_list_item/problem_list_item_patient_onset_date_search_test'
7
+ require_relative 'problem_list_item/problem_list_item_read_test'
8
+ require_relative 'problem_list_item/problem_list_item_provenance_revinclude_search_test'
9
+ require_relative 'problem_list_item/problem_list_item_validation_test'
10
+ require_relative 'problem_list_item/problem_list_item_must_support_test'
11
+ require_relative 'problem_list_item/problem_list_item_reference_resolution_test'
12
+
13
+ module IpaTestKit
14
+ module IpaV100
15
+ class ProblemListItemGroup < Inferno::TestGroup
16
+ title 'Condition (Problem List Item) Tests'
17
+ short_description 'Verify support for the server capabilities required by the IPA-problem-list-item.'
18
+ description %(
19
+ # Background
20
+
21
+ The IPA Condition (Problem List Item) sequence verifies that the system under test is
22
+ able to provide correct responses for Condition queries. These queries
23
+ must contain resources conforming to the IPA-problem-list-item as
24
+ specified in the IPA v1.0.0 Implementation Guide.
25
+
26
+ # Testing Methodology
27
+ ## Searching
28
+ This test sequence will first perform each required search associated
29
+ with this resource. This sequence will perform searches with the
30
+ following parameters:
31
+
32
+ * patient
33
+
34
+ ### Search Parameters
35
+ The first search uses the selected patient(s) from the prior launch
36
+ sequence. Any subsequent searches will look for its parameter values
37
+ from the results of the first search. For example, the `identifier`
38
+ search in the patient sequence is performed by looking for an existing
39
+ `Patient.identifier` from any of the resources returned in the `_id`
40
+ search. If a value cannot be found this way, the search is skipped.
41
+
42
+ ### Search Validation
43
+ Inferno will retrieve up to the first 20 bundle pages of the reply for
44
+ Condition resources and save them for subsequent tests. Each of
45
+ these resources is then checked to see if it matches the searched
46
+ parameters in accordance with [FHIR search
47
+ guidelines](https://www.hl7.org/fhir/search.html). The test will fail,
48
+ for example, if a Patient search for `gender=male` returns a `female`
49
+ patient.
50
+
51
+
52
+ ## Must Support
53
+ Each profile contains elements marked as "must support". This test
54
+ sequence expects to see each of these elements at least once. If at
55
+ least one cannot be found, the test will fail. The test will look
56
+ through the Condition resources found in the first test for these
57
+ elements.
58
+
59
+ ## Profile Validation
60
+ Each resource returned from the first search is expected to conform to
61
+ the [IPA-problem-list-item](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-problem-list-item). Each element is checked against
62
+ teminology binding and cardinality requirements.
63
+
64
+ Elements with a required binding are validated against their bound
65
+ ValueSet. If the code/system in the element is not part of the ValueSet,
66
+ then the test will fail.
67
+
68
+ ## Reference Validation
69
+ At least one instance of each external reference in elements marked as
70
+ "must support" within the resources provided by the system must resolve.
71
+ The test will attempt to read each reference found and will fail if no
72
+ read succeeds.
73
+
74
+ )
75
+
76
+ id :ipa_v100_problem_list_item
77
+ run_as_group
78
+ input :standalone_smart_credentials,
79
+ title: 'SMART App Launch Credentials',
80
+ type: 'oauth_credentials',
81
+ optional: true
82
+
83
+ def self.metadata
84
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'problem_list_item', 'metadata.yml'), aliases: true))
85
+ end
86
+
87
+ test from: :ipa_v100_problem_list_item_patient_search_test
88
+ test from: :ipa_v100_problem_list_item_patient_clinical_status_search_test
89
+ test from: :ipa_v100_problem_list_item_patient_category_search_test
90
+ test from: :ipa_v100_problem_list_item_patient_category_clinical_status_search_test
91
+ test from: :ipa_v100_problem_list_item_patient_code_search_test
92
+ test from: :ipa_v100_problem_list_item_patient_onset_date_search_test
93
+ test from: :ipa_v100_problem_list_item_read_test
94
+ test from: :ipa_v100_problem_list_item_provenance_revinclude_search_test
95
+ test from: :ipa_v100_problem_list_item_validation_test
96
+ test from: :ipa_v100_problem_list_item_must_support_test
97
+ test from: :ipa_v100_problem_list_item_reference_resolution_test
98
+ end
99
+ end
100
+ end
@@ -1,7 +1,8 @@
1
1
  module IpaTestKit
2
- module ResourceList
3
- RESOURCE_LIST = [
4
- 'AllergyIntolerance',
2
+ module IpaV100
3
+ module ResourceList
4
+ RESOURCE_LIST = [
5
+ 'AllergyIntolerance',
5
6
  'Condition',
6
7
  'DocumentReference',
7
8
  'Immunization',
@@ -11,8 +12,8 @@ module IpaTestKit
11
12
  'Observation',
12
13
  'Patient',
13
14
  'Practitioner',
14
- 'PractitionerRole',
15
- 'Provenance'
16
- ].freeze
15
+ 'PractitionerRole'
16
+ ].freeze
17
+ end
17
18
  end
18
19
  end
@@ -0,0 +1,370 @@
1
+ ---
2
+ :name: vitalsigns
3
+ :class_name: VitalsignsSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: Observation
7
+ :profile_url: http://hl7.org/fhir/StructureDefinition/vitalsigns
8
+ :profile_name: Vital Signs Profile
9
+ :profile_version: 4.0.1
10
+ :title: Observation (Vital Signs Profile)
11
+ :short_description: Verify support for the server capabilities required by the Vital
12
+ Signs Profile.
13
+ :interactions:
14
+ - :code: read
15
+ :expectation: SHALL
16
+ - :code: search-type
17
+ :expectation: SHALL
18
+ :operations: []
19
+ :searches:
20
+ - :expectation: SHALL
21
+ :names:
22
+ - patient
23
+ - category
24
+ :names_not_must_support_or_mandatory: []
25
+ :must_support_or_mandatory: true
26
+ - :expectation: SHALL
27
+ :names:
28
+ - patient
29
+ - code
30
+ :names_not_must_support_or_mandatory: []
31
+ :must_support_or_mandatory: true
32
+ - :expectation: SHALL
33
+ :names:
34
+ - patient
35
+ - category
36
+ - date
37
+ :names_not_must_support_or_mandatory: []
38
+ :must_support_or_mandatory: true
39
+ - :expectation: SHOULD
40
+ :names:
41
+ - patient
42
+ - category
43
+ - status
44
+ :names_not_must_support_or_mandatory: []
45
+ :must_support_or_mandatory: true
46
+ - :expectation: SHOULD
47
+ :names:
48
+ - patient
49
+ - code
50
+ - date
51
+ :names_not_must_support_or_mandatory: []
52
+ :must_support_or_mandatory: true
53
+ :search_definitions:
54
+ :patient:
55
+ :paths:
56
+ - AllergyIntolerance.patient
57
+ - CarePlan.subject
58
+ - CareTeam.subject
59
+ - ClinicalImpression.subject
60
+ - Composition.subject
61
+ - Condition.subject
62
+ - Consent.patient
63
+ - DetectedIssue.patient
64
+ - DeviceRequest.subject
65
+ - DeviceUseStatement.subject
66
+ - DiagnosticReport.subject
67
+ - DocumentManifest.subject
68
+ - DocumentReference.subject
69
+ - Encounter.subject
70
+ - EpisodeOfCare.patient
71
+ - FamilyMemberHistory.patient
72
+ - Flag.subject
73
+ - Goal.subject
74
+ - ImagingStudy.subject
75
+ - Immunization.patient
76
+ - List.subject
77
+ - MedicationAdministration.subject
78
+ - MedicationDispense.subject
79
+ - MedicationRequest.subject
80
+ - MedicationStatement.subject
81
+ - NutritionOrder.patient
82
+ - subject
83
+ - Procedure.subject
84
+ - RiskAssessment.subject
85
+ - ServiceRequest.subject
86
+ - SupplyDelivery.patient
87
+ - VisionPrescription.patient
88
+ :full_paths:
89
+ - AllergyIntolerance.patient
90
+ - CarePlan.subject
91
+ - CareTeam.subject
92
+ - ClinicalImpression.subject
93
+ - Composition.subject
94
+ - Condition.subject
95
+ - Consent.patient
96
+ - DetectedIssue.patient
97
+ - DeviceRequest.subject
98
+ - DeviceUseStatement.subject
99
+ - DiagnosticReport.subject
100
+ - DocumentManifest.subject
101
+ - DocumentReference.subject
102
+ - Encounter.subject
103
+ - EpisodeOfCare.patient
104
+ - FamilyMemberHistory.patient
105
+ - Flag.subject
106
+ - Goal.subject
107
+ - ImagingStudy.subject
108
+ - Immunization.patient
109
+ - List.subject
110
+ - MedicationAdministration.subject
111
+ - MedicationDispense.subject
112
+ - MedicationRequest.subject
113
+ - MedicationStatement.subject
114
+ - NutritionOrder.patient
115
+ - Observation.subject
116
+ - Procedure.subject
117
+ - RiskAssessment.subject
118
+ - ServiceRequest.subject
119
+ - SupplyDelivery.patient
120
+ - VisionPrescription.patient
121
+ :comparators: {}
122
+ :values: []
123
+ :type: Reference
124
+ :contains_multiple: false
125
+ :category:
126
+ :paths:
127
+ - category
128
+ :full_paths:
129
+ - Observation.category
130
+ :comparators: {}
131
+ :values:
132
+ - vital-signs
133
+ :type: CodeableConcept
134
+ :contains_multiple: true
135
+ :code:
136
+ :paths:
137
+ - AllergyIntolerance.code
138
+ - AllergyIntolerance.reaction.substance
139
+ - Condition.code
140
+ - "(DeviceRequest.codeCodeableConcept"
141
+ - DiagnosticReport.code
142
+ - FamilyMemberHistory.condition.code
143
+ - List.code
144
+ - Medication.code
145
+ - "(MedicationAdministration.medicationCodeableConcept"
146
+ - "(MedicationDispense.medicationCodeableConcept"
147
+ - "(MedicationRequest.medicationCodeableConcept"
148
+ - "(MedicationStatement.medicationCodeableConcept"
149
+ - code
150
+ - Procedure.code
151
+ - ServiceRequest.code
152
+ :full_paths:
153
+ - AllergyIntolerance.code
154
+ - AllergyIntolerance.reaction.substance
155
+ - Condition.code
156
+ - "(DeviceRequest.codeCodeableConcept"
157
+ - DiagnosticReport.code
158
+ - FamilyMemberHistory.condition.code
159
+ - List.code
160
+ - Medication.code
161
+ - "(MedicationAdministration.medicationCodeableConcept"
162
+ - "(MedicationDispense.medicationCodeableConcept"
163
+ - "(MedicationRequest.medicationCodeableConcept"
164
+ - "(MedicationStatement.medicationCodeableConcept"
165
+ - Observation.code
166
+ - Procedure.code
167
+ - ServiceRequest.code
168
+ :comparators: {}
169
+ :values: []
170
+ :type: CodeableConcept
171
+ :contains_multiple: false
172
+ :date:
173
+ :paths:
174
+ - AllergyIntolerance.recordedDate
175
+ - CarePlan.period
176
+ - CareTeam.period
177
+ - ClinicalImpression.date
178
+ - Composition.date
179
+ - Consent.dateTime
180
+ - DiagnosticReport.effective
181
+ - Encounter.period
182
+ - EpisodeOfCare.period
183
+ - FamilyMemberHistory.date
184
+ - Flag.period
185
+ - Immunization.occurrence
186
+ - List.date
187
+ - effective
188
+ - Procedure.performed
189
+ - "(RiskAssessment.occurrenceDateTime"
190
+ - SupplyRequest.authoredOn
191
+ :full_paths:
192
+ - AllergyIntolerance.recordedDate
193
+ - CarePlan.period
194
+ - CareTeam.period
195
+ - ClinicalImpression.date
196
+ - Composition.date
197
+ - Consent.dateTime
198
+ - DiagnosticReport.effective
199
+ - Encounter.period
200
+ - EpisodeOfCare.period
201
+ - FamilyMemberHistory.date
202
+ - Flag.period
203
+ - Immunization.occurrence
204
+ - List.date
205
+ - Observation.effective
206
+ - Procedure.performed
207
+ - "(RiskAssessment.occurrenceDateTime"
208
+ - SupplyRequest.authoredOn
209
+ :comparators:
210
+ :eq: MAY
211
+ :ne: MAY
212
+ :gt: MAY
213
+ :ge: MAY
214
+ :lt: MAY
215
+ :le: MAY
216
+ :sa: MAY
217
+ :eb: MAY
218
+ :ap: MAY
219
+ :values: []
220
+ :type: date
221
+ :contains_multiple: false
222
+ :status:
223
+ :paths:
224
+ - status
225
+ :full_paths:
226
+ - Observation.status
227
+ :comparators: {}
228
+ :values:
229
+ - registered
230
+ - preliminary
231
+ - final
232
+ - amended
233
+ - corrected
234
+ - cancelled
235
+ - entered-in-error
236
+ - unknown
237
+ :type: code
238
+ :contains_multiple: false
239
+ :include_params: []
240
+ :revincludes:
241
+ - Provenance:target
242
+ :required_concepts: []
243
+ :must_supports:
244
+ :extensions: []
245
+ :slices:
246
+ - :name: Observation.category:VSCat
247
+ :path: category
248
+ :discriminator:
249
+ :type: value
250
+ :values:
251
+ - :path: coding.code
252
+ :value: vital-signs
253
+ - :path: coding.system
254
+ :value: http://terminology.hl7.org/CodeSystem/observation-category
255
+ :elements:
256
+ - :path: status
257
+ - :path: category
258
+ - :path: category.coding
259
+ - :path: category.coding.system
260
+ :fixed_value: http://terminology.hl7.org/CodeSystem/observation-category
261
+ - :path: category.coding.code
262
+ :fixed_value: vital-signs
263
+ - :path: code
264
+ - :path: subject
265
+ :types:
266
+ - Reference
267
+ - :path: effective[x]
268
+ - :path: value[x]
269
+ - :path: dataAbsentReason
270
+ - :path: component
271
+ - :path: component.code
272
+ - :path: component.value[x]
273
+ - :path: component.dataAbsentReason
274
+ :mandatory_elements:
275
+ - Observation.status
276
+ - Observation.category
277
+ - Observation.category.coding
278
+ - Observation.category.coding.system
279
+ - Observation.category.coding.code
280
+ - Observation.code
281
+ - Observation.subject
282
+ - Observation.effective[x]
283
+ - Observation.component.code
284
+ :bindings:
285
+ - :type: code
286
+ :strength: required
287
+ :system: http://hl7.org/fhir/ValueSet/observation-status
288
+ :path: status
289
+ - :type: Quantity
290
+ :strength: required
291
+ :system: http://hl7.org/fhir/ValueSet/ucum-vitals-common
292
+ :path: component.value
293
+ :references:
294
+ - :path: Observation.basedOn
295
+ :profiles:
296
+ - http://hl7.org/fhir/StructureDefinition/CarePlan
297
+ - http://hl7.org/fhir/StructureDefinition/DeviceRequest
298
+ - http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation
299
+ - http://hl7.org/fhir/StructureDefinition/MedicationRequest
300
+ - http://hl7.org/fhir/StructureDefinition/NutritionOrder
301
+ - http://hl7.org/fhir/StructureDefinition/ServiceRequest
302
+ - :path: Observation.partOf
303
+ :profiles:
304
+ - http://hl7.org/fhir/StructureDefinition/MedicationAdministration
305
+ - http://hl7.org/fhir/StructureDefinition/MedicationDispense
306
+ - http://hl7.org/fhir/StructureDefinition/MedicationStatement
307
+ - http://hl7.org/fhir/StructureDefinition/Procedure
308
+ - http://hl7.org/fhir/StructureDefinition/Immunization
309
+ - http://hl7.org/fhir/StructureDefinition/ImagingStudy
310
+ - :path: Observation.subject
311
+ :profiles:
312
+ - http://hl7.org/fhir/StructureDefinition/Patient
313
+ - :path: Observation.focus
314
+ :profiles:
315
+ - http://hl7.org/fhir/StructureDefinition/Resource
316
+ - :path: Observation.encounter
317
+ :profiles:
318
+ - http://hl7.org/fhir/StructureDefinition/Encounter
319
+ - :path: Observation.performer
320
+ :profiles:
321
+ - http://hl7.org/fhir/StructureDefinition/Practitioner
322
+ - http://hl7.org/fhir/StructureDefinition/PractitionerRole
323
+ - http://hl7.org/fhir/StructureDefinition/Organization
324
+ - http://hl7.org/fhir/StructureDefinition/CareTeam
325
+ - http://hl7.org/fhir/StructureDefinition/Patient
326
+ - http://hl7.org/fhir/StructureDefinition/RelatedPerson
327
+ - :path: Observation.specimen
328
+ :profiles:
329
+ - http://hl7.org/fhir/StructureDefinition/Specimen
330
+ - :path: Observation.device
331
+ :profiles:
332
+ - http://hl7.org/fhir/StructureDefinition/Device
333
+ - http://hl7.org/fhir/StructureDefinition/DeviceMetric
334
+ - :path: Observation.hasMember
335
+ :profiles:
336
+ - http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse
337
+ - http://hl7.org/fhir/StructureDefinition/MolecularSequence
338
+ - http://hl7.org/fhir/StructureDefinition/vitalsigns
339
+ - :path: Observation.derivedFrom
340
+ :profiles:
341
+ - http://hl7.org/fhir/StructureDefinition/DocumentReference
342
+ - http://hl7.org/fhir/StructureDefinition/ImagingStudy
343
+ - http://hl7.org/fhir/StructureDefinition/Media
344
+ - http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse
345
+ - http://hl7.org/fhir/StructureDefinition/MolecularSequence
346
+ - http://hl7.org/fhir/StructureDefinition/vitalsigns
347
+ :tests:
348
+ - :id: ipa_v100_vitalsigns_patient_category_search_test
349
+ :file_name: vitalsigns_patient_category_search_test.rb
350
+ - :id: ipa_v100_vitalsigns_patient_code_search_test
351
+ :file_name: vitalsigns_patient_code_search_test.rb
352
+ - :id: ipa_v100_vitalsigns_patient_category_date_search_test
353
+ :file_name: vitalsigns_patient_category_date_search_test.rb
354
+ - :id: ipa_v100_vitalsigns_patient_category_status_search_test
355
+ :file_name: vitalsigns_patient_category_status_search_test.rb
356
+ - :id: ipa_v100_vitalsigns_patient_code_date_search_test
357
+ :file_name: vitalsigns_patient_code_date_search_test.rb
358
+ - :id: ipa_v100_vitalsigns_read_test
359
+ :file_name: vitalsigns_read_test.rb
360
+ - :id: ipa_v100_vitalsigns_provenance_revinclude_search_test
361
+ :file_name: vitalsigns_provenance_revinclude_search_test.rb
362
+ - :id: ipa_v100_vitalsigns_validation_test
363
+ :file_name: vitalsigns_validation_test.rb
364
+ - :id: ipa_v100_vitalsigns_must_support_test
365
+ :file_name: vitalsigns_must_support_test.rb
366
+ - :id: ipa_v100_vitalsigns_reference_resolution_test
367
+ :file_name: vitalsigns_reference_resolution_test.rb
368
+ :id: ipa_v100_vitalsigns
369
+ :file_name: vitalsigns_group.rb
370
+ :delayed_references: []