cancer_registry_reporting_test_kit 0.9.0

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 (262) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/config/presets/hdea_report_preset.json +14 -0
  4. data/config/presets/inferno_reference_server_preset.json.erb +84 -0
  5. data/lib/cancer_registry_reporting_test_kit/bundle_parse.rb +161 -0
  6. data/lib/cancer_registry_reporting_test_kit/docs/ehr_suite_description.md +134 -0
  7. data/lib/cancer_registry_reporting_test_kit/docs/hdea_suite_description.md +108 -0
  8. data/lib/cancer_registry_reporting_test_kit/ehr_suite/ehr_capability_statement/mcode_capability_statement_profile_support.rb +40 -0
  9. data/lib/cancer_registry_reporting_test_kit/ehr_suite/ehr_data_access_group.rb +131 -0
  10. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_administration/medication_administration_must_support_test.rb +43 -0
  11. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_administration/medication_administration_search_test.rb +51 -0
  12. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_administration/medication_administration_validation_test.rb +41 -0
  13. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_administration/metadata.yml +72 -0
  14. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_administration_group.rb +72 -0
  15. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_request/medication_request_must_support_test.rb +55 -0
  16. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_request/medication_request_search_test.rb +55 -0
  17. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_request/medication_request_validation_test.rb +38 -0
  18. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_request/metadata.yml +94 -0
  19. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/medication_request_group.rb +73 -0
  20. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/primary_cancer_condition_group.rb +73 -0
  21. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/primary_condition/metadata.yml +100 -0
  22. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/primary_condition/primary_cancer_condition_must_support_test.rb +50 -0
  23. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/primary_condition/primary_cancer_condition_search_test.rb +70 -0
  24. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/primary_condition/primary_cancer_condition_validation_test.rb +39 -0
  25. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/radiotherapy_procedure/metadata.yml +99 -0
  26. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/radiotherapy_procedure/radiotherapy_procedure_must_support_test.rb +46 -0
  27. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/radiotherapy_procedure/radiotherapy_procedure_search_test.rb +51 -0
  28. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/radiotherapy_procedure/radiotherapy_procedure_validation_test.rb +37 -0
  29. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/radiotherapy_procedure_group.rb +83 -0
  30. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/secondary_cancer_condition_group.rb +68 -0
  31. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/secondary_condition/metadata.yml +102 -0
  32. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/secondary_condition/secondary_cancer_condition_must_support_test.rb +50 -0
  33. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/secondary_condition/secondary_cancer_condition_search_test.rb +70 -0
  34. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/secondary_condition/secondary_cancer_condition_validation_test.rb +39 -0
  35. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_distant_metastases_category/metadata.yml +65 -0
  36. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_distant_metastases_category/tnm_distant_metastases_category_must_support_test.rb +44 -0
  37. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_distant_metastases_category/tnm_distant_metastases_category_search_test.rb +69 -0
  38. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_distant_metastases_category/tnm_distant_metastases_category_validation_test.rb +39 -0
  39. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_distant_metastases_category_group.rb +74 -0
  40. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_primary_tumor_category/metadata.yml +64 -0
  41. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_primary_tumor_category/tnm_primary_tumor_category_must_support_test.rb +44 -0
  42. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_primary_tumor_category/tnm_primary_tumor_category_search_test.rb +69 -0
  43. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_primary_tumor_category/tnm_primary_tumor_category_validation_test.rb +39 -0
  44. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_primary_tumor_category_group.rb +73 -0
  45. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_regional_nodes_category/metadata.yml +64 -0
  46. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_regional_nodes_category/tnm_regional_nodes_category_must_support_test.rb +44 -0
  47. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_regional_nodes_category/tnm_regional_nodes_category_search_test.rb +69 -0
  48. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_regional_nodes_category/tnm_regional_nodes_category_validation_test.rb +39 -0
  49. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_regional_nodes_category_group.rb +73 -0
  50. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_stage_group/metadata.yml +68 -0
  51. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_stage_group/tnm_stage_group_must_support_test.rb +45 -0
  52. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_stage_group/tnm_stage_group_search_test.rb +69 -0
  53. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_stage_group/tnm_stage_group_validation_test.rb +39 -0
  54. data/lib/cancer_registry_reporting_test_kit/ehr_suite/mcode_data_access_resources/tnm_stage_group_group.rb +72 -0
  55. data/lib/cancer_registry_reporting_test_kit/ehr_suite.rb +69 -0
  56. data/lib/cancer_registry_reporting_test_kit/fhir_resource_navigation.rb +174 -0
  57. data/lib/cancer_registry_reporting_test_kit/hdea_generator/group_generator.rb +47 -0
  58. data/lib/cancer_registry_reporting_test_kit/hdea_generator/group_metadata.rb +86 -0
  59. data/lib/cancer_registry_reporting_test_kit/hdea_generator/group_metadata_extractor.rb +205 -0
  60. data/lib/cancer_registry_reporting_test_kit/hdea_generator/ig_loader.rb +78 -0
  61. data/lib/cancer_registry_reporting_test_kit/hdea_generator/ig_metadata.rb +26 -0
  62. data/lib/cancer_registry_reporting_test_kit/hdea_generator/ig_metadata_extractor.rb +78 -0
  63. data/lib/cancer_registry_reporting_test_kit/hdea_generator/ig_resources.rb +56 -0
  64. data/lib/cancer_registry_reporting_test_kit/hdea_generator/must_support_metadata_extractor.rb +399 -0
  65. data/lib/cancer_registry_reporting_test_kit/hdea_generator/must_support_test_generator.rb +134 -0
  66. data/lib/cancer_registry_reporting_test_kit/hdea_generator/naming.rb +168 -0
  67. data/lib/cancer_registry_reporting_test_kit/hdea_generator/special_cases.rb +43 -0
  68. data/lib/cancer_registry_reporting_test_kit/hdea_generator/templates/must_support.rb.erb +41 -0
  69. data/lib/cancer_registry_reporting_test_kit/hdea_generator/templates/validation.rb.erb +35 -0
  70. data/lib/cancer_registry_reporting_test_kit/hdea_generator/terminology_binding_metadata_extractor.rb +118 -0
  71. data/lib/cancer_registry_reporting_test_kit/hdea_generator/validation_test_generator.rb +125 -0
  72. data/lib/cancer_registry_reporting_test_kit/hdea_generator/value_extractor.rb +134 -0
  73. data/lib/cancer_registry_reporting_test_kit/hdea_generator.rb +66 -0
  74. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/author_validation_test.rb +61 -0
  75. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/organization_metadata.yml +47 -0
  76. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/organization_must_support_test.rb +73 -0
  77. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/practitioner_metadata.yml +51 -0
  78. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/practitioner_must_support_test.rb +73 -0
  79. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/practitioner_role_metadata.yml +48 -0
  80. data/lib/cancer_registry_reporting_test_kit/hdea_suite/author/practitioner_role_must_support_test.rb +66 -0
  81. data/lib/cancer_registry_reporting_test_kit/hdea_suite/bundle_resources_group.rb +213 -0
  82. data/lib/cancer_registry_reporting_test_kit/hdea_suite/ccrr_content_bundle_parse_and_validation_test.rb +67 -0
  83. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/allergy_intolerance/allergy_intolerance_must_support_test.rb +46 -0
  84. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/allergy_intolerance/allergy_intolerance_validation_test.rb +35 -0
  85. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/allergy_intolerance/metadata.yml +36 -0
  86. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/care_plan/care_plan_must_support_test.rb +48 -0
  87. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/care_plan/care_plan_validation_test.rb +35 -0
  88. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/care_plan/metadata.yml +50 -0
  89. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/ccrr_content_bundle/ccrr_content_bundle_must_support_test.rb +43 -0
  90. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/ccrr_content_bundle/metadata.yml +36 -0
  91. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/central_cancer_registry_primary_cancer_condition/central_cancer_registry_primary_cancer_condition_must_support_test.rb +59 -0
  92. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/central_cancer_registry_primary_cancer_condition/central_cancer_registry_primary_cancer_condition_validation_test.rb +35 -0
  93. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/central_cancer_registry_primary_cancer_condition/metadata.yml +86 -0
  94. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/composition/composition_must_support_test.rb +109 -0
  95. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/composition/composition_validation_test.rb +35 -0
  96. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/composition/metadata.yml +272 -0
  97. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/condition/condition_must_support_test.rb +45 -0
  98. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/condition/condition_validation_test.rb +35 -0
  99. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/condition/metadata.yml +33 -0
  100. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_lab/diagnostic_report_lab_must_support_test.rb +49 -0
  101. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_lab/diagnostic_report_lab_validation_test.rb +35 -0
  102. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_lab/metadata.yml +57 -0
  103. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_note/diagnostic_report_note_must_support_test.rb +53 -0
  104. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_note/diagnostic_report_note_validation_test.rb +35 -0
  105. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/diagnostic_report_note/metadata.yml +75 -0
  106. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/document_reference/document_reference_must_support_test.rb +57 -0
  107. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/document_reference/document_reference_validation_test.rb +35 -0
  108. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/document_reference/metadata.yml +68 -0
  109. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/encounter/encounter_must_support_test.rb +59 -0
  110. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/encounter/encounter_validation_test.rb +35 -0
  111. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/encounter/metadata.yml +73 -0
  112. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_radiotherapy_course_summary/mcode_radiotherapy_course_summary_must_support_test.rb +52 -0
  113. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_radiotherapy_course_summary/mcode_radiotherapy_course_summary_validation_test.rb +35 -0
  114. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_radiotherapy_course_summary/metadata.yml +59 -0
  115. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_secondary_cancer_condition/mcode_secondary_cancer_condition_must_support_test.rb +56 -0
  116. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_secondary_cancer_condition/mcode_secondary_cancer_condition_validation_test.rb +35 -0
  117. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_secondary_cancer_condition/metadata.yml +77 -0
  118. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_tnm_stage_group/mcode_tnm_stage_group_must_support_test.rb +48 -0
  119. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_tnm_stage_group/mcode_tnm_stage_group_validation_test.rb +35 -0
  120. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/mcode_tnm_stage_group/metadata.yml +46 -0
  121. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication/medication_must_support_test.rb +41 -0
  122. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication/medication_validation_test.rb +35 -0
  123. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication/metadata.yml +26 -0
  124. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_administration/medication_administration_must_support_test.rb +48 -0
  125. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_administration/medication_administration_validation_test.rb +35 -0
  126. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_administration/metadata.yml +48 -0
  127. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_request/medication_request_must_support_test.rb +57 -0
  128. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_request/medication_request_validation_test.rb +35 -0
  129. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_request/metadata.yml +86 -0
  130. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_statement/medication_statement_must_support_test.rb +41 -0
  131. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_statement/medication_statement_validation_test.rb +35 -0
  132. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/medication_statement/metadata.yml +26 -0
  133. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation/metadata.yml +26 -0
  134. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation/observation_must_support_test.rb +41 -0
  135. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation/observation_validation_test.rb +35 -0
  136. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation_lab/metadata.yml +53 -0
  137. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation_lab/observation_lab_must_support_test.rb +50 -0
  138. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/observation_lab/observation_lab_validation_test.rb +35 -0
  139. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/odh_usual_work/metadata.yml +81 -0
  140. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/odh_usual_work/odh_usual_work_must_support_test.rb +49 -0
  141. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/odh_usual_work/odh_usual_work_validation_test.rb +35 -0
  142. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/organization/metadata.yml +46 -0
  143. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/organization/organization_must_support_test.rb +55 -0
  144. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/organization/organization_validation_test.rb +35 -0
  145. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/patient/metadata.yml +51 -0
  146. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/patient/patient_must_support_test.rb +58 -0
  147. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/patient/patient_validation_test.rb +35 -0
  148. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner/metadata.yml +50 -0
  149. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner/practitioner_must_support_test.rb +55 -0
  150. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner/practitioner_validation_test.rb +35 -0
  151. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner_role/metadata.yml +47 -0
  152. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner_role/practitioner_role_must_support_test.rb +49 -0
  153. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/practitioner_role/practitioner_role_validation_test.rb +35 -0
  154. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/procedure/metadata.yml +37 -0
  155. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/procedure/procedure_must_support_test.rb +44 -0
  156. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/procedure/procedure_validation_test.rb +35 -0
  157. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/service_request/metadata.yml +26 -0
  158. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/service_request/service_request_must_support_test.rb +41 -0
  159. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/service_request/service_request_validation_test.rb +35 -0
  160. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/smokingstatus/metadata.yml +58 -0
  161. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/smokingstatus/smokingstatus_must_support_test.rb +47 -0
  162. data/lib/cancer_registry_reporting_test_kit/hdea_suite/generated/v1.0.0/smokingstatus/smokingstatus_validation_test.rb +35 -0
  163. data/lib/cancer_registry_reporting_test_kit/hdea_suite.rb +80 -0
  164. data/lib/cancer_registry_reporting_test_kit/igs/README.md +21 -0
  165. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-cancer-related-medication-administration.json +1905 -0
  166. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-cancer-related-medication-request.json +3611 -0
  167. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-primary-cancer-condition.json +2246 -0
  168. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-radiotherapy-course-summary.json +2700 -0
  169. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-secondary-cancer-condition.json +2419 -0
  170. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-tnm-distant-metastases-category.json +2320 -0
  171. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-tnm-primary-tumor-category.json +2320 -0
  172. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-tnm-regional-nodes-category.json +2320 -0
  173. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-mcode-tnm-stage-group.json +2414 -0
  174. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-medicationstatement.profile.json +1578 -0
  175. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-observation.profile.json +3510 -0
  176. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-odh-UsualWork.json +7248 -0
  177. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-servicerequest.profile.json +3048 -0
  178. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-allergyintolerance.json +1842 -0
  179. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-careplan.json +1 -0
  180. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-condition.json +2154 -0
  181. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-diagnosticreport-lab.json +2002 -0
  182. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-diagnosticreport-note.json +2049 -0
  183. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-documentreference.json +1 -0
  184. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-encounter.json +1 -0
  185. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-medication.json +1 -0
  186. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-observation-lab.json +3153 -0
  187. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-organization.json +1 -0
  188. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-patient.json +1 -0
  189. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-practitioner.json +1 -0
  190. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-practitionerrole.json +1 -0
  191. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-procedure.json +1 -0
  192. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100/StructureDefinition-us-core-smokingstatus.json +1 -0
  193. data/lib/cancer_registry_reporting_test_kit/igs/ccrr_v100.tgz +0 -0
  194. data/lib/cancer_registry_reporting_test_kit/igs/package/.index.db +0 -0
  195. data/lib/cancer_registry_reporting_test_kit/igs/package/.index.json +4 -0
  196. data/lib/cancer_registry_reporting_test_kit/igs/package/CapabilityStatement-central-cancer-registry-reporting-ehr.json +1 -0
  197. data/lib/cancer_registry_reporting_test_kit/igs/package/ImplementationGuide-hl7.fhir.us.central-cancer-registry-reporting.json +1 -0
  198. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-cancer-encounter.json +1 -0
  199. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-cancer-patient.json +1 -0
  200. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-ccrr-composition.json +1 -0
  201. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-ccrr-content-bundle.json +1 -0
  202. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-ccrr-plandefinition.json +1 -0
  203. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-ccrr-reporting-bundle.json +1 -0
  204. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-central-cancer-registry-primary-cancer-condition.json +1 -0
  205. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-central-cancer-registry-reporting-messageheader.json +1 -0
  206. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-us-ph-patient.json +1 -0
  207. data/lib/cancer_registry_reporting_test_kit/igs/package/StructureDefinition-us-ph-tribal-affiliation-extension.json +1 -0
  208. data/lib/cancer_registry_reporting_test_kit/igs/package/ValueSet-cancer-core-reportability-codes.json +1 -0
  209. data/lib/cancer_registry_reporting_test_kit/igs/package/example/AllergyIntolerance-example.json +1 -0
  210. data/lib/cancer_registry_reporting_test_kit/igs/package/example/BodyStructure-jenny-m-chest-wall-lymph-nodes-treatment-volume.json +1 -0
  211. data/lib/cancer_registry_reporting_test_kit/igs/package/example/BodyStructure-jenny-m-chest-wall-treatment-volume.json +1 -0
  212. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Bundle-ccrr-content-bundle-example.json +1 -0
  213. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Bundle-central-cancer-registry-reporting-specification-bundle-example.json +1 -0
  214. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Bundle-reporting-bundle-example.json +1 -0
  215. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Composition-ccrr-composition-example.json +1 -0
  216. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Condition-primary-cancer-condition-breast.json +1 -0
  217. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Encounter-encounter-cancer-example.json +1 -0
  218. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Endpoint-example-healthcare-endpoint.json +1 -0
  219. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Endpoint-example-ph-endpoint.json +1 -0
  220. data/lib/cancer_registry_reporting_test_kit/igs/package/example/MedicationAdministration-cancer-related-medication-administration-example.json +1 -0
  221. data/lib/cancer_registry_reporting_test_kit/igs/package/example/MessageHeader-messageheader-example-reportheader.json +1 -0
  222. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Observation-cancer-stage-group-example.json +1 -0
  223. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Observation-tnm-clinical-distant-metastases-category-cM0.json +1 -0
  224. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Observation-tnm-clinical-primary-tumor-category-cT3.json +1 -0
  225. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Observation-tnm-clinical-regional-nodes-category-cN3.json +1 -0
  226. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Organization-example-healthcare-org.json +1 -0
  227. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Organization-example-pha-org.json +1 -0
  228. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Patient-example.json +1 -0
  229. data/lib/cancer_registry_reporting_test_kit/igs/package/example/PlanDefinition-plandefinition-central-cancer-registry-reporting-example.json +1 -0
  230. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Practitioner-1.json +1 -0
  231. data/lib/cancer_registry_reporting_test_kit/igs/package/example/Procedure-radiotherapy-example.json +1 -0
  232. data/lib/cancer_registry_reporting_test_kit/igs/package/openapi/central-cancer-registry-reporting-ehr.openapi.json +364 -0
  233. data/lib/cancer_registry_reporting_test_kit/igs/package/other/ig-r4.jsonX +1 -0
  234. data/lib/cancer_registry_reporting_test_kit/igs/package/other/spec.internals +293 -0
  235. data/lib/cancer_registry_reporting_test_kit/igs/package/other/validation-oo.json +1 -0
  236. data/lib/cancer_registry_reporting_test_kit/igs/package/other/validation-summary.json +1 -0
  237. data/lib/cancer_registry_reporting_test_kit/igs/package/package.json +30 -0
  238. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-cancer-encounter.sch +19 -0
  239. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-cancer-patient.sch +175 -0
  240. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-ccrr-composition.sch +61 -0
  241. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-ccrr-content-bundle.sch +12 -0
  242. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-ccrr-plandefinition.sch +331 -0
  243. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-ccrr-reporting-bundle.sch +12 -0
  244. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-central-cancer-registry-primary-cancer-condition.sch +31 -0
  245. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-central-cancer-registry-reporting-messageheader.sch +27 -0
  246. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-us-ph-patient.sch +217 -0
  247. data/lib/cancer_registry_reporting_test_kit/igs/package/xml/StructureDefinition-us-ph-tribal-affiliation-extension.sch +36 -0
  248. data/lib/cancer_registry_reporting_test_kit/metadata.rb +71 -0
  249. data/lib/cancer_registry_reporting_test_kit/must_support_test.rb +263 -0
  250. data/lib/cancer_registry_reporting_test_kit/primitive_type.rb +7 -0
  251. data/lib/cancer_registry_reporting_test_kit/requirements/cancer-registry-reporting-test-kit_out_of_scope_requirements.csv +77 -0
  252. data/lib/cancer_registry_reporting_test_kit/requirements/cancer-registry-reporting-test-kit_requirements.csv +162 -0
  253. data/lib/cancer_registry_reporting_test_kit/requirements/generated/cancer-registry-reporting-test-kit_requirements_coverage.csv +161 -0
  254. data/lib/cancer_registry_reporting_test_kit/search_test.rb +897 -0
  255. data/lib/cancer_registry_reporting_test_kit/search_test_properties.rb +58 -0
  256. data/lib/cancer_registry_reporting_test_kit/validation_test.rb +68 -0
  257. data/lib/cancer_registry_reporting_test_kit/version.rb +6 -0
  258. data/lib/cancer_registry_reporting_test_kit.rb +6 -0
  259. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +22 -0
  260. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +284 -0
  261. data/lib/requirements_config.yaml +22 -0
  262. metadata +341 -0
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../must_support_test'
4
+ require_relative '../../../../hdea_generator/group_metadata'
5
+
6
+ module CancerRegistryReportingTestKit
7
+ module HDEAV100
8
+ class OdhUsualWorkMustSupportTest < Inferno::Test
9
+ include CancerRegistryReportingTestKit::MustSupportTest
10
+
11
+ title 'Usual Work profile must support element coverage'
12
+ description %(
13
+ This test looks across all instances
14
+ associated with the [Usual Work profile](http://hl7.org/fhir/us/odh/StructureDefinition/odh-UsualWork|1.1.0)
15
+ found in the provided report Bundles and verifies that they
16
+ contain populated examples of the following must support elements
17
+ defined in the profile:
18
+
19
+ * Observation.component:odh-UsualIndustry.value[x].coding
20
+ * Observation.component:odh-UsualIndustry.value[x].coding:industryCDCCensus2010
21
+ * Observation.component:odh-UsualIndustry.value[x].coding:industryONETSOCDetailODH
22
+ * Observation.value[x]:valueCodeableConcept
23
+ * Observation.value[x]:valueCodeableConcept.coding
24
+ * Observation.value[x]:valueCodeableConcept.coding:occupationCDCCensus2010
25
+ * Observation.value[x]:valueCodeableConcept.coding:occupationONETSOCDetailODH
26
+
27
+ Note: MS slices were identified by only the codesystem, not the specific codes used, due to the large number of codes included in the codesystem.
28
+ )
29
+
30
+ id :ccrr_v100_odh_usual_work_must_support_test
31
+
32
+ def resource_type
33
+ 'Observation'
34
+ end
35
+
36
+ def self.metadata
37
+ @metadata ||= HdeaGenerator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
38
+ end
39
+
40
+ def scratch_resources
41
+ scratch[:odh_usual_work_resources] ||= {}
42
+ end
43
+
44
+ run do
45
+ perform_must_support_test(all_scratch_resources)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../validation_test'
4
+
5
+ module CancerRegistryReportingTestKit
6
+ module HDEAV100
7
+ class OdhUsualWorkValidationTest < Inferno::Test
8
+ include CancerRegistryReportingTestKit::ValidationTest
9
+
10
+ id :ccrr_v100_odh_usual_work_validation_test
11
+ title 'Usual Work profile conformance'
12
+ description %(
13
+ This test verifies that Observation instances
14
+ found in the Occupational Data sections of the provided reports conform to the
15
+ [Usual Work profile](http://hl7.org/fhir/us/odh/StructureDefinition/odh-UsualWork|1.1.0).
16
+ )
17
+
18
+
19
+ def resource_type
20
+ 'Observation'
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:odh_usual_work_resources] ||= {}
25
+ end
26
+
27
+ run do
28
+ perform_validation_test(scratch_resources[:all] || [],
29
+ 'http://hl7.org/fhir/us/odh/StructureDefinition/odh-UsualWork',
30
+ '1.1.0',
31
+ skip_if_empty: true)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,46 @@
1
+ ---
2
+ :name: us_core_organization
3
+ :class_name: UsCoreOrganizationSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: Organization
7
+ :profile_url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization
8
+ :profile_name: US Core Organization Profile
9
+ :profile_version: 5.0.1
10
+ :title: US Core Organization
11
+ :short_description: Verify support for the server capabilities required by the US
12
+ Core Organization Profile.
13
+ :must_supports:
14
+ :extensions: []
15
+ :slices:
16
+ - :slice_id: Organization.identifier:NPI
17
+ :slice_name: NPI
18
+ :path: identifier
19
+ :discriminator:
20
+ :type: patternIdentifier
21
+ :path: ''
22
+ :system: http://hl7.org/fhir/sid/us-npi
23
+ :elements:
24
+ - :path: identifier
25
+ - :path: identifier.system
26
+ - :path: identifier.value
27
+ - :path: active
28
+ - :path: name
29
+ - :path: telecom
30
+ - :path: telecom.system
31
+ - :path: telecom.value
32
+ - :path: address
33
+ - :path: address.line
34
+ - :path: address.city
35
+ - :path: address.state
36
+ - :path: address.postalCode
37
+ - :path: address.country
38
+ :mandatory_elements:
39
+ - Organization.active
40
+ - Organization.name
41
+ :tests:
42
+ - :id: ccrr_v100_organization_must_support_test
43
+ :file_name: organization_must_support_test.rb
44
+ - :id: ccrr_v100_organization_validation_test
45
+ :file_name: organization_validation_test.rb
46
+ :id: ccrr_v100_organization
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../must_support_test'
4
+ require_relative '../../../../hdea_generator/group_metadata'
5
+
6
+ module CancerRegistryReportingTestKit
7
+ module HDEAV100
8
+ class OrganizationMustSupportTest < Inferno::Test
9
+ include CancerRegistryReportingTestKit::MustSupportTest
10
+
11
+ title 'US Core Organization profile must support element coverage'
12
+ description %(
13
+ This test looks across all instances
14
+ associated with the [US Core Organization profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization|5.0.1)
15
+ found in the provided report Bundles and verifies that they
16
+ contain populated examples of the following must support elements
17
+ defined in the profile:
18
+
19
+ * Organization.active
20
+ * Organization.address
21
+ * Organization.address.city
22
+ * Organization.address.country
23
+ * Organization.address.line
24
+ * Organization.address.postalCode
25
+ * Organization.address.state
26
+ * Organization.identifier
27
+ * Organization.identifier.system
28
+ * Organization.identifier.value
29
+ * Organization.identifier:NPI
30
+ * Organization.name
31
+ * Organization.telecom
32
+ * Organization.telecom.system
33
+ * Organization.telecom.value
34
+ )
35
+
36
+ id :ccrr_v100_organization_must_support_test
37
+
38
+ def resource_type
39
+ 'Organization'
40
+ end
41
+
42
+ def self.metadata
43
+ @metadata ||= HdeaGenerator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
44
+ end
45
+
46
+ def scratch_resources
47
+ scratch[:organization_resources] ||= {}
48
+ end
49
+
50
+ run do
51
+ perform_must_support_test(all_scratch_resources)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../validation_test'
4
+
5
+ module CancerRegistryReportingTestKit
6
+ module HDEAV100
7
+ class OrganizationValidationTest < Inferno::Test
8
+ include CancerRegistryReportingTestKit::ValidationTest
9
+
10
+ id :ccrr_v100_organization_validation_test
11
+ title 'US Core Organization profile conformance'
12
+ description %(
13
+ This test verifies that Organization instances
14
+ referenced in the `author` elements of the provided reports conform to the
15
+ [US Core Organization profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization|5.0.1).
16
+ )
17
+
18
+
19
+ def resource_type
20
+ 'Organization'
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:organization_resources] ||= {}
25
+ end
26
+
27
+ run do
28
+ perform_validation_test(scratch_resources[:all] || [],
29
+ 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization',
30
+ '5.0.1',
31
+ skip_if_empty: true)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,51 @@
1
+ ---
2
+ :name: us_core_patient
3
+ :class_name: UsCorePatientSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: Patient
7
+ :profile_url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
8
+ :profile_name: US Core Patient Profile
9
+ :profile_version: 5.0.1
10
+ :title: Patient US Core
11
+ :short_description: Verify support for the server capabilities required by the US
12
+ Core Patient Profile.
13
+ :must_supports:
14
+ :extensions: []
15
+ :slices: []
16
+ :elements:
17
+ - :path: identifier
18
+ - :path: identifier.system
19
+ - :path: identifier.value
20
+ - :path: name
21
+ - :path: name.family
22
+ - :path: name.given
23
+ - :path: telecom.system
24
+ - :path: telecom.value
25
+ - :path: telecom.use
26
+ - :path: gender
27
+ - :path: birthDate
28
+ - :path: address
29
+ - :path: address.line
30
+ - :path: address.city
31
+ - :path: address.state
32
+ - :path: address.postalCode
33
+ - :path: address.period
34
+ - :path: communication.language
35
+ :mandatory_elements:
36
+ - Patient.identifier
37
+ - Patient.identifier.system
38
+ - Patient.identifier.value
39
+ - Patient.name
40
+ - Patient.telecom.system
41
+ - Patient.telecom.value
42
+ - Patient.gender
43
+ - Patient.communication.language
44
+ - Patient.link.other
45
+ - Patient.link.type
46
+ :tests:
47
+ - :id: ccrr_v100_patient_must_support_test
48
+ :file_name: patient_must_support_test.rb
49
+ - :id: ccrr_v100_patient_validation_test
50
+ :file_name: patient_validation_test.rb
51
+ :id: ccrr_v100_patient
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../must_support_test'
4
+ require_relative '../../../../hdea_generator/group_metadata'
5
+
6
+ module CancerRegistryReportingTestKit
7
+ module HDEAV100
8
+ class PatientMustSupportTest < Inferno::Test
9
+ include CancerRegistryReportingTestKit::MustSupportTest
10
+
11
+ title 'US Core Patient profile must support element coverage'
12
+ description %(
13
+ This test looks across all instances
14
+ associated with the [US Core Patient profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|5.0.1)
15
+ found in the provided report Bundles and verifies that they
16
+ contain populated examples of the following must support elements
17
+ defined in the profile:
18
+
19
+ * Patient.address
20
+ * Patient.address.city
21
+ * Patient.address.line
22
+ * Patient.address.period
23
+ * Patient.address.postalCode
24
+ * Patient.address.state
25
+ * Patient.birthDate
26
+ * Patient.communication.language
27
+ * Patient.gender
28
+ * Patient.identifier
29
+ * Patient.identifier.system
30
+ * Patient.identifier.value
31
+ * Patient.name
32
+ * Patient.name.family
33
+ * Patient.name.given
34
+ * Patient.telecom.system
35
+ * Patient.telecom.use
36
+ * Patient.telecom.value
37
+ )
38
+
39
+ id :ccrr_v100_patient_must_support_test
40
+
41
+ def resource_type
42
+ 'Patient'
43
+ end
44
+
45
+ def self.metadata
46
+ @metadata ||= HdeaGenerator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
47
+ end
48
+
49
+ def scratch_resources
50
+ scratch[:patient_resources] ||= {}
51
+ end
52
+
53
+ run do
54
+ perform_must_support_test(all_scratch_resources)
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../validation_test'
4
+
5
+ module CancerRegistryReportingTestKit
6
+ module HDEAV100
7
+ class PatientValidationTest < Inferno::Test
8
+ include CancerRegistryReportingTestKit::ValidationTest
9
+
10
+ id :ccrr_v100_patient_validation_test
11
+ title 'US Core Patient profile conformance'
12
+ description %(
13
+ This test verifies that Patient instances
14
+ referenced in the `patient` elements of the provided reports conform to the
15
+ [US Core Patient profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|5.0.1).
16
+ )
17
+
18
+
19
+ def resource_type
20
+ 'Patient'
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:patient_resources] ||= {}
25
+ end
26
+
27
+ run do
28
+ perform_validation_test(scratch_resources[:all] || [],
29
+ 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient',
30
+ '5.0.1',
31
+ skip_if_empty: true)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,50 @@
1
+ ---
2
+ :name: us_core_practitioner
3
+ :class_name: UsCorePractitionerSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: Practitioner
7
+ :profile_url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner
8
+ :profile_name: US Core Practitioner Profile
9
+ :profile_version: 5.0.1
10
+ :title: US Core Practitioner
11
+ :short_description: Verify support for the server capabilities required by the US
12
+ Core Practitioner Profile.
13
+ :must_supports:
14
+ :extensions: []
15
+ :slices:
16
+ - :slice_id: Practitioner.identifier:NPI
17
+ :slice_name: NPI
18
+ :path: identifier
19
+ :discriminator:
20
+ :type: patternIdentifier
21
+ :path: ''
22
+ :system: http://hl7.org/fhir/sid/us-npi
23
+ :elements:
24
+ - :path: identifier
25
+ - :path: identifier.system
26
+ - :path: identifier.value
27
+ - :path: name
28
+ - :path: name.family
29
+ - :path: telecom
30
+ - :path: telecom.system
31
+ - :path: telecom.value
32
+ - :path: address
33
+ - :path: address.line
34
+ - :path: address.city
35
+ - :path: address.state
36
+ - :path: address.postalCode
37
+ - :path: address.country
38
+ :mandatory_elements:
39
+ - Practitioner.identifier
40
+ - Practitioner.identifier.system
41
+ - Practitioner.identifier.value
42
+ - Practitioner.name
43
+ - Practitioner.name.family
44
+ - Practitioner.qualification.code
45
+ :tests:
46
+ - :id: ccrr_v100_practitioner_must_support_test
47
+ :file_name: practitioner_must_support_test.rb
48
+ - :id: ccrr_v100_practitioner_validation_test
49
+ :file_name: practitioner_validation_test.rb
50
+ :id: ccrr_v100_practitioner
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../must_support_test'
4
+ require_relative '../../../../hdea_generator/group_metadata'
5
+
6
+ module CancerRegistryReportingTestKit
7
+ module HDEAV100
8
+ class PractitionerMustSupportTest < Inferno::Test
9
+ include CancerRegistryReportingTestKit::MustSupportTest
10
+
11
+ title 'US Core Practitioner profile must support element coverage'
12
+ description %(
13
+ This test looks across all instances
14
+ associated with the [US Core Practitioner profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner|5.0.1)
15
+ found in the provided report Bundles and verifies that they
16
+ contain populated examples of the following must support elements
17
+ defined in the profile:
18
+
19
+ * Practitioner.address
20
+ * Practitioner.address.city
21
+ * Practitioner.address.country
22
+ * Practitioner.address.line
23
+ * Practitioner.address.postalCode
24
+ * Practitioner.address.state
25
+ * Practitioner.identifier
26
+ * Practitioner.identifier.system
27
+ * Practitioner.identifier.value
28
+ * Practitioner.identifier:NPI
29
+ * Practitioner.name
30
+ * Practitioner.name.family
31
+ * Practitioner.telecom
32
+ * Practitioner.telecom.system
33
+ * Practitioner.telecom.value
34
+ )
35
+
36
+ id :ccrr_v100_practitioner_must_support_test
37
+
38
+ def resource_type
39
+ 'Practitioner'
40
+ end
41
+
42
+ def self.metadata
43
+ @metadata ||= HdeaGenerator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
44
+ end
45
+
46
+ def scratch_resources
47
+ scratch[:practitioner_resources] ||= {}
48
+ end
49
+
50
+ run do
51
+ perform_must_support_test(all_scratch_resources)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../validation_test'
4
+
5
+ module CancerRegistryReportingTestKit
6
+ module HDEAV100
7
+ class PractitionerValidationTest < Inferno::Test
8
+ include CancerRegistryReportingTestKit::ValidationTest
9
+
10
+ id :ccrr_v100_practitioner_validation_test
11
+ title 'US Core Practitioner profile conformance'
12
+ description %(
13
+ This test verifies that Practitioner instances
14
+ referenced in the `author` elements of the provided reports conform to the
15
+ [US Core Practitioner profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner|5.0.1).
16
+ )
17
+
18
+
19
+ def resource_type
20
+ 'Practitioner'
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:practitioner_resources] ||= {}
25
+ end
26
+
27
+ run do
28
+ perform_validation_test(scratch_resources[:all] || [],
29
+ 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner',
30
+ '5.0.1',
31
+ skip_if_empty: true)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,47 @@
1
+ ---
2
+ :name: us_core_practitionerrole
3
+ :class_name: UsCorePractitionerroleSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: PractitionerRole
7
+ :profile_url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole
8
+ :profile_name: US Core PractitionerRole Profile
9
+ :profile_version: 5.0.1
10
+ :title: US Core PractitionerRole
11
+ :short_description: Verify support for the server capabilities required by the US
12
+ Core PractitionerRole Profile.
13
+ :must_supports:
14
+ :extensions: []
15
+ :slices: []
16
+ :elements:
17
+ - :path: practitioner
18
+ :types:
19
+ - Reference
20
+ :target_profiles:
21
+ - http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner
22
+ - :path: organization
23
+ :types:
24
+ - Reference
25
+ :target_profiles:
26
+ - http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization
27
+ - :path: code
28
+ - :path: specialty
29
+ - :path: location
30
+ :types:
31
+ - Reference
32
+ - :path: telecom
33
+ - :path: telecom.system
34
+ - :path: telecom.value
35
+ - :path: endpoint
36
+ :types:
37
+ - Reference
38
+ :mandatory_elements:
39
+ - PractitionerRole.telecom.system
40
+ - PractitionerRole.telecom.value
41
+ - PractitionerRole.notAvailable.description
42
+ :tests:
43
+ - :id: ccrr_v100_practitioner_role_must_support_test
44
+ :file_name: practitioner_role_must_support_test.rb
45
+ - :id: ccrr_v100_practitioner_role_validation_test
46
+ :file_name: practitioner_role_validation_test.rb
47
+ :id: ccrr_v100_practitioner_role
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../must_support_test'
4
+ require_relative '../../../../hdea_generator/group_metadata'
5
+
6
+ module CancerRegistryReportingTestKit
7
+ module HDEAV100
8
+ class PractitionerRoleMustSupportTest < Inferno::Test
9
+ include CancerRegistryReportingTestKit::MustSupportTest
10
+
11
+ title 'US Core PractitionerRole profile must support element coverage'
12
+ description %(
13
+ This test looks across all instances
14
+ associated with the [US Core PractitionerRole profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole|5.0.1)
15
+ found in the provided report Bundles and verifies that they
16
+ contain populated examples of the following must support elements
17
+ defined in the profile:
18
+
19
+ * PractitionerRole.code
20
+ * PractitionerRole.endpoint
21
+ * PractitionerRole.location
22
+ * PractitionerRole.organization
23
+ * PractitionerRole.practitioner
24
+ * PractitionerRole.specialty
25
+ * PractitionerRole.telecom
26
+ * PractitionerRole.telecom.system
27
+ * PractitionerRole.telecom.value
28
+ )
29
+
30
+ id :ccrr_v100_practitioner_role_must_support_test
31
+
32
+ def resource_type
33
+ 'PractitionerRole'
34
+ end
35
+
36
+ def self.metadata
37
+ @metadata ||= HdeaGenerator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
38
+ end
39
+
40
+ def scratch_resources
41
+ scratch[:practitioner_role_resources] ||= {}
42
+ end
43
+
44
+ run do
45
+ perform_must_support_test(all_scratch_resources)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../../validation_test'
4
+
5
+ module CancerRegistryReportingTestKit
6
+ module HDEAV100
7
+ class PractitionerRoleValidationTest < Inferno::Test
8
+ include CancerRegistryReportingTestKit::ValidationTest
9
+
10
+ id :ccrr_v100_practitioner_role_validation_test
11
+ title 'US Core PractitionerRole profile conformance'
12
+ description %(
13
+ This test verifies that PractitionerRole instances
14
+ referenced in the `author` elements of the provided reports conform to the
15
+ [US Core PractitionerRole profile](http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole|5.0.1).
16
+ )
17
+
18
+
19
+ def resource_type
20
+ 'PractitionerRole'
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:practitioner_role_resources] ||= {}
25
+ end
26
+
27
+ run do
28
+ perform_validation_test(scratch_resources[:all] || [],
29
+ 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole',
30
+ '5.0.1',
31
+ skip_if_empty: true)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,37 @@
1
+ ---
2
+ :name: us_core_procedure
3
+ :class_name: UsCoreProcedureSequence
4
+ :version: v1.0.0
5
+ :reformatted_version: v100
6
+ :resource: Procedure
7
+ :profile_url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure
8
+ :profile_name: US Core Procedure Profile
9
+ :profile_version: 5.0.1
10
+ :title: Procedure US Core
11
+ :short_description: Verify support for the server capabilities required by the US
12
+ Core Procedure Profile.
13
+ :must_supports:
14
+ :extensions: []
15
+ :slices: []
16
+ :elements:
17
+ - :path: status
18
+ - :path: code
19
+ - :path: subject
20
+ :types:
21
+ - Reference
22
+ :target_profiles:
23
+ - http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
24
+ - :path: performedDateTime
25
+ :original_path: performed[x]
26
+ :mandatory_elements:
27
+ - Procedure.status
28
+ - Procedure.code
29
+ - Procedure.subject
30
+ - Procedure.performer.actor
31
+ - Procedure.focalDevice.manipulated
32
+ :tests:
33
+ - :id: ccrr_v100_procedure_must_support_test
34
+ :file_name: procedure_must_support_test.rb
35
+ - :id: ccrr_v100_procedure_validation_test
36
+ :file_name: procedure_validation_test.rb
37
+ :id: ccrr_v100_procedure