au_core_test_kit 0.0.16

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 (501) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/lib/au_core_test_kit/assert_helpers.rb +31 -0
  4. data/lib/au_core_test_kit/au_core_options.rb +11 -0
  5. data/lib/au_core_test_kit/chained_search_test.rb +99 -0
  6. data/lib/au_core_test_kit/constants.rb +11 -0
  7. data/lib/au_core_test_kit/custom_groups/capability_statement/conformance_support_test.rb +43 -0
  8. data/lib/au_core_test_kit/custom_groups/capability_statement/fhir_version_test.rb +21 -0
  9. data/lib/au_core_test_kit/custom_groups/capability_statement/instantiate_test.rb +21 -0
  10. data/lib/au_core_test_kit/custom_groups/capability_statement/json_support_test.rb +39 -0
  11. data/lib/au_core_test_kit/custom_groups/capability_statement/profile_support_test.rb +53 -0
  12. data/lib/au_core_test_kit/custom_groups/capability_statement/xml_support_test.rb +40 -0
  13. data/lib/au_core_test_kit/custom_groups/clinical_note_attachment_test.rb +45 -0
  14. data/lib/au_core_test_kit/custom_groups/clinical_note_type_test.rb +114 -0
  15. data/lib/au_core_test_kit/custom_groups/missing_data_group.rb +88 -0
  16. data/lib/au_core_test_kit/custom_groups/smart_app_launch_group.rb +167 -0
  17. data/lib/au_core_test_kit/custom_groups/v0.3.0-ballot/capability_statement_group.rb +81 -0
  18. data/lib/au_core_test_kit/custom_groups/v0.3.0-ballot/profile_support_test.rb +51 -0
  19. data/lib/au_core_test_kit/custom_groups/v4.0.0/document_reference_custodian_test.rb +50 -0
  20. data/lib/au_core_test_kit/custom_suites/validation_suite.rb +53 -0
  21. data/lib/au_core_test_kit/date_search_validation.rb +114 -0
  22. data/lib/au_core_test_kit/fhir_resource_navigation.rb +177 -0
  23. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_clinical_status_search_test.rb +47 -0
  24. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_must_support_test.rb +46 -0
  25. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_chain_search_test.rb +50 -0
  26. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_clinical_status_search_test.rb +52 -0
  27. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_dva_chain_search_test.rb +51 -0
  28. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_ihi_chain_search_test.rb +51 -0
  29. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_medicare_chain_search_test.rb +51 -0
  30. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_patient_search_test.rb +66 -0
  31. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_read_test.rb +28 -0
  32. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +42 -0
  33. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/allergy_intolerance_validation_test.rb +42 -0
  34. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance/metadata.yml +159 -0
  35. data/lib/au_core_test_kit/generated/v1.0.0-preview/allergy_intolerance_group.rb +93 -0
  36. data/lib/au_core_test_kit/generated/v1.0.0-preview/au_core_test_suite.rb +164 -0
  37. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_category_search_test.rb +48 -0
  38. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_code_multiple_or_search_test.rb +49 -0
  39. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_code_search_test.rb +48 -0
  40. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_date_multiple_and_search_test.rb +49 -0
  41. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_date_search_test.rb +48 -0
  42. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_must_support_test.rb +67 -0
  43. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_category_date_search_test.rb +52 -0
  44. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_category_search_test.rb +51 -0
  45. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_category_status_search_test.rb +52 -0
  46. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_chain_search_test.rb +50 -0
  47. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_code_date_search_test.rb +54 -0
  48. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_code_search_test.rb +68 -0
  49. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_dva_chain_search_test.rb +51 -0
  50. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_ihi_chain_search_test.rb +51 -0
  51. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_medicare_chain_search_test.rb +51 -0
  52. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_patient_search_test.rb +52 -0
  53. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_read_test.rb +28 -0
  54. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_reference_resolution_test.rb +42 -0
  55. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_status_multiple_or_search_test.rb +49 -0
  56. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_status_search_test.rb +46 -0
  57. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/bloodpressure_validation_test.rb +42 -0
  58. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure/metadata.yml +364 -0
  59. data/lib/au_core_test_kit/generated/v1.0.0-preview/bloodpressure_group.rb +115 -0
  60. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_category_search_test.rb +48 -0
  61. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_code_multiple_or_search_test.rb +49 -0
  62. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_code_search_test.rb +48 -0
  63. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_date_multiple_and_search_test.rb +49 -0
  64. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_date_search_test.rb +48 -0
  65. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_must_support_test.rb +53 -0
  66. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_category_date_search_test.rb +52 -0
  67. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_category_search_test.rb +51 -0
  68. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_category_status_search_test.rb +52 -0
  69. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_chain_search_test.rb +50 -0
  70. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_code_date_search_test.rb +54 -0
  71. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_code_search_test.rb +68 -0
  72. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_dva_chain_search_test.rb +51 -0
  73. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_ihi_chain_search_test.rb +51 -0
  74. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_medicare_chain_search_test.rb +51 -0
  75. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_patient_search_test.rb +52 -0
  76. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_read_test.rb +28 -0
  77. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_reference_resolution_test.rb +42 -0
  78. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_status_multiple_or_search_test.rb +49 -0
  79. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_status_search_test.rb +46 -0
  80. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/bodyheight_validation_test.rb +42 -0
  81. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight/metadata.yml +330 -0
  82. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyheight_group.rb +115 -0
  83. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_category_search_test.rb +48 -0
  84. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_code_multiple_or_search_test.rb +49 -0
  85. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_code_search_test.rb +48 -0
  86. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_date_multiple_and_search_test.rb +49 -0
  87. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_date_search_test.rb +48 -0
  88. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_must_support_test.rb +53 -0
  89. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_category_date_search_test.rb +52 -0
  90. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_category_search_test.rb +51 -0
  91. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_category_status_search_test.rb +52 -0
  92. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_chain_search_test.rb +50 -0
  93. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_code_date_search_test.rb +54 -0
  94. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_code_search_test.rb +68 -0
  95. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_dva_chain_search_test.rb +51 -0
  96. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_ihi_chain_search_test.rb +51 -0
  97. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_medicare_chain_search_test.rb +51 -0
  98. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_patient_search_test.rb +52 -0
  99. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_read_test.rb +28 -0
  100. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_reference_resolution_test.rb +42 -0
  101. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_status_multiple_or_search_test.rb +49 -0
  102. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_status_search_test.rb +46 -0
  103. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/bodytemp_validation_test.rb +42 -0
  104. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp/metadata.yml +330 -0
  105. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodytemp_group.rb +115 -0
  106. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_category_search_test.rb +48 -0
  107. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_code_multiple_or_search_test.rb +49 -0
  108. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_code_search_test.rb +48 -0
  109. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_date_multiple_and_search_test.rb +49 -0
  110. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_date_search_test.rb +48 -0
  111. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_must_support_test.rb +53 -0
  112. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_category_date_search_test.rb +52 -0
  113. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_category_search_test.rb +51 -0
  114. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_category_status_search_test.rb +52 -0
  115. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_chain_search_test.rb +50 -0
  116. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_code_date_search_test.rb +54 -0
  117. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_code_search_test.rb +68 -0
  118. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_dva_chain_search_test.rb +51 -0
  119. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_ihi_chain_search_test.rb +51 -0
  120. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_medicare_chain_search_test.rb +51 -0
  121. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_patient_search_test.rb +52 -0
  122. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_read_test.rb +28 -0
  123. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_reference_resolution_test.rb +42 -0
  124. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_status_multiple_or_search_test.rb +49 -0
  125. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_status_search_test.rb +46 -0
  126. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/bodyweight_validation_test.rb +42 -0
  127. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight/metadata.yml +330 -0
  128. data/lib/au_core_test_kit/generated/v1.0.0-preview/bodyweight_group.rb +115 -0
  129. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_category_search_test.rb +48 -0
  130. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_clinical_status_search_test.rb +47 -0
  131. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_code_multiple_or_search_test.rb +48 -0
  132. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_code_search_test.rb +48 -0
  133. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_must_support_test.rb +47 -0
  134. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_onset_date_multiple_and_search_test.rb +49 -0
  135. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_onset_date_search_test.rb +48 -0
  136. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_category_clinical_status_search_test.rb +52 -0
  137. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_category_search_test.rb +51 -0
  138. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_chain_search_test.rb +50 -0
  139. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_clinical_status_search_test.rb +50 -0
  140. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_code_search_test.rb +53 -0
  141. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_dva_chain_search_test.rb +51 -0
  142. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_ihi_chain_search_test.rb +51 -0
  143. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_medicare_chain_search_test.rb +51 -0
  144. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_onset_date_search_test.rb +53 -0
  145. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_patient_search_test.rb +66 -0
  146. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_read_test.rb +28 -0
  147. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_reference_resolution_test.rb +42 -0
  148. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/condition_validation_test.rb +42 -0
  149. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition/metadata.yml +259 -0
  150. data/lib/au_core_test_kit/generated/v1.0.0-preview/condition_group.rb +113 -0
  151. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_category_search_test.rb +48 -0
  152. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_code_multiple_or_search_test.rb +49 -0
  153. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_code_search_test.rb +48 -0
  154. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_date_multiple_and_search_test.rb +49 -0
  155. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_date_search_test.rb +48 -0
  156. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_must_support_test.rb +50 -0
  157. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_category_date_search_test.rb +52 -0
  158. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_category_search_test.rb +51 -0
  159. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_category_status_search_test.rb +52 -0
  160. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_chain_search_test.rb +50 -0
  161. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_code_date_search_test.rb +54 -0
  162. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_code_search_test.rb +69 -0
  163. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_dva_chain_search_test.rb +51 -0
  164. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_ihi_chain_search_test.rb +51 -0
  165. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_medicare_chain_search_test.rb +51 -0
  166. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_patient_search_test.rb +52 -0
  167. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_read_test.rb +28 -0
  168. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_reference_resolution_test.rb +44 -0
  169. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_status_multiple_or_search_test.rb +49 -0
  170. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_status_search_test.rb +46 -0
  171. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/diagnosticresult_validation_test.rb +42 -0
  172. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult/metadata.yml +299 -0
  173. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_group.rb +115 -0
  174. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_category_search_test.rb +48 -0
  175. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_code_multiple_or_search_test.rb +49 -0
  176. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_code_search_test.rb +48 -0
  177. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_date_multiple_and_search_test.rb +49 -0
  178. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_date_search_test.rb +48 -0
  179. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_must_support_test.rb +56 -0
  180. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_category_date_search_test.rb +52 -0
  181. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_category_search_test.rb +69 -0
  182. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_category_status_search_test.rb +52 -0
  183. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_chain_search_test.rb +50 -0
  184. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_code_date_search_test.rb +54 -0
  185. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_code_search_test.rb +51 -0
  186. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_dva_chain_search_test.rb +51 -0
  187. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_ihi_chain_search_test.rb +51 -0
  188. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_medicare_chain_search_test.rb +51 -0
  189. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_patient_search_test.rb +52 -0
  190. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_read_test.rb +28 -0
  191. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_reference_resolution_test.rb +45 -0
  192. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_status_multiple_or_search_test.rb +49 -0
  193. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_status_search_test.rb +46 -0
  194. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/diagnosticresult_path_validation_test.rb +42 -0
  195. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path/metadata.yml +312 -0
  196. data/lib/au_core_test_kit/generated/v1.0.0-preview/diagnosticresult_path_group.rb +115 -0
  197. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_class_patient_search_test.rb +53 -0
  198. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_class_search_test.rb +48 -0
  199. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_date_multiple_and_search_test.rb +49 -0
  200. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_date_patient_search_test.rb +51 -0
  201. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_date_search_test.rb +48 -0
  202. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_location_search_test.rb +47 -0
  203. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_must_support_test.rb +51 -0
  204. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_chain_search_test.rb +50 -0
  205. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_dva_chain_search_test.rb +51 -0
  206. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_ihi_chain_search_test.rb +51 -0
  207. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_location_search_test.rb +52 -0
  208. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_medicare_chain_search_test.rb +51 -0
  209. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_search_test.rb +67 -0
  210. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_patient_status_search_test.rb +51 -0
  211. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_read_test.rb +28 -0
  212. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_reference_resolution_test.rb +46 -0
  213. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_status_multiple_or_search_test.rb +48 -0
  214. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_status_search_test.rb +46 -0
  215. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/encounter_validation_test.rb +42 -0
  216. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter/metadata.yml +305 -0
  217. data/lib/au_core_test_kit/generated/v1.0.0-preview/encounter_group.rb +110 -0
  218. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_category_search_test.rb +48 -0
  219. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_code_multiple_or_search_test.rb +49 -0
  220. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_code_search_test.rb +48 -0
  221. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_date_multiple_and_search_test.rb +49 -0
  222. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_date_search_test.rb +48 -0
  223. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_must_support_test.rb +53 -0
  224. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_category_date_search_test.rb +52 -0
  225. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_category_search_test.rb +51 -0
  226. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_category_status_search_test.rb +52 -0
  227. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_chain_search_test.rb +50 -0
  228. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_code_date_search_test.rb +54 -0
  229. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_code_search_test.rb +68 -0
  230. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_dva_chain_search_test.rb +51 -0
  231. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_ihi_chain_search_test.rb +51 -0
  232. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_medicare_chain_search_test.rb +51 -0
  233. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_patient_search_test.rb +52 -0
  234. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_read_test.rb +28 -0
  235. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_reference_resolution_test.rb +42 -0
  236. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_status_multiple_or_search_test.rb +49 -0
  237. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_status_search_test.rb +46 -0
  238. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/heartrate_validation_test.rb +42 -0
  239. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate/metadata.yml +327 -0
  240. data/lib/au_core_test_kit/generated/v1.0.0-preview/heartrate_group.rb +115 -0
  241. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_date_multiple_and_search_test.rb +49 -0
  242. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_date_search_test.rb +48 -0
  243. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_must_support_test.rb +44 -0
  244. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_chain_search_test.rb +50 -0
  245. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_date_search_test.rb +53 -0
  246. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_dva_chain_search_test.rb +51 -0
  247. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_ihi_chain_search_test.rb +51 -0
  248. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_medicare_chain_search_test.rb +51 -0
  249. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_search_test.rb +66 -0
  250. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_status_search_test.rb +49 -0
  251. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_patient_vaccine_code_search_test.rb +53 -0
  252. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_read_test.rb +28 -0
  253. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_reference_resolution_test.rb +42 -0
  254. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_status_search_test.rb +46 -0
  255. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_vaccine_code_multiple_or_search_test.rb +49 -0
  256. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_vaccine_code_search_test.rb +48 -0
  257. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/immunization_validation_test.rb +42 -0
  258. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization/metadata.yml +226 -0
  259. data/lib/au_core_test_kit/generated/v1.0.0-preview/immunization_group.rb +106 -0
  260. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_address_city_search_test.rb +46 -0
  261. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_address_postalcode_search_test.rb +46 -0
  262. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_address_search_test.rb +57 -0
  263. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_address_state_search_test.rb +46 -0
  264. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_must_support_test.rb +43 -0
  265. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_name_search_test.rb +44 -0
  266. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_read_test.rb +34 -0
  267. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_reference_resolution_test.rb +42 -0
  268. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/location_validation_test.rb +42 -0
  269. data/lib/au_core_test_kit/generated/v1.0.0-preview/location/metadata.yml +162 -0
  270. data/lib/au_core_test_kit/generated/v1.0.0-preview/location_group.rb +89 -0
  271. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_authoredon_multiple_and_search_test.rb +50 -0
  272. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_authoredon_search_test.rb +54 -0
  273. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_id_include_medication_test.rb +49 -0
  274. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_id_search_test.rb +53 -0
  275. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_intent_multiple_or_search_test.rb +50 -0
  276. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_intent_search_test.rb +53 -0
  277. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_must_support_test.rb +48 -0
  278. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_chain_search_test.rb +50 -0
  279. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_dva_chain_search_test.rb +51 -0
  280. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_ihi_chain_search_test.rb +51 -0
  281. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_include_medication_test.rb +50 -0
  282. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_authoredon_include_medication_test.rb +49 -0
  283. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_authoredon_search_test.rb +59 -0
  284. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_include_medication_test.rb +49 -0
  285. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_search_test.rb +58 -0
  286. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_status_include_medication_test.rb +49 -0
  287. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_intent_status_search_test.rb +57 -0
  288. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_medicare_chain_search_test.rb +51 -0
  289. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_search_test.rb +73 -0
  290. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_patient_status_search_test.rb +55 -0
  291. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_read_test.rb +28 -0
  292. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_reference_resolution_test.rb +46 -0
  293. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_status_multiple_or_search_test.rb +48 -0
  294. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_status_search_test.rb +52 -0
  295. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_request_validation_test.rb +42 -0
  296. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/medication_validation_test.rb +41 -0
  297. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request/metadata.yml +330 -0
  298. data/lib/au_core_test_kit/generated/v1.0.0-preview/medication_request_group.rb +124 -0
  299. data/lib/au_core_test_kit/generated/v1.0.0-preview/metadata.yml +4882 -0
  300. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/metadata.yml +122 -0
  301. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_address_search_test.rb +46 -0
  302. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_id_search_test.rb +56 -0
  303. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_identifier_abn_search_test.rb +45 -0
  304. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_identifier_hpio_search_test.rb +45 -0
  305. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_identifier_search_test.rb +45 -0
  306. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_must_support_test.rb +43 -0
  307. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_name_search_test.rb +44 -0
  308. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_read_test.rb +34 -0
  309. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization/organization_validation_test.rb +42 -0
  310. data/lib/au_core_test_kit/generated/v1.0.0-preview/organization_group.rb +90 -0
  311. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/metadata.yml +293 -0
  312. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_birthdate_family_search_test.rb +48 -0
  313. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_birthdate_multiple_and_search_test.rb +48 -0
  314. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_birthdate_name_search_test.rb +48 -0
  315. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_birthdate_search_test.rb +48 -0
  316. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_family_gender_search_test.rb +47 -0
  317. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_family_search_test.rb +47 -0
  318. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_gender_identity_multiple_and_search_test.rb +48 -0
  319. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_gender_identity_multiple_or_search_test.rb +48 -0
  320. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_gender_identity_search_test.rb +47 -0
  321. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_gender_name_search_test.rb +47 -0
  322. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_gender_search_test.rb +47 -0
  323. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_id_search_test.rb +61 -0
  324. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_identifier_dva_search_test.rb +45 -0
  325. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_identifier_ihi_search_test.rb +45 -0
  326. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_identifier_medicare_search_test.rb +45 -0
  327. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_identifier_search_test.rb +46 -0
  328. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_indigenous_status_multiple_and_search_test.rb +48 -0
  329. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_indigenous_status_multiple_or_search_test.rb +48 -0
  330. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_indigenous_status_search_test.rb +46 -0
  331. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_must_support_test.rb +54 -0
  332. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_name_search_test.rb +47 -0
  333. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_read_test.rb +28 -0
  334. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient/patient_validation_test.rb +42 -0
  335. data/lib/au_core_test_kit/generated/v1.0.0-preview/patient_group.rb +118 -0
  336. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/metadata.yml +108 -0
  337. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_id_search_test.rb +56 -0
  338. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_identifier_hpii_search_test.rb +45 -0
  339. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_identifier_search_test.rb +45 -0
  340. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_must_support_test.rb +42 -0
  341. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_name_search_test.rb +46 -0
  342. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_read_test.rb +34 -0
  343. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner/practitioner_validation_test.rb +42 -0
  344. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_group.rb +85 -0
  345. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/metadata.yml +204 -0
  346. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_id_include_practitioner_test.rb +50 -0
  347. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_id_search_test.rb +58 -0
  348. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_identifier_include_practitioner_test.rb +49 -0
  349. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_identifier_medicare_search_test.rb +45 -0
  350. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_identifier_search_test.rb +46 -0
  351. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_must_support_test.rb +44 -0
  352. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_organization_search_test.rb +47 -0
  353. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_practitioner_chain_search_test.rb +50 -0
  354. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_practitioner_include_practitioner_test.rb +49 -0
  355. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_practitioner_multiple_and_search_test.rb +49 -0
  356. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_practitioner_multiple_or_search_test.rb +49 -0
  357. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_practitioner_search_test.rb +51 -0
  358. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_read_test.rb +34 -0
  359. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_reference_resolution_test.rb +43 -0
  360. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_role_search_test.rb +48 -0
  361. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_specialty_include_practitioner_test.rb +49 -0
  362. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_specialty_search_test.rb +48 -0
  363. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role/practitioner_role_validation_test.rb +42 -0
  364. data/lib/au_core_test_kit/generated/v1.0.0-preview/practitioner_role_group.rb +108 -0
  365. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/metadata.yml +265 -0
  366. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_code_multiple_or_search_test.rb +49 -0
  367. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_code_search_test.rb +48 -0
  368. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_date_multiple_and_search_test.rb +48 -0
  369. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_date_search_test.rb +48 -0
  370. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_must_support_test.rb +45 -0
  371. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_chain_search_test.rb +50 -0
  372. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_code_date_search_test.rb +54 -0
  373. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_date_search_test.rb +51 -0
  374. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_dva_chain_search_test.rb +51 -0
  375. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_ihi_chain_search_test.rb +51 -0
  376. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_medicare_chain_search_test.rb +51 -0
  377. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_search_test.rb +66 -0
  378. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_patient_status_search_test.rb +51 -0
  379. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_read_test.rb +28 -0
  380. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_reference_resolution_test.rb +44 -0
  381. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_status_multiple_or_search_test.rb +49 -0
  382. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_status_search_test.rb +46 -0
  383. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure/procedure_validation_test.rb +42 -0
  384. data/lib/au_core_test_kit/generated/v1.0.0-preview/procedure_group.rb +108 -0
  385. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/metadata.yml +327 -0
  386. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_category_search_test.rb +48 -0
  387. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_code_multiple_or_search_test.rb +49 -0
  388. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_code_search_test.rb +48 -0
  389. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_date_multiple_and_search_test.rb +49 -0
  390. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_date_search_test.rb +48 -0
  391. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_must_support_test.rb +53 -0
  392. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_category_date_search_test.rb +52 -0
  393. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_category_search_test.rb +51 -0
  394. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_category_status_search_test.rb +52 -0
  395. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_chain_search_test.rb +50 -0
  396. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_code_date_search_test.rb +54 -0
  397. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_code_search_test.rb +68 -0
  398. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_dva_chain_search_test.rb +51 -0
  399. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_ihi_chain_search_test.rb +51 -0
  400. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_medicare_chain_search_test.rb +51 -0
  401. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_patient_search_test.rb +52 -0
  402. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_read_test.rb +28 -0
  403. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_reference_resolution_test.rb +42 -0
  404. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_status_multiple_or_search_test.rb +49 -0
  405. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_status_search_test.rb +46 -0
  406. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate/resprate_validation_test.rb +42 -0
  407. data/lib/au_core_test_kit/generated/v1.0.0-preview/resprate_group.rb +115 -0
  408. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/metadata.yml +287 -0
  409. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_category_search_test.rb +48 -0
  410. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_code_multiple_or_search_test.rb +49 -0
  411. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_code_search_test.rb +48 -0
  412. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_date_multiple_and_search_test.rb +49 -0
  413. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_date_search_test.rb +48 -0
  414. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_must_support_test.rb +44 -0
  415. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_category_date_search_test.rb +52 -0
  416. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_category_search_test.rb +51 -0
  417. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_category_status_search_test.rb +52 -0
  418. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_chain_search_test.rb +50 -0
  419. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_code_date_search_test.rb +54 -0
  420. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_code_search_test.rb +68 -0
  421. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_dva_chain_search_test.rb +51 -0
  422. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_ihi_chain_search_test.rb +51 -0
  423. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_medicare_chain_search_test.rb +51 -0
  424. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_patient_search_test.rb +52 -0
  425. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_read_test.rb +28 -0
  426. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_reference_resolution_test.rb +42 -0
  427. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_status_multiple_or_search_test.rb +49 -0
  428. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_status_search_test.rb +46 -0
  429. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus/smokingstatus_validation_test.rb +42 -0
  430. data/lib/au_core_test_kit/generated/v1.0.0-preview/smokingstatus_group.rb +115 -0
  431. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/metadata.yml +325 -0
  432. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_category_search_test.rb +48 -0
  433. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_code_multiple_or_search_test.rb +49 -0
  434. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_code_search_test.rb +48 -0
  435. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_date_multiple_and_search_test.rb +49 -0
  436. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_date_search_test.rb +48 -0
  437. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_must_support_test.rb +49 -0
  438. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_category_date_search_test.rb +52 -0
  439. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_category_search_test.rb +51 -0
  440. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_category_status_search_test.rb +52 -0
  441. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_chain_search_test.rb +50 -0
  442. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_code_date_search_test.rb +54 -0
  443. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_code_search_test.rb +68 -0
  444. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_dva_chain_search_test.rb +51 -0
  445. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_ihi_chain_search_test.rb +51 -0
  446. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_medicare_chain_search_test.rb +51 -0
  447. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_patient_search_test.rb +52 -0
  448. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_read_test.rb +28 -0
  449. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_reference_resolution_test.rb +42 -0
  450. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_status_multiple_or_search_test.rb +49 -0
  451. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_status_search_test.rb +46 -0
  452. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum/waistcircum_validation_test.rb +42 -0
  453. data/lib/au_core_test_kit/generated/v1.0.0-preview/waistcircum_group.rb +115 -0
  454. data/lib/au_core_test_kit/generator/chain_search_test_generator.rb +169 -0
  455. data/lib/au_core_test_kit/generator/group_generator.rb +143 -0
  456. data/lib/au_core_test_kit/generator/group_metadata.rb +103 -0
  457. data/lib/au_core_test_kit/generator/group_metadata_extractor.rb +336 -0
  458. data/lib/au_core_test_kit/generator/ig_download.rb +59 -0
  459. data/lib/au_core_test_kit/generator/ig_loader.rb +88 -0
  460. data/lib/au_core_test_kit/generator/ig_metadata.rb +51 -0
  461. data/lib/au_core_test_kit/generator/ig_metadata_extractor.rb +92 -0
  462. data/lib/au_core_test_kit/generator/ig_resources.rb +106 -0
  463. data/lib/au_core_test_kit/generator/include_search_test_generator.rb +111 -0
  464. data/lib/au_core_test_kit/generator/multiple_and_search_test_generator.rb +216 -0
  465. data/lib/au_core_test_kit/generator/multiple_or_search_test_generator.rb +219 -0
  466. data/lib/au_core_test_kit/generator/must_support_metadata_extractor.rb +472 -0
  467. data/lib/au_core_test_kit/generator/must_support_metadata_extractor_au_core_3.rb +64 -0
  468. data/lib/au_core_test_kit/generator/must_support_test_generator.rb +118 -0
  469. data/lib/au_core_test_kit/generator/naming.rb +57 -0
  470. data/lib/au_core_test_kit/generator/provenance_revinclude_search_test_generator.rb +193 -0
  471. data/lib/au_core_test_kit/generator/read_test_generator.rb +112 -0
  472. data/lib/au_core_test_kit/generator/reference_resolution_test_generator.rb +94 -0
  473. data/lib/au_core_test_kit/generator/search_definition_metadata_extractor.rb +340 -0
  474. data/lib/au_core_test_kit/generator/search_metadata_extractor.rb +95 -0
  475. data/lib/au_core_test_kit/generator/search_test_generator.rb +386 -0
  476. data/lib/au_core_test_kit/generator/special_cases.rb +91 -0
  477. data/lib/au_core_test_kit/generator/special_identifier_search_test_generator.rb +85 -0
  478. data/lib/au_core_test_kit/generator/special_identifiers_chain_search_test_generator.rb +77 -0
  479. data/lib/au_core_test_kit/generator/suite_generator.rb +104 -0
  480. data/lib/au_core_test_kit/generator/summary_generator.rb +172 -0
  481. data/lib/au_core_test_kit/generator/terminology_binding_metadata_extractor.rb +118 -0
  482. data/lib/au_core_test_kit/generator/validation_test_generator.rb +142 -0
  483. data/lib/au_core_test_kit/generator/value_extractor.rb +107 -0
  484. data/lib/au_core_test_kit/generator.rb +146 -0
  485. data/lib/au_core_test_kit/helpers.rb +238 -0
  486. data/lib/au_core_test_kit/igs/1.0.0-preview.tgz +0 -0
  487. data/lib/au_core_test_kit/igs/au-base-resources.json +1 -0
  488. data/lib/au_core_test_kit/igs/search-params.json +80725 -0
  489. data/lib/au_core_test_kit/must_support_test.rb +221 -0
  490. data/lib/au_core_test_kit/provenance_validator.rb +38 -0
  491. data/lib/au_core_test_kit/read_test.rb +121 -0
  492. data/lib/au_core_test_kit/reference_resolution_test.rb +193 -0
  493. data/lib/au_core_test_kit/request_logger.rb +48 -0
  494. data/lib/au_core_test_kit/search_test.rb +1032 -0
  495. data/lib/au_core_test_kit/search_test_helpers.rb +21 -0
  496. data/lib/au_core_test_kit/search_test_properties.rb +67 -0
  497. data/lib/au_core_test_kit/special_identifier_search_test.rb +94 -0
  498. data/lib/au_core_test_kit/validation_test.rb +62 -0
  499. data/lib/au_core_test_kit/version.rb +5 -0
  500. data/lib/au_core_test_kit.rb +15 -0
  501. metadata +642 -0
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AUCoreTestKit
4
+ class Generator
5
+ class MustSupportMetadataExtractorAUCore3
6
+ attr_accessor :profile, :must_supports
7
+
8
+ def initialize(profile, must_supports)
9
+ self.profile = profile
10
+ self.must_supports = must_supports
11
+ end
12
+
13
+ def handle_special_cases
14
+ add_must_support_choices
15
+ remove_patient_address_period
16
+ remove_document_reference_custodian
17
+ end
18
+
19
+ def add_must_support_choices
20
+ choices = []
21
+
22
+ case profile.type
23
+ when 'Device'
24
+ choices << { paths: ['udiCarrier.carrierAIDC', 'udiCarrier.carrierHRF'] }
25
+ when 'DocumentReference'
26
+ choices << { paths: ['content.attachment.data', 'content.attachment.url'] }
27
+ when 'Patient'
28
+ # FHIR-40299 adds USCDI MustSupport choices for:
29
+ # * address.period.end and address.use,
30
+ # * name.period.end and name.use
31
+ choices << {
32
+ paths: ['address.period.end', 'address.use'],
33
+ uscdi_only: true
34
+ }
35
+
36
+ choices << {
37
+ paths: ['name.period.end', 'name.use'],
38
+ uscdi_only: true
39
+ }
40
+ end
41
+
42
+ must_supports[:choices] = choices if choices.present?
43
+ end
44
+
45
+ # FHIR-40299 removes Patient.address.period from MustSupport,
46
+ def remove_patient_address_period
47
+ return unless profile.type == 'Patient'
48
+
49
+ must_supports[:elements].delete_if do |element|
50
+ element[:path] == 'address.period'
51
+ end
52
+ end
53
+
54
+ # AU Core clarified that server implmentation is not required to support DocumentReference.custodian (FHIR-28393)
55
+ def remove_document_reference_custodian
56
+ return unless profile.type == 'DocumentReference'
57
+
58
+ must_supports[:elements].delete_if do |element|
59
+ element[:path] == 'custodian'
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'naming'
4
+ require_relative 'special_cases'
5
+
6
+ module AUCoreTestKit
7
+ class Generator
8
+ class MustSupportTestGenerator
9
+ class << self
10
+ def generate(ig_metadata, base_output_dir)
11
+ ig_metadata.groups
12
+ .reject { |group| SpecialCases.exclude_group? group }
13
+ .each { |group| new(group, base_output_dir).generate }
14
+ end
15
+ end
16
+
17
+ attr_accessor :group_metadata, :base_output_dir
18
+
19
+ def initialize(group_metadata, base_output_dir)
20
+ self.group_metadata = group_metadata
21
+ self.base_output_dir = base_output_dir
22
+ end
23
+
24
+ def template
25
+ @template ||= File.read(File.join(__dir__, 'templates', 'must_support.rb.erb'))
26
+ end
27
+
28
+ def output
29
+ @output ||= ERB.new(template).result(binding)
30
+ end
31
+
32
+ def base_output_file_name
33
+ "#{class_name.underscore}.rb"
34
+ end
35
+
36
+ def output_file_directory
37
+ File.join(base_output_dir, profile_identifier)
38
+ end
39
+
40
+ def output_file_name
41
+ File.join(output_file_directory, base_output_file_name)
42
+ end
43
+
44
+ def read_interaction
45
+ self.class.read_interaction(group_metadata)
46
+ end
47
+
48
+ def profile_identifier
49
+ Naming.snake_case_for_profile(group_metadata)
50
+ end
51
+
52
+ def test_id
53
+ "au_core_#{group_metadata.reformatted_version}_#{profile_identifier}_must_support_test"
54
+ end
55
+
56
+ def class_name
57
+ "#{Naming.upper_camel_case_for_profile(group_metadata)}MustSupportTest"
58
+ end
59
+
60
+ def module_name
61
+ "AUCore#{group_metadata.reformatted_version.upcase}"
62
+ end
63
+
64
+ def resource_type
65
+ group_metadata.resource
66
+ end
67
+
68
+ def resource_collection_string
69
+ 'all_scratch_resources'
70
+ end
71
+
72
+ def must_support_list_string
73
+ build_must_support_list_string(false)
74
+ end
75
+
76
+ def uscdi_list_string
77
+ build_must_support_list_string(true)
78
+ end
79
+
80
+ def build_must_support_list_string(uscdi_only)
81
+ slice_names = group_metadata.must_supports[:slices]
82
+ .select { |slice| slice[:uscdi_only].presence == uscdi_only.presence }
83
+ .map { |slice| slice[:slice_id] }
84
+
85
+ element_names = group_metadata.must_supports[:elements]
86
+ .select { |element| element[:uscdi_only].presence == uscdi_only.presence }
87
+ .map { |element| "#{resource_type}.#{element[:path]}" }
88
+
89
+ extension_names = group_metadata.must_supports[:extensions]
90
+ .select { |extension| extension[:uscdi_only].presence == uscdi_only.presence }
91
+ .map { |extension| extension[:id] }
92
+
93
+ group_metadata.must_supports[:choices]&.each do |choice|
94
+ next unless choice[:uscdi_only].presence == uscdi_only.presence && choice.key?(:paths)
95
+
96
+ choice[:paths].each { |path| element_names.delete("#{resource_type}.#{path}") }
97
+ element_names << choice[:paths].map { |path| "#{resource_type}.#{path}" }.join(' or ')
98
+ end
99
+
100
+ (slice_names + element_names + extension_names)
101
+ .uniq
102
+ .sort
103
+ .map { |name| "#{' ' * 8}* #{name}" }
104
+ .join("\n")
105
+ end
106
+
107
+ def generate
108
+ FileUtils.mkdir_p(output_file_directory)
109
+ File.open(output_file_name, 'w') { |f| f.write(output) }
110
+
111
+ group_metadata.add_test(
112
+ id: test_id,
113
+ file_name: base_output_file_name
114
+ )
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AUCoreTestKit
4
+ class Generator
5
+ module Naming
6
+ HEART_RATE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate'
7
+ PATIENT = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient'
8
+ BLOOD_PRESSURE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure'
9
+ PROVENANCE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-provenance'
10
+ LOCATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-location'
11
+ BODY_TEMPERATURE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodytemp'
12
+ RESPIRATION_RATE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-resprate'
13
+ MEDICATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication'
14
+ SEX_ASSIGNED_AT_BIRTH = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-rsg-sexassignedab'
15
+ MEDICATIONSTATEMENT = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement'
16
+ ALLERGYINTOLERANCE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance'
17
+ PATHOLOGY_RESULT_OBSERVATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path'
18
+ BODY_HEIGHT = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight'
19
+ MEDICATIONREQUEST = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationrequest'
20
+ SMOKING_STATUS = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus'
21
+ CONDITION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition'
22
+ WAIST_CIRCUMFERENCE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum'
23
+ BODY_WEIGHT = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight'
24
+ ENCOUNTER = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter'
25
+ ORGANIZATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization'
26
+ PRACTITIONER = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner'
27
+ PROCEDURE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-procedure'
28
+ IMMUNIZATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization'
29
+ DIAGNOSTIC_RESULT_OBSERVATION = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult'
30
+ PRACTITIONERROLE = 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitionerrole'
31
+
32
+ class << self
33
+ def resources_with_multiple_profiles
34
+ %w[Condition DiagnosticReport Observation]
35
+ end
36
+
37
+ def resource_has_multiple_profiles?(resource)
38
+ resources_with_multiple_profiles.include? resource
39
+ end
40
+
41
+ def snake_case_for_profile(group_metadata)
42
+ resource = group_metadata.resource
43
+ return resource.underscore unless resource_has_multiple_profiles?(resource)
44
+
45
+ group_metadata.name
46
+ .delete_prefix('au_core_')
47
+ .gsub('diagnosticreport', 'diagnostic_report')
48
+ .underscore
49
+ end
50
+
51
+ def upper_camel_case_for_profile(group_metadata)
52
+ snake_case_for_profile(group_metadata).camelize
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,193 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'naming'
4
+ require_relative 'special_cases'
5
+
6
+ module AUCoreTestKit
7
+ class Generator
8
+ class ProvenanceRevincludeSearchTestGenerator
9
+ class << self
10
+ def generate(ig_metadata, base_output_dir)
11
+ ig_metadata.groups
12
+ .reject { |group| SpecialCases.exclude_group? group }
13
+ .select { |group| group.revincludes.include? 'Provenance:target' }
14
+ .each { |group| new(group, group.searches.first, base_output_dir).generate }
15
+ end
16
+ end
17
+
18
+ attr_accessor :group_metadata, :search_metadata, :base_output_dir
19
+
20
+ def initialize(group_metadata, search_metadata, base_output_dir)
21
+ self.group_metadata = group_metadata
22
+ self.search_metadata = search_metadata
23
+ self.base_output_dir = base_output_dir
24
+ end
25
+
26
+ def template
27
+ @template ||= File.read(File.join(__dir__, 'templates', 'provenance_revinclude_search.rb.erb'))
28
+ end
29
+
30
+ def output
31
+ @output ||= ERB.new(template).result(binding)
32
+ end
33
+
34
+ def base_output_file_name
35
+ "#{class_name.underscore}.rb"
36
+ end
37
+
38
+ def output_file_directory
39
+ File.join(base_output_dir, profile_identifier)
40
+ end
41
+
42
+ def output_file_name
43
+ File.join(output_file_directory, base_output_file_name)
44
+ end
45
+
46
+ def profile_identifier
47
+ Naming.snake_case_for_profile(group_metadata)
48
+ end
49
+
50
+ def test_id
51
+ "au_core_#{group_metadata.reformatted_version}_#{profile_identifier}_#{search_identifier}_search_test"
52
+ end
53
+
54
+ def search_identifier
55
+ 'provenance_revinclude'
56
+ end
57
+
58
+ def search_title
59
+ search_identifier.camelize
60
+ end
61
+
62
+ def class_name
63
+ "#{Naming.upper_camel_case_for_profile(group_metadata)}#{search_title}SearchTest"
64
+ end
65
+
66
+ def module_name
67
+ "AUCore#{group_metadata.reformatted_version.upcase}"
68
+ end
69
+
70
+ def resource_type
71
+ group_metadata.resource
72
+ end
73
+
74
+ def search_params
75
+ @search_params ||=
76
+ search_metadata[:names].map do |name|
77
+ {
78
+ name:,
79
+ path: search_definition(name)[:path]
80
+ }
81
+ end
82
+ end
83
+
84
+ def first_search?
85
+ group_metadata.searches.first == search_metadata
86
+ end
87
+
88
+ def fixed_value_search?
89
+ search_metadata[:names] != ['patient'] &&
90
+ !group_metadata.delayed? && resource_type != 'Patient'
91
+ end
92
+
93
+ def fixed_value_search_param_name
94
+ (search_metadata[:names] - [:patient]).first
95
+ end
96
+
97
+ def search_param_name_string
98
+ "#{search_metadata[:names].join(' + ')} + revInclude:Provenance:target"
99
+ end
100
+
101
+ def needs_patient_id?
102
+ search_metadata[:names].include?('patient') ||
103
+ (resource_type == 'Patient' && search_metadata[:names].include?('_id'))
104
+ end
105
+
106
+ def search_param_names
107
+ search_params.map { |param| param[:name] }
108
+ end
109
+
110
+ def search_param_names_array
111
+ array_of_strings(search_param_names)
112
+ end
113
+
114
+ def path_for_value(path)
115
+ path == 'class' ? 'local_class' : path
116
+ end
117
+
118
+ def required_comparators_for_param(name)
119
+ search_definition(name)[:comparators].select { |_comparator, expectation| expectation == 'SHALL' }
120
+ end
121
+
122
+ def required_comparators
123
+ @required_comparators ||=
124
+ search_param_names.each_with_object({}) do |name, comparators|
125
+ required_comparators = required_comparators_for_param(name)
126
+ comparators[name] = required_comparators if required_comparators.present?
127
+ end
128
+ end
129
+
130
+ # def patient_id_param?(param)
131
+ # param[:name] == 'patient' ||
132
+ # (resource_type == 'Patient' && param[:name] == '_id')
133
+ # end
134
+
135
+ def search_definition(name)
136
+ group_metadata.search_definitions[name.to_sym]
137
+ end
138
+
139
+ def saves_delayed_references?
140
+ first_search? && group_metadata.delayed_references.present?
141
+ end
142
+
143
+ def possible_status_search?
144
+ !search_metadata[:names].include?('status') && group_metadata.search_definitions.key?(:status)
145
+ end
146
+
147
+ def token_search_params
148
+ @token_search_params ||=
149
+ search_param_names.select do |name|
150
+ %w[Identifier CodeableConcept Coding].include? group_metadata.search_definitions[name.to_sym][:type]
151
+ end
152
+ end
153
+
154
+ def token_search_params_string
155
+ array_of_strings(token_search_params)
156
+ end
157
+
158
+ def required_comparators_string
159
+ array_of_strings(required_comparators.keys)
160
+ end
161
+
162
+ def array_of_strings(array)
163
+ quoted_strings = array.map { |element| "'#{element}'" }
164
+ "[#{quoted_strings.join(', ')}]"
165
+ end
166
+
167
+ def search_properties
168
+ {}.tap do |properties|
169
+ properties[:fixed_value_search] = 'true' if fixed_value_search?
170
+ properties[:resource_type] = "'#{resource_type}'"
171
+ properties[:search_param_names] = search_param_names_array
172
+ properties[:possible_status_search] = 'true' if possible_status_search?
173
+ end
174
+ end
175
+
176
+ def search_test_properties_string
177
+ search_properties
178
+ .map { |key, value| "#{' ' * 8}#{key}: #{value}" }
179
+ .join(",\n")
180
+ end
181
+
182
+ def generate
183
+ FileUtils.mkdir_p(output_file_directory)
184
+ File.open(output_file_name, 'w') { |f| f.write(output) }
185
+
186
+ group_metadata.add_test(
187
+ id: test_id,
188
+ file_name: base_output_file_name
189
+ )
190
+ end
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'naming'
4
+ require_relative 'special_cases'
5
+
6
+ module AUCoreTestKit
7
+ class Generator
8
+ class ReadTestGenerator
9
+ class << self
10
+ def generate(ig_metadata, base_output_dir)
11
+ ig_metadata.groups
12
+ .reject { |group| SpecialCases.exclude_group? group }
13
+ .select { |group| read_interaction(group).present? }
14
+ .each { |group| new(group, base_output_dir).generate }
15
+ end
16
+
17
+ def read_interaction(group_metadata)
18
+ group_metadata.interactions.find { |interaction| interaction[:code] == 'read' }
19
+ end
20
+ end
21
+
22
+ attr_accessor :group_metadata, :base_output_dir
23
+
24
+ def initialize(group_metadata, base_output_dir)
25
+ self.group_metadata = group_metadata
26
+ self.base_output_dir = base_output_dir
27
+ end
28
+
29
+ def template
30
+ @template ||= File.read(File.join(__dir__, 'templates', 'read.rb.erb'))
31
+ end
32
+
33
+ def output
34
+ @output ||= ERB.new(template).result(binding)
35
+ end
36
+
37
+ def base_output_file_name
38
+ "#{class_name.underscore}.rb"
39
+ end
40
+
41
+ def output_file_directory
42
+ File.join(base_output_dir, profile_identifier)
43
+ end
44
+
45
+ def output_file_name
46
+ File.join(output_file_directory, base_output_file_name)
47
+ end
48
+
49
+ def read_interaction
50
+ self.class.read_interaction(group_metadata)
51
+ end
52
+
53
+ def profile_identifier
54
+ Naming.snake_case_for_profile(group_metadata)
55
+ end
56
+
57
+ def test_id
58
+ "au_core_#{group_metadata.reformatted_version}_#{profile_identifier}_read_test"
59
+ end
60
+
61
+ def class_name
62
+ "#{Naming.upper_camel_case_for_profile(group_metadata)}ReadTest"
63
+ end
64
+
65
+ def module_name
66
+ "AUCore#{group_metadata.reformatted_version.upcase}"
67
+ end
68
+
69
+ def resource_type
70
+ group_metadata.resource
71
+ end
72
+
73
+ def resource_collection_string
74
+ if group_metadata.delayed? && resource_type != 'Provenance'
75
+ "scratch.dig(:references, '#{resource_type}')"
76
+ else
77
+ 'all_scratch_resources'
78
+ end
79
+ end
80
+
81
+ def conformance_expectation
82
+ read_interaction[:expectation]
83
+ end
84
+
85
+ def needs_location_id?
86
+ resource_type == 'Location'
87
+ end
88
+
89
+ def needs_organization_id?
90
+ resource_type == 'Organization'
91
+ end
92
+
93
+ def needs_practitioner_id?
94
+ resource_type == 'Practitioner'
95
+ end
96
+
97
+ def needs_practitioner_role_id?
98
+ resource_type == 'PractitionerRole'
99
+ end
100
+
101
+ def generate
102
+ FileUtils.mkdir_p(output_file_directory)
103
+ File.open(output_file_name, 'w') { |f| f.write(output) }
104
+
105
+ group_metadata.add_test(
106
+ id: test_id,
107
+ file_name: base_output_file_name
108
+ )
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'naming'
4
+ require_relative 'special_cases'
5
+
6
+ module AUCoreTestKit
7
+ class Generator
8
+ class ReferenceResolutionTestGenerator
9
+ class << self
10
+ def generate(ig_metadata, base_output_dir)
11
+ ig_metadata.groups
12
+ .reject { |group| SpecialCases.exclude_group? group }
13
+ .each { |group| new(group, base_output_dir).generate }
14
+ end
15
+ end
16
+
17
+ attr_accessor :group_metadata, :base_output_dir
18
+
19
+ def initialize(group_metadata, base_output_dir)
20
+ self.group_metadata = group_metadata
21
+ self.base_output_dir = base_output_dir
22
+ end
23
+
24
+ def template
25
+ @template ||= File.read(File.join(__dir__, 'templates', 'reference_resolution.rb.erb'))
26
+ end
27
+
28
+ def output
29
+ @output ||= ERB.new(template).result(binding)
30
+ end
31
+
32
+ def base_output_file_name
33
+ "#{class_name.underscore}.rb"
34
+ end
35
+
36
+ def output_file_directory
37
+ File.join(base_output_dir, profile_identifier)
38
+ end
39
+
40
+ def output_file_name
41
+ File.join(output_file_directory, base_output_file_name)
42
+ end
43
+
44
+ def profile_identifier
45
+ Naming.snake_case_for_profile(group_metadata)
46
+ end
47
+
48
+ def test_id
49
+ "au_core_#{group_metadata.reformatted_version}_#{profile_identifier}_reference_resolution_test"
50
+ end
51
+
52
+ def class_name
53
+ "#{Naming.upper_camel_case_for_profile(group_metadata)}ReferenceResolutionTest"
54
+ end
55
+
56
+ def module_name
57
+ "AUCore#{group_metadata.reformatted_version.upcase}"
58
+ end
59
+
60
+ def resource_type
61
+ group_metadata.resource
62
+ end
63
+
64
+ def resource_collection_string
65
+ 'scratch_resources[:all]'
66
+ end
67
+
68
+ def must_support_references
69
+ group_metadata.must_supports[:elements]
70
+ .select { |element| element[:types]&.include?('Reference') }
71
+ end
72
+
73
+ def must_support_reference_list_string
74
+ must_support_references
75
+ .map { |element| "#{' ' * 8}* #{resource_type}.#{element[:path]}" }
76
+ .uniq
77
+ .sort
78
+ .join("\n")
79
+ end
80
+
81
+ def generate
82
+ return if must_support_references.empty?
83
+
84
+ FileUtils.mkdir_p(output_file_directory)
85
+ File.open(output_file_name, 'w') { |f| f.write(output) }
86
+
87
+ group_metadata.add_test(
88
+ id: test_id,
89
+ file_name: base_output_file_name
90
+ )
91
+ end
92
+ end
93
+ end
94
+ end