ipa_test_kit 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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 +2846 -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 +260 -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
@@ -1,39 +0,0 @@
1
- module IpaTestKit
2
- class JSONSupportTest < Inferno::Test
3
- id :ipa_010_json_support
4
- title 'FHIR server capability states JSON support'
5
- description %(
6
- FHIR provides multiple [representation
7
- formats](https://www.hl7.org/fhir/formats.html) for resources, including
8
- JSON and XML. IPA profiles require servers to use the [JSON
9
- representation](https://www.hl7.org/fhir/json.html):
10
-
11
- [```The IPA Server **SHALL** Support json source formats for all IPA
12
- interactions.```](http://hl7.org/fhir/uv/ipa/CapabilityStatement-ipa-server.html#behavior)
13
-
14
- The FHIR conformance interaction require servers to describe which
15
- formats are available for clients to use. The server must explicitly
16
- state that JSON is supported. This is located in the [format
17
- element](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.format)
18
- of the CapabilityStatement Resource.
19
-
20
- This test checks that one of the following values are located in the
21
- format field.
22
-
23
- * json
24
- * application/json
25
- * application/fhir+json
26
- )
27
- uses_request :capability_statement
28
-
29
- run do
30
- assert_resource_type(:capability_statement)
31
-
32
- json_formats = ['json', 'application/json', 'application/fhir+json']
33
- server_formats = resource.format
34
-
35
- assert server_formats.any? { |format| json_formats.include? format },
36
- 'CapabilityStatement does not state support for JSON'
37
- end
38
- end
39
- end
@@ -1,76 +0,0 @@
1
- module IpaTestKit
2
- class ProfileSupportTest < Inferno::Test
3
- id :ipa_010_profile_support
4
- title 'Capability Statement lists support for required IPA Profiles'
5
- description %(
6
- The IPA Implementation Guide states:
7
-
8
- ```
9
- The IPA Server SHALL:
10
- 1. Support the IPA Patient resource profile.
11
- 2. Support at least one additional resource profile from the list of IPA
12
- Profiles.
13
- ```
14
- )
15
- uses_request :capability_statement
16
-
17
- PROFILES = {
18
- 'AllergyIntolerance' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-allergyintolerance'].freeze,
19
- 'Condition' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition'].freeze,
20
- 'DocumentReference' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-documentreference'].freeze,
21
- 'Immunization' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization'].freeze,
22
- 'Medication' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication'].freeze,
23
- 'MedicationRequest' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest'].freeze,
24
- 'MedicationStatement' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationstatement'].freeze,
25
- 'Observation' => [
26
- 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation',
27
- 'http://hl7.org/fhir/StructureDefinition/bp/bmi',
28
- 'http://hl7.org/fhir/StructureDefinition/bp/oxygensat',
29
- 'http://hl7.org/fhir/StructureDefinition/bp',
30
- 'http://hl7.org/fhir/StructureDefinition/bodyheight',
31
- 'http://hl7.org/fhir/StructureDefinition/bodyweight',
32
- 'http://hl7.org/fhir/StructureDefinition/heartrate',
33
- 'http://hl7.org/fhir/StructureDefinition/resprate',
34
- 'http://hl7.org/fhir/StructureDefinition/bodytemp',
35
- 'http://hl7.org/fhir/StructureDefinition/headcircum'
36
- ].freeze,
37
- 'Patient' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient'].freeze,
38
- 'Practitioner' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitioner'].freeze,
39
- 'PractitionerRole' => ['http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitionerrole'].freeze
40
- }.freeze
41
-
42
- run do
43
- assert_resource_type(:capability_statement)
44
- capability_statement = resource
45
-
46
- supported_resources =
47
- capability_statement.rest
48
- &.each_with_object([]) do |rest, resources|
49
- rest.resource.each { |resource| resources << resource.type }
50
- end.uniq
51
- supported_profiles =
52
- capability_statement.rest
53
- &.flat_map(&:resource)
54
- &.flat_map { |resource| resource.supportedProfile + [resource.profile] }
55
- &.compact || []
56
- supported_profiles.map! { |profile_url| profile_url.split('|').first }
57
-
58
- assert supported_resources.include?('Patient'), 'IPA Patient profile not supported'
59
-
60
- other_resources = PROFILES.keys.reject { |resource_type| resource_type == 'Patient' }
61
- other_resources_supported = other_resources.any? { |resource| supported_resources.include? resource }
62
- assert other_resources_supported, 'No IPA resources other than Patient are supported'
63
-
64
- PROFILES.each do |resource_type, profiles|
65
- next unless supported_resources.include? resource_type
66
-
67
- profiles.each do |profile|
68
- warning do
69
- assert supported_profiles&.include?(profile),
70
- "CapabilityStatement does not claim support for IPA #{resource_type} profile: #{profile}"
71
- end
72
- end
73
- end
74
- end
75
- end
76
- end
@@ -1,64 +0,0 @@
1
- require 'tls_test_kit'
2
- require_relative 'capability_statement/conformance_support_test'
3
- require_relative 'capability_statement/fhir_version_test'
4
- require_relative 'capability_statement/json_support_test'
5
- require_relative 'capability_statement/profile_support_test'
6
-
7
- module IpaTestKit
8
- class CapabilityStatementGroup < Inferno::TestGroup
9
- id :ipa_010_capability_statement
10
- title 'Capability Statement'
11
- short_description 'Retrieve information about supported server functionality using the FHIR capabilties interaction.'
12
- description %(
13
- # Background
14
- The #{title} Sequence tests a FHIR server's ability to formally describe
15
- features supported by the API by using the [Capability
16
- Statement](https://www.hl7.org/fhir/capabilitystatement.html) resource.
17
- The features described in the Capability Statement must be consistent with
18
- the required capabilities of a IPA server. The Capability Statement
19
- must also advertise the location of the required SMART on FHIR endpoints
20
- that enable authenticated access to the FHIR server resources.
21
-
22
- The Capability Statement resource allows clients to determine which
23
- resources are supported by a FHIR Server. Not all servers are expected to
24
- implement all possible queries and data elements described in the IPA
25
- API. For example, the IPA Implementation Guide requires that the
26
- Patient resource and only one additional resource profile from the IPA
27
- Profiles.
28
-
29
- # Test Methodology
30
-
31
- This test sequence accesses the server endpoint at `/metadata` using a
32
- `GET` request. It parses the Capability Statement and verifies that:
33
-
34
- * The endpoint is secured by an appropriate cryptographic protocol
35
- * The resource matches the expected FHIR version defined by the tests
36
- * The resource is a valid FHIR resource
37
- * The server claims support for JSON encoding of resources
38
- * The server claims support for the Patient resource and one other
39
- resource
40
-
41
- It collects the following information that is saved in the testing session
42
- for use by later tests:
43
-
44
- * List of resources supported
45
- * List of queries parameters supported
46
- )
47
- run_as_group
48
-
49
- test from: :tls_version_test,
50
- id: :standalone_auth_tls,
51
- title: 'FHIR server secured by transport layer security',
52
- description: %(
53
- Systems **SHALL** use TLS version 1.2 or higher for all transmissions
54
- not taking place over a secure network connection.
55
- ),
56
- config: {
57
- options: { minimum_allowed_version: OpenSSL::SSL::TLS1_2_VERSION }
58
- }
59
- test from: :ipa_010_conformance_support
60
- test from: :ipa_010_fhir_version
61
- test from: :ipa_010_json_support
62
- test from: :ipa_010_profile_support
63
- end
64
- end
@@ -1,59 +0,0 @@
1
- require 'json'
2
-
3
- # Extension to FHIR::Model. Prepending this into FHIR::Model (done below)
4
- # allows us to call super() on initialize when we overriding it,
5
- # while also defining new methods and attributes
6
- module InfernoFHIRModelExtensions
7
- attr_accessor :source_hash, :source_text
8
-
9
- def initialize(hash = {})
10
- super(hash)
11
- @source_hash = hash
12
- end
13
-
14
- def source_contents
15
- @source_text || JSON.generate(@source_hash)
16
- end
17
- end
18
-
19
- module FHIR
20
- class Model
21
- prepend ::InfernoFHIRModelExtensions
22
- end
23
- end
24
-
25
- # Extension to FHIR::Json. Prepending this into FHIR::Json (done below)
26
- # allows us to call super() on from_json
27
- module InfernoJson
28
- def from_json(json)
29
- resource = super(json)
30
- resource.source_text = json
31
- resource
32
- end
33
- end
34
-
35
- # Extension to FHIR::Xml. Prepending this into FHIR::Xml (done below)
36
- # allows us to call super() on from_xml
37
- module InfernoXml
38
- def from_xml(xml)
39
- resource = super(xml)
40
- resource.source_text = xml
41
- resource
42
- end
43
- end
44
-
45
- module FHIR
46
- module Json
47
- class << self
48
- prepend InfernoJson
49
- end
50
- end
51
- end
52
-
53
- module FHIR
54
- module Xml
55
- class << self
56
- prepend InfernoXml
57
- end
58
- end
59
- end
@@ -1,40 +0,0 @@
1
- require_relative '../../must_support_test'
2
-
3
- module IpaTestKit
4
- class AllergyIntoleranceMustSupportTest < Inferno::Test
5
- include IpaTestKit::MustSupportTest
6
-
7
- title 'All must support elements are provided in the AllergyIntolerance resources returned'
8
- description %(
9
- IPA Responders SHALL be capable of populating all data elements as
10
- part of the query results as specified by the IPA Server Capability
11
- Statement. This test will look through the AllergyIntolerance resources
12
- found previously for the following must support elements:
13
-
14
- * AllergyIntolerance.clinicalStatus
15
- * AllergyIntolerance.code
16
- * AllergyIntolerance.patient
17
- * AllergyIntolerance.reaction
18
- * AllergyIntolerance.reaction.manifestation
19
- * AllergyIntolerance.verificationStatus
20
- )
21
-
22
- id :ipa_010_allergy_intolerance_must_support_test
23
-
24
- def resource_type
25
- 'AllergyIntolerance'
26
- end
27
-
28
- def self.metadata
29
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
30
- end
31
-
32
- def scratch_resources
33
- scratch[:allergy_intolerance_resources] ||= {}
34
- end
35
-
36
- run do
37
- perform_must_support_test(all_scratch_resources)
38
- end
39
- end
40
- end
@@ -1,46 +0,0 @@
1
- require_relative '../../search_test'
2
- require_relative '../../generator/group_metadata'
3
-
4
- module IpaTestKit
5
- class AllergyIntolerancePatientClinicalStatusSearchTest < Inferno::Test
6
- include IpaTestKit::SearchTest
7
-
8
- title 'Server returns valid results for AllergyIntolerance search by patient + clinical-status'
9
- description %(
10
- A server SHOULD support searching by
11
- patient + clinical-status on the AllergyIntolerance resource. This test
12
- will pass if resources are returned and match the search criteria. If
13
- none are returned, the test is skipped.
14
-
15
- [IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
16
-
17
- )
18
-
19
- id :ipa_010_allergy_intolerance_patient_clinical_status_search_test
20
- optional
21
-
22
- input :patient_ids,
23
- title: 'Patient IDs',
24
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
25
-
26
- def self.properties
27
- @properties ||= SearchTestProperties.new(
28
- resource_type: 'AllergyIntolerance',
29
- search_param_names: ['patient', 'clinical-status'],
30
- token_search_params: ['clinical-status']
31
- )
32
- end
33
-
34
- def self.metadata
35
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
36
- end
37
-
38
- def scratch_resources
39
- scratch[:allergy_intolerance_resources] ||= {}
40
- end
41
-
42
- run do
43
- run_search_test
44
- end
45
- end
46
- end
@@ -1,60 +0,0 @@
1
- require_relative '../../search_test'
2
- require_relative '../../generator/group_metadata'
3
-
4
- module IpaTestKit
5
- class AllergyIntolerancePatientSearchTest < Inferno::Test
6
- include IpaTestKit::SearchTest
7
-
8
- title 'Server returns valid results for AllergyIntolerance search by patient'
9
- description %(
10
- A server SHALL support searching by
11
- patient on the AllergyIntolerance resource. This test
12
- will pass if resources are returned and match the search criteria. If
13
- none are returned, the test is skipped.
14
-
15
- This test verifies that the server supports searching by reference using
16
- the form `patient=[id]` as well as `patient=Patient/[id]`. The two
17
- different forms are expected to return the same number of results. IPA
18
- requires that both forms are supported by IPA responders.
19
-
20
- Because this is the first search of the sequence, resources in the
21
- response will be used for subsequent tests.
22
-
23
- Additionally, this test will check that GET and POST search methods
24
- return the same number of results. Search by POST is required by the
25
- FHIR R4 specification, and these tests interpret search by GET as a
26
- requirement of IPA v0.1.0.
27
-
28
- [IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
29
-
30
- )
31
-
32
- id :ipa_010_allergy_intolerance_patient_search_test
33
- input :patient_ids,
34
- title: 'Patient IDs',
35
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
36
-
37
- def self.properties
38
- @properties ||= SearchTestProperties.new(
39
- first_search: true,
40
- resource_type: 'AllergyIntolerance',
41
- search_param_names: ['patient'],
42
- possible_status_search: true,
43
- test_reference_variants: true,
44
- test_post_search: true
45
- )
46
- end
47
-
48
- def self.metadata
49
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
50
- end
51
-
52
- def scratch_resources
53
- scratch[:allergy_intolerance_resources] ||= {}
54
- end
55
-
56
- run do
57
- run_search_test
58
- end
59
- end
60
- end
@@ -1,49 +0,0 @@
1
- require_relative '../../search_test'
2
- require_relative '../../generator/group_metadata'
3
-
4
- module IpaTestKit
5
- class AllergyIntoleranceProvenanceRevincludeSearchTest < Inferno::Test
6
- include IpaTestKit::SearchTest
7
-
8
- title 'Server returns Provenance resources from AllergyIntolerance search by patient + revInclude:Provenance:target'
9
- description %(
10
- A server SHALL be capable of supporting _revIncludes:Provenance:target.
11
-
12
- This test will perform a search by patient + revInclude:Provenance:target and
13
- will pass if a Provenance resource is found in the response.
14
- %)
15
-
16
- id :ipa_010_allergy_intolerance_provenance_revinclude_search_test
17
-
18
- input :patient_ids,
19
- title: 'Patient IDs',
20
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
21
-
22
- def properties
23
- @properties ||= SearchTestProperties.new(
24
- resource_type: 'AllergyIntolerance',
25
- search_param_names: ['patient']
26
- )
27
- end
28
-
29
- def self.metadata
30
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
31
- end
32
-
33
- def self.provenance_metadata
34
- @provenance_metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '..', 'provenance', 'metadata.yml')))
35
- end
36
-
37
- def scratch_resources
38
- scratch[:allergy_intolerance_resources] ||= {}
39
- end
40
-
41
- def scratch_provenance_resources
42
- scratch[:provenance_resources] ||= {}
43
- end
44
-
45
- run do
46
- run_provenance_revinclude_search_test
47
- end
48
- end
49
- end
@@ -1,24 +0,0 @@
1
- require_relative '../../read_test'
2
-
3
- module IpaTestKit
4
- class AllergyIntoleranceReadTest < Inferno::Test
5
- include IpaTestKit::ReadTest
6
-
7
- title 'Server returns correct AllergyIntolerance resource from AllergyIntolerance read interaction'
8
- description 'A server SHALL support the AllergyIntolerance read interaction.'
9
-
10
- id :ipa_010_allergy_intolerance_read_test
11
-
12
- def resource_type
13
- 'AllergyIntolerance'
14
- end
15
-
16
- def scratch_resources
17
- scratch[:allergy_intolerance_resources] ||= {}
18
- end
19
-
20
- run do
21
- perform_read_test(all_scratch_resources)
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- require_relative '../../reference_resolution_test'
2
-
3
- module IpaTestKit
4
- class AllergyIntoleranceReferenceResolutionTest < Inferno::Test
5
- include IpaTestKit::ReferenceResolutionTest
6
-
7
- title 'Every reference within AllergyIntolerance resources can be read'
8
- description %(
9
- This test will attempt to read the first 50 references found in the
10
- resources from the first search. The test will fail if Inferno fails to
11
- read any of those references.
12
- )
13
-
14
- id :ipa_010_allergy_intolerance_reference_resolution_test
15
-
16
- def resource_type
17
- 'AllergyIntolerance'
18
- end
19
-
20
- def scratch_resources
21
- scratch[:allergy_intolerance_resources] ||= {}
22
- end
23
-
24
- run do
25
- perform_reference_resolution_test(scratch_resources[:all])
26
- end
27
- end
28
- end
@@ -1,34 +0,0 @@
1
- require_relative '../../validation_test'
2
-
3
- module IpaTestKit
4
- class AllergyIntoleranceValidationTest < Inferno::Test
5
- include IpaTestKit::ValidationTest
6
-
7
- id :ipa_010_allergy_intolerance_validation_test
8
- title 'AllergyIntolerance resources returned during previous tests conform to the IPA AllergyIntolerance Profile'
9
- description %(
10
- This test verifies resources returned from the first search conform to
11
- the [IPA AllergyIntolerance Profile](http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-allergyintolerance).
12
-
13
- It verifies the presence of mandatory elements and that elements with
14
- required bindings contain appropriate values. CodeableConcept element
15
- bindings will fail if none of their codings have a code/system belonging
16
- to the bound ValueSet. Quantity, Coding, and code element bindings will
17
- fail if their code/system are not found in the valueset.
18
-
19
- )
20
- output :dar_code_found, :dar_extension_found
21
-
22
- def resource_type
23
- 'AllergyIntolerance'
24
- end
25
-
26
- def scratch_resources
27
- scratch[:allergy_intolerance_resources] ||= {}
28
- end
29
-
30
- run do
31
- perform_validation_test(scratch_resources[:all] || [], 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-allergyintolerance')
32
- end
33
- end
34
- end
@@ -1,49 +0,0 @@
1
- require_relative '../../must_support_test'
2
-
3
- module IpaTestKit
4
- class BmiMustSupportTest < Inferno::Test
5
- include IpaTestKit::MustSupportTest
6
-
7
- title 'All must support elements are provided in the Observation resources returned'
8
- description %(
9
- IPA Responders SHALL be capable of populating all data elements as
10
- part of the query results as specified by the IPA Server Capability
11
- Statement. This test will look through the Observation resources
12
- found previously for the following must support elements:
13
-
14
- * Observation.category
15
- * Observation.category.coding
16
- * Observation.category.coding.code
17
- * Observation.category.coding.system
18
- * Observation.category:VSCat
19
- * Observation.code.coding.code
20
- * Observation.effective[x]
21
- * Observation.status
22
- * Observation.subject
23
- * Observation.value[x]
24
- * Observation.value[x].code
25
- * Observation.value[x].system
26
- * Observation.value[x].unit
27
- * Observation.value[x].value
28
- * Observation.value[x]:valueQuantity
29
- )
30
-
31
- id :ipa_010_bmi_must_support_test
32
-
33
- def resource_type
34
- 'Observation'
35
- end
36
-
37
- def self.metadata
38
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
39
- end
40
-
41
- def scratch_resources
42
- scratch[:bmi_resources] ||= {}
43
- end
44
-
45
- run do
46
- perform_must_support_test(all_scratch_resources)
47
- end
48
- end
49
- end
@@ -1,46 +0,0 @@
1
- require_relative '../../search_test'
2
- require_relative '../../generator/group_metadata'
3
-
4
- module IpaTestKit
5
- class BmiPatientCategoryDateSearchTest < Inferno::Test
6
- include IpaTestKit::SearchTest
7
-
8
- title 'Server returns valid results for Observation search by patient + category + date'
9
- description %(
10
- A server SHALL support searching by
11
- patient + category + date on the Observation resource. This test
12
- will pass if resources are returned and match the search criteria. If
13
- none are returned, the test is skipped.
14
-
15
- [IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
16
-
17
- )
18
-
19
- id :ipa_010_bmi_patient_category_date_search_test
20
- input :patient_ids,
21
- title: 'Patient IDs',
22
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
23
-
24
- def self.properties
25
- @properties ||= SearchTestProperties.new(
26
- resource_type: 'Observation',
27
- search_param_names: ['patient', 'category', 'date'],
28
- possible_status_search: true,
29
- token_search_params: ['category'],
30
- params_with_comparators: ['date']
31
- )
32
- end
33
-
34
- def self.metadata
35
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
36
- end
37
-
38
- def scratch_resources
39
- scratch[:bmi_resources] ||= {}
40
- end
41
-
42
- run do
43
- run_search_test
44
- end
45
- end
46
- end
@@ -1,45 +0,0 @@
1
- require_relative '../../search_test'
2
- require_relative '../../generator/group_metadata'
3
-
4
- module IpaTestKit
5
- class BmiPatientCategorySearchTest < Inferno::Test
6
- include IpaTestKit::SearchTest
7
-
8
- title 'Server returns valid results for Observation search by patient + category'
9
- description %(
10
- A server SHALL support searching by
11
- patient + category on the Observation resource. This test
12
- will pass if resources are returned and match the search criteria. If
13
- none are returned, the test is skipped.
14
-
15
- [IPA Server CapabilityStatement](https://build.fhir.org/ig/HL7/fhir-ipa/CapabilityStatement-ipa-server.html)
16
-
17
- )
18
-
19
- id :ipa_010_bmi_patient_category_search_test
20
- input :patient_ids,
21
- title: 'Patient IDs',
22
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
23
-
24
- def self.properties
25
- @properties ||= SearchTestProperties.new(
26
- resource_type: 'Observation',
27
- search_param_names: ['patient', 'category'],
28
- possible_status_search: true,
29
- token_search_params: ['category']
30
- )
31
- end
32
-
33
- def self.metadata
34
- @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml')))
35
- end
36
-
37
- def scratch_resources
38
- scratch[:bmi_resources] ||= {}
39
- end
40
-
41
- run do
42
- run_search_test
43
- end
44
- end
45
- end