davinci_plan_net_test_kit 0.12.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_plan_net_test_kit/custom_groups/capability_statement/json_support_test.rb +3 -0
  3. data/lib/davinci_plan_net_test_kit/custom_groups/capability_statement/profile_support_test.rb +3 -0
  4. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/davinci_plan_net_test_suite.rb +8 -0
  5. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_address_search_test.rb +2 -0
  6. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_name_search_test.rb +2 -0
  7. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_partof_search_test.rb +2 -0
  8. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_type_search_test.rb +2 -0
  9. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_id_search_test.rb +2 -0
  10. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_include_endpoint_organization_search_test.rb +2 -0
  11. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_lastupdated_search_test.rb +2 -0
  12. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_must_support_test.rb +2 -0
  13. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_organization_search_test.rb +2 -0
  14. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_read_test.rb +2 -0
  15. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/metadata.yml +3 -0
  16. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint_group.rb +1 -0
  17. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_coverage_area_search_test.rb +2 -0
  18. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_endpoint_search_test.rb +2 -0
  19. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_endpoint_organization_search_test.rb +2 -0
  20. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_city_search_test.rb +2 -0
  21. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_postalcode_search_test.rb +2 -0
  22. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_search_test.rb +2 -0
  23. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_state_search_test.rb +2 -0
  24. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_organization_search_test.rb +2 -0
  25. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_type_search_test.rb +2 -0
  26. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_address_search_test.rb +2 -0
  27. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_name_search_test.rb +2 -0
  28. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_partof_search_test.rb +2 -0
  29. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_type_search_test.rb +2 -0
  30. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_id_search_test.rb +2 -0
  31. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_coverage_area_search_test.rb +2 -0
  32. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_endpoint_search_test.rb +2 -0
  33. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_location_search_test.rb +2 -0
  34. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_organization_search_test.rb +2 -0
  35. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_lastupdated_search_test.rb +2 -0
  36. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_location_search_test.rb +2 -0
  37. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_must_support_test.rb +2 -0
  38. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_name_search_test.rb +2 -0
  39. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_organization_search_test.rb +2 -0
  40. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_read_test.rb +2 -0
  41. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_revinclude_organization_affiliation_service_search_test.rb +4 -0
  42. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_revinclude_practitioner_role_service_search_test.rb +4 -0
  43. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_service_category_search_test.rb +2 -0
  44. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_service_type_search_test.rb +2 -0
  45. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_specialty_search_test.rb +2 -0
  46. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/metadata.yml +12 -0
  47. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service_group.rb +1 -0
  48. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_administered_by_search_test.rb +2 -0
  49. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_coverage_area_search_test.rb +2 -0
  50. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_administered_by_name_search_test.rb +2 -0
  51. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_administered_by_partof_search_test.rb +2 -0
  52. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_owned_by_name_search_test.rb +2 -0
  53. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_owned_by_partof_search_test.rb +2 -0
  54. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_id_search_test.rb +2 -0
  55. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_identifier_search_test.rb +2 -0
  56. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_administered_by_search_test.rb +2 -0
  57. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_coverage_area_search_test.rb +2 -0
  58. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_owned_by_search_test.rb +2 -0
  59. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_lastupdated_search_test.rb +2 -0
  60. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_must_support_test.rb +2 -0
  61. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_name_search_test.rb +2 -0
  62. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_owned_by_search_test.rb +2 -0
  63. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_plan_type_search_test.rb +2 -0
  64. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_read_test.rb +2 -0
  65. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_type_search_test.rb +2 -0
  66. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/metadata.yml +12 -0
  67. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan_group.rb +1 -0
  68. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_city_search_test.rb +2 -0
  69. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_postalcode_search_test.rb +2 -0
  70. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_search_test.rb +2 -0
  71. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_state_search_test.rb +2 -0
  72. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_endpoint_search_test.rb +2 -0
  73. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_endpoint_organization_search_test.rb +2 -0
  74. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_address_search_test.rb +2 -0
  75. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_name_search_test.rb +2 -0
  76. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_partof_search_test.rb +2 -0
  77. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_type_search_test.rb +2 -0
  78. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_address_search_test.rb +2 -0
  79. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_organization_search_test.rb +2 -0
  80. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_type_search_test.rb +2 -0
  81. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_id_search_test.rb +2 -0
  82. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_endpoint_search_test.rb +2 -0
  83. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_organization_search_test.rb +2 -0
  84. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_partof_search_test.rb +2 -0
  85. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_lastupdated_search_test.rb +2 -0
  86. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_must_support_test.rb +2 -0
  87. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_organization_search_test.rb +2 -0
  88. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_partof_search_test.rb +2 -0
  89. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_read_test.rb +2 -0
  90. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_reverse_chain_insurance_plan_coverage_area_owned_by_search_test.rb +3 -0
  91. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_healthcare_service_location_search_test.rb +4 -0
  92. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_insurance_plan_coverage_area_search_test.rb +4 -0
  93. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_organization_affiliation_location_search_test.rb +4 -0
  94. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_practitioner_role_location_search_test.rb +4 -0
  95. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_type_search_test.rb +2 -0
  96. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/metadata.yml +11 -0
  97. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location_group.rb +1 -0
  98. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/metadata.yml +91 -2
  99. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/metadata.yml +6 -0
  100. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_address_search_test.rb +2 -0
  101. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_coverage_area_search_test.rb +2 -0
  102. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_endpoint_search_test.rb +2 -0
  103. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_endpoint_organization_search_test.rb +2 -0
  104. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_address_search_test.rb +2 -0
  105. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_name_search_test.rb +2 -0
  106. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_type_search_test.rb +2 -0
  107. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_id_search_test.rb +2 -0
  108. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_coverage_area_search_test.rb +2 -0
  109. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_endpoint_search_test.rb +2 -0
  110. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_partof_search_test.rb +2 -0
  111. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_lastupdated_search_test.rb +2 -0
  112. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_must_support_test.rb +2 -0
  113. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_name_search_test.rb +2 -0
  114. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_partof_search_test.rb +2 -0
  115. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_read_test.rb +2 -0
  116. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_reverse_chain_practitioner_role_network_location_search_test.rb +3 -0
  117. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_revinclude_practitioner_role_network_search_test.rb +4 -0
  118. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_type_search_test.rb +2 -0
  119. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network_group.rb +1 -0
  120. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/metadata.yml +12 -0
  121. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_endpoint_search_test.rb +2 -0
  122. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_endpoint_organization_search_test.rb +2 -0
  123. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_city_search_test.rb +2 -0
  124. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_postalcode_search_test.rb +2 -0
  125. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_search_test.rb +2 -0
  126. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_state_search_test.rb +2 -0
  127. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_organization_search_test.rb +2 -0
  128. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_type_search_test.rb +2 -0
  129. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_network_name_search_test.rb +2 -0
  130. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_network_partof_search_test.rb +2 -0
  131. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_address_search_test.rb +2 -0
  132. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_name_search_test.rb +2 -0
  133. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_partof_search_test.rb +2 -0
  134. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_type_search_test.rb +2 -0
  135. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_address_search_test.rb +2 -0
  136. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_name_search_test.rb +2 -0
  137. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_partof_search_test.rb +2 -0
  138. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_type_search_test.rb +2 -0
  139. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_location_search_test.rb +2 -0
  140. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_organization_search_test.rb +2 -0
  141. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_service_category_search_test.rb +2 -0
  142. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_id_search_test.rb +2 -0
  143. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_endpoint_search_test.rb +2 -0
  144. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_location_search_test.rb +2 -0
  145. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_network_search_test.rb +2 -0
  146. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_participating_organization_search_test.rb +2 -0
  147. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_primary_organization_search_test.rb +2 -0
  148. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_service_search_test.rb +2 -0
  149. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_lastupdated_search_test.rb +2 -0
  150. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_location_search_test.rb +2 -0
  151. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_must_support_test.rb +2 -0
  152. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_network_search_test.rb +2 -0
  153. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_participating_organization_search_test.rb +2 -0
  154. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_primary_organization_search_test.rb +2 -0
  155. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_read_test.rb +2 -0
  156. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_role_search_test.rb +2 -0
  157. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_service_search_test.rb +2 -0
  158. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_specialty_search_test.rb +2 -0
  159. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil_group.rb +1 -0
  160. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/metadata.yml +9 -1
  161. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_address_search_test.rb +2 -0
  162. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_coverage_area_search_test.rb +2 -0
  163. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_endpoint_search_test.rb +2 -0
  164. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_endpoint_organization_search_test.rb +2 -0
  165. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_address_search_test.rb +2 -0
  166. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_name_search_test.rb +2 -0
  167. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_type_search_test.rb +2 -0
  168. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_id_search_test.rb +2 -0
  169. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_coverage_area_search_test.rb +2 -0
  170. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_endpoint_search_test.rb +2 -0
  171. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_partof_search_test.rb +2 -0
  172. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_lastupdated_search_test.rb +2 -0
  173. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_must_support_test.rb +2 -0
  174. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_name_search_test.rb +2 -0
  175. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_partof_search_test.rb +2 -0
  176. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_read_test.rb +2 -0
  177. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_insurance_plan_owned_by_coverage_area_search_test.rb +3 -0
  178. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_location_search_test.rb +3 -0
  179. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_network_search_test.rb +3 -0
  180. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_specialty_search_test.rb +3 -0
  181. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_endpoint_organization_search_test.rb +4 -0
  182. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_healthcare_service_organization_search_test.rb +4 -0
  183. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_insurance_plan_administered_by_search_test.rb +4 -0
  184. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_insurance_plan_owned_by_search_test.rb +4 -0
  185. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_organization_affiliation_participating_organization_search_test.rb +4 -0
  186. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_organization_affiliation_primary_organization_search_test.rb +4 -0
  187. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_practitioner_role_organization_search_test.rb +4 -0
  188. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_type_search_test.rb +2 -0
  189. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization_group.rb +1 -0
  190. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/metadata.yml +5 -1
  191. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_family_search_test.rb +2 -0
  192. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_given_search_test.rb +2 -0
  193. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_id_search_test.rb +2 -0
  194. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_lastupdated_search_test.rb +2 -0
  195. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_must_support_test.rb +2 -0
  196. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_name_search_test.rb +2 -0
  197. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_read_test.rb +2 -0
  198. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_location_search_test.rb +3 -0
  199. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_network_search_test.rb +3 -0
  200. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_role_search_test.rb +3 -0
  201. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_specialty_search_test.rb +3 -0
  202. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_revinclude_practitioner_role_practitioner_search_test.rb +4 -0
  203. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_group.rb +1 -0
  204. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/metadata.yml +21 -0
  205. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_endpoint_search_test.rb +2 -0
  206. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_endpoint_organization_search_test.rb +2 -0
  207. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_city_search_test.rb +2 -0
  208. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_postalcode_search_test.rb +2 -0
  209. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_search_test.rb +2 -0
  210. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_state_search_test.rb +2 -0
  211. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_organization_search_test.rb +2 -0
  212. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_type_search_test.rb +2 -0
  213. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_address_search_test.rb +2 -0
  214. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_name_search_test.rb +2 -0
  215. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_partof_search_test.rb +2 -0
  216. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_type_search_test.rb +2 -0
  217. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_address_search_test.rb +2 -0
  218. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_name_search_test.rb +2 -0
  219. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_partof_search_test.rb +2 -0
  220. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_type_search_test.rb +2 -0
  221. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_practitioner_name_search_test.rb +2 -0
  222. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_location_search_test.rb +2 -0
  223. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_organization_search_test.rb +2 -0
  224. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_service_category_search_test.rb +2 -0
  225. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_id_search_test.rb +2 -0
  226. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_endpoint_search_test.rb +2 -0
  227. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_location_search_test.rb +2 -0
  228. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_network_search_test.rb +2 -0
  229. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_organization_search_test.rb +2 -0
  230. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_practitioner_search_test.rb +2 -0
  231. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_service_search_test.rb +2 -0
  232. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_lastupdated_search_test.rb +2 -0
  233. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_location_search_test.rb +2 -0
  234. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_must_support_test.rb +2 -0
  235. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_network_search_test.rb +2 -0
  236. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_organization_search_test.rb +2 -0
  237. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_practitioner_search_test.rb +2 -0
  238. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_read_test.rb +2 -0
  239. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_role_search_test.rb +2 -0
  240. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_service_search_test.rb +2 -0
  241. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_specialty_search_test.rb +2 -0
  242. data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role_group.rb +1 -0
  243. data/lib/davinci_plan_net_test_kit/generator/must_support_metadata_extractor.rb +3 -302
  244. data/lib/davinci_plan_net_test_kit/generator/must_support_test_generator.rb +1 -1
  245. data/lib/davinci_plan_net_test_kit/generator/special_cases.rb +1 -1
  246. data/lib/davinci_plan_net_test_kit/generator/templates/forward_chain_test.rb.erb +2 -0
  247. data/lib/davinci_plan_net_test_kit/generator/templates/group.rb.erb +1 -0
  248. data/lib/davinci_plan_net_test_kit/generator/templates/include_search.rb.erb +2 -0
  249. data/lib/davinci_plan_net_test_kit/generator/templates/must_support.rb.erb +2 -0
  250. data/lib/davinci_plan_net_test_kit/generator/templates/read.rb.erb +2 -0
  251. data/lib/davinci_plan_net_test_kit/generator/templates/reverse_chain_search.rb.erb +3 -0
  252. data/lib/davinci_plan_net_test_kit/generator/templates/revinclude_search.rb.erb +4 -0
  253. data/lib/davinci_plan_net_test_kit/generator/templates/search.rb.erb +2 -0
  254. data/lib/davinci_plan_net_test_kit/generator/templates/suite.rb.erb +8 -0
  255. data/lib/davinci_plan_net_test_kit/must_support_test.rb +1 -192
  256. data/lib/davinci_plan_net_test_kit/requirements/davinci_plan_net_test_kit_requirements.csv +65 -0
  257. data/lib/davinci_plan_net_test_kit/requirements/generated/davinci_plan_net_server_v110_requirements_coverage.csv +60 -0
  258. data/lib/davinci_plan_net_test_kit/requirements/hl7.fhir.us.davinci-pdex-plan-net_1.1.0_reqs.xlsx +0 -0
  259. data/lib/davinci_plan_net_test_kit/version.rb +2 -2
  260. metadata +10 -8
  261. data/lib/davinci_plan_net_test_kit/igs/Plan Net Requirements Interpretation.xlsx +0 -0
@@ -18,6 +18,8 @@ module DaVinciPlanNetTestKit
18
18
 
19
19
  id :davinci_plan_net_v110_include_practitioner_role_practitioner_role_service_search_test
20
20
 
21
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@27'
22
+
21
23
  def properties
22
24
  @properties ||= SearchTestProperties.new(
23
25
  resource_type: 'PractitionerRole',
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role__lastUpdated_search_test
21
23
  optional
22
24
 
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_location_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -48,6 +48,8 @@ module DaVinciPlanNetTestKit
48
48
  * PractitionerRole.telecom.value
49
49
  )
50
50
 
51
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@3'
52
+
51
53
  id :davinci_plan_net_v110_practitioner_role_must_support_test
52
54
 
53
55
  def resource_type
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_network_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_organization_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_practitioner_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -10,6 +10,8 @@ module DaVinciPlanNetTestKit
10
10
 
11
11
  id :davinci_plan_net_v110_practitioner_role_read_test
12
12
 
13
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@25'
14
+
13
15
  def resource_type
14
16
  'PractitionerRole'
15
17
  end
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_role_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_service_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
17
17
 
18
18
  )
19
19
 
20
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
21
+
20
22
  id :davinci_plan_net_v110_practitioner_role_specialty_search_test
21
23
  def self.properties
22
24
  @properties ||= SearchTestProperties.new(
@@ -190,6 +190,7 @@ read succeeds.
190
190
 
191
191
  id :davinci_plan_net_v110_practitioner_role
192
192
  run_as_group
193
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@12'
193
194
 
194
195
  def self.metadata
195
196
  @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'practitioner_role', 'metadata.yml'), aliases: true))
@@ -1,316 +1,17 @@
1
- require_relative 'value_extractor'
2
1
  require_relative 'must_support_metadata_extractor_us_core_3'
3
-
2
+ require 'inferno'
4
3
 
5
4
  module DaVinciPlanNetTestKit
6
5
  class Generator
7
- class MustSupportMetadataExtractor
8
- attr_accessor :profile_elements, :profile, :resource, :ig_resources
9
-
10
- def initialize(profile_elements, profile, resource, ig_resources)
11
- self.profile_elements = profile_elements
12
- self.profile = profile
13
- self.resource = resource
14
- self.ig_resources = ig_resources
15
- end
16
-
6
+ class MustSupportMetadataExtractor < Inferno::DSL::MustSupportMetadataExtractor
17
7
  def must_supports
18
- @must_supports = {
19
- extensions: must_support_extensions,
20
- slices: must_support_slices,
21
- elements: must_support_elements
22
- }
8
+ @must_supports = super
23
9
 
24
10
  handle_special_cases
25
11
 
26
12
  @must_supports
27
13
  end
28
14
 
29
- def is_uscdi_requirement_element?(element)
30
- element.extension.any? do |extension|
31
- extension.url == 'http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement' &&
32
- extension.valueBoolean
33
- end && !element.mustSupport
34
- end
35
-
36
- def all_must_support_elements
37
- profile_elements.select { |element| element.mustSupport || is_uscdi_requirement_element?(element) }
38
- end
39
-
40
- def must_support_extension_elements
41
- all_must_support_elements.select { |element| element.path.end_with? 'extension' }
42
- end
43
-
44
- def must_support_extensions
45
- must_support_extension_elements.map do |element|
46
- {
47
- id: element.id,
48
- url: element.type.first.profile.first
49
- }.tap do |metadata|
50
- if is_uscdi_requirement_element?(element)
51
- metadata[:uscdi_only] = true
52
- end
53
- end
54
- end
55
- end
56
-
57
- def must_support_slice_elements
58
- all_must_support_elements.select { |element| !element.path.end_with?('extension') && element.sliceName.present? }
59
- end
60
-
61
- def sliced_element(slice)
62
- profile_elements.find { |element| element.id == slice.path || element.id == slice.id.sub(":#{slice.sliceName}", '') }
63
- end
64
-
65
- def discriminators(slice)
66
- slice.slicing.discriminator
67
- end
68
-
69
- def must_support_pattern_slice_elements
70
- must_support_slice_elements.select do |element|
71
- discriminators(sliced_element(element)).first.type == 'pattern'
72
- end
73
- end
74
-
75
- def pattern_slices
76
- must_support_pattern_slice_elements.map do |current_element|
77
- {
78
- name: current_element.id,
79
- path: current_element.path.gsub("#{resource}.", '')
80
- }.tap do |metadata|
81
- discriminator = discriminators(sliced_element(current_element)).first
82
- discriminator_path = discriminator.path
83
- discriminator_path = '' if discriminator_path == '$this'
84
- pattern_element =
85
- if discriminator_path.present?
86
- profile_elements.find { |element| element.id == "#{current_element.id}.#{discriminator_path}" }
87
- else
88
- current_element
89
- end
90
-
91
- metadata[:discriminator] =
92
- if pattern_element.patternCodeableConcept.present?
93
- {
94
- type: 'patternCodeableConcept',
95
- path: discriminator_path,
96
- code: pattern_element.patternCodeableConcept.coding.first.code,
97
- system: pattern_element.patternCodeableConcept.coding.first.system
98
- }
99
- elsif pattern_element.patternCoding.present?
100
- {
101
- type: 'patternCoding',
102
- path: discriminator_path,
103
- code: pattern_element.patternCoding.code,
104
- system: pattern_element.patternCoding.system
105
- }
106
- elsif pattern_element.patternIdentifier.present?
107
- {
108
- type: 'patternIdentifier',
109
- path: discriminator_path,
110
- system: pattern_element.patternIdentifier.system
111
- }
112
- elsif pattern_element.binding&.strength == 'required' &&
113
- pattern_element.binding&.valueSet.present?
114
-
115
- value_extractor = ValueExactor.new(ig_resources, resource, profile_elements)
116
-
117
- values = value_extractor.values_from_value_set_binding(pattern_element).presence ||
118
- value_extractor.values_from_resource_metadata([metadata[:path]]).presence || []
119
-
120
- {
121
- type: 'requiredBinding',
122
- path: discriminator_path,
123
- values: values
124
- }
125
- else
126
- raise StandardError, 'Unsupported discriminator pattern type'
127
- end
128
-
129
- if is_uscdi_requirement_element?(current_element)
130
- metadata[:uscdi_only] = true
131
- end
132
- end
133
- end
134
- end
135
-
136
- def must_support_type_slice_elements
137
- must_support_slice_elements.select do |element|
138
- discriminators(sliced_element(element)).first.type == 'type'
139
- end
140
- end
141
-
142
- def type_slices
143
- must_support_type_slice_elements.map do |current_element|
144
- discriminator = discriminators(sliced_element(current_element)).first
145
- type_path = discriminator.path
146
- type_path = '' if type_path == '$this'
147
- type_element =
148
- if type_path.present?
149
- elements.find { |element| element.id == "#{current_element.id}.#{type_path}" }
150
- else
151
- current_element
152
- end
153
-
154
- type_code = type_element.type.first.code
155
-
156
- {
157
- name: current_element.id,
158
- path: current_element.path.gsub("#{resource}.", ''),
159
- discriminator: {
160
- type: 'type',
161
- code: type_code.upcase_first
162
- }
163
- }.tap do |metadata|
164
- if is_uscdi_requirement_element?(current_element)
165
- metadata[:uscdi_only] = true
166
- end
167
- end
168
- end
169
- end
170
-
171
- def must_support_value_slice_elements
172
- must_support_slice_elements.select do |element|
173
- discriminators(sliced_element(element)).first.type == 'value'
174
- end
175
- end
176
-
177
- def value_slices
178
- must_support_value_slice_elements.map do |current_element|
179
- {
180
- name: current_element.id,
181
- path: current_element.path.gsub("#{resource}.", ''),
182
- discriminator: {
183
- type: 'value'
184
- }
185
- }.tap do |metadata|
186
- metadata[:discriminator][:values] = discriminators(sliced_element(current_element)).map do |discriminator|
187
- fixed_element = profile_elements.find do |element|
188
- element.id.starts_with?(current_element.id) &&
189
- element.path == "#{current_element.path}.#{discriminator.path}"
190
- end
191
-
192
- {
193
- path: discriminator.path,
194
- value: fixed_element.fixedUri || fixed_element.fixedCode
195
- }
196
- end
197
-
198
- if is_uscdi_requirement_element?(current_element)
199
- metadata[:uscdi_only] = true
200
- end
201
- end
202
- end
203
- end
204
-
205
- def must_support_slices
206
- pattern_slices + type_slices + value_slices
207
- end
208
-
209
- def plain_must_support_elements
210
- all_must_support_elements - must_support_extension_elements - must_support_slice_elements
211
- end
212
-
213
- def handle_fixed_values(metadata, element)
214
- if element.fixedUri.present?
215
- metadata[:fixed_value] = element.fixedUri
216
- elsif element.patternCodeableConcept.present?
217
- metadata[:fixed_value] = element.patternCodeableConcept.coding.first.code
218
- metadata[:path] += '.coding.code'
219
- elsif element.fixedCode.present?
220
- metadata[:fixed_value] = element.fixedCode
221
- elsif element.patternIdentifier.present?
222
- metadata[:fixed_value] = element.patternIdentifier.system
223
- metadata[:path] += '.system'
224
- end
225
- end
226
-
227
- def type_must_support_extension?(extensions)
228
- extensions&.any? do |extension|
229
- extension.url == 'http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support' &&
230
- extension.valueBoolean
231
- end
232
- end
233
-
234
- def save_type_code?(type)
235
- 'Reference' == type.code
236
- end
237
-
238
- def get_type_must_support_metadata(current_metadata, current_element)
239
- current_element.type.map do |type|
240
- if type_must_support_extension?(type.extension)
241
- metadata =
242
- {
243
- path: "#{current_metadata[:path].delete_suffix('[x]')}#{type.code.upcase_first}",
244
- original_path: current_metadata[:path]
245
- }
246
- metadata[:types] = [type.code] if save_type_code?(type)
247
- handle_type_must_support_target_profiles(type, metadata) if type.code == 'Reference'
248
-
249
- metadata
250
- end
251
- end.compact
252
- end
253
-
254
- def handle_type_must_support_target_profiles(type, metadata)
255
- index = 0
256
- target_profiles = []
257
-
258
- type.source_hash['_targetProfile']&.each do |hash|
259
- if hash.present?
260
- element = FHIR::Element.new(hash)
261
- target_profiles << type.targetProfile[index] if type_must_support_extension?(element.extension)
262
- end
263
- index += 1
264
- end
265
-
266
- metadata[:target_profiles] = target_profiles if target_profiles.present?
267
- end
268
-
269
- def handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
270
- choice_element_metadata = must_support_elements_metadata.find do |metadata|
271
- metadata[:original_path].present? &&
272
- current_metadata[:path].include?( metadata[:original_path] )
273
- end
274
-
275
- if choice_element_metadata.present?
276
- current_metadata[:original_path] = current_metadata[:path]
277
- current_metadata[:path] = current_metadata[:path].sub(choice_element_metadata[:original_path], choice_element_metadata[:path])
278
- end
279
- end
280
-
281
- def must_support_elements
282
- plain_must_support_elements.each_with_object([]) do |current_element, must_support_elements_metadata|
283
- {
284
- path: current_element.path.gsub("#{resource}.", '')
285
- }.tap do |current_metadata|
286
- if is_uscdi_requirement_element?(current_element)
287
- current_metadata[:uscdi_only] = true
288
- end
289
-
290
- type_must_support_metadata = get_type_must_support_metadata(current_metadata, current_element)
291
-
292
- if type_must_support_metadata.any?
293
- must_support_elements_metadata.concat(type_must_support_metadata)
294
- else
295
- handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
296
-
297
- supported_types = current_element.type.select { |type| save_type_code?(type) }.map { |type| type.code }
298
- current_metadata[:types] = supported_types if supported_types.present?
299
-
300
- handle_type_must_support_target_profiles(current_element.type.first, current_metadata) if current_element.type.first&.code == 'Reference'
301
-
302
- handle_fixed_values(current_metadata, current_element)
303
-
304
- must_support_elements_metadata.delete_if do |metadata|
305
- metadata[:path] == current_metadata[:path] && metadata[:fixed_value].blank?
306
- end
307
-
308
- must_support_elements_metadata << current_metadata
309
- end
310
- end
311
- end.uniq
312
- end
313
-
314
15
  #### SPECIAL CASE ####
315
16
 
316
17
  def handle_special_cases
@@ -78,7 +78,7 @@ module DaVinciPlanNetTestKit
78
78
  def build_must_support_list_string(uscdi_only)
79
79
  slice_names = group_metadata.must_supports[:slices]
80
80
  .select { |slice| slice[:uscdi_only].presence == uscdi_only.presence }
81
- .map { |slice| slice[:name] }
81
+ .map { |slice| slice[:slice_id] }
82
82
 
83
83
  element_names = group_metadata.must_supports[:elements]
84
84
  .select { |element| element[:uscdi_only].presence == uscdi_only.presence }
@@ -51,7 +51,7 @@ module DaVinciPlanNetTestKit
51
51
  # and the Plan-Net requirements. However, the NPI and CLIA identifier types, which are Must-Support, are clearly
52
52
  # intended for provider organizations only and are not expected to be populated for other organization types.
53
53
  network_group = ig_metadata.groups.find { |group| group.name == 'plannet_Network'}
54
- adjusted_must_supports = network_group.must_supports[:slices].dup.delete_if {|slice| slice[:name] == 'Organization.identifier:NPI'}
54
+ adjusted_must_supports = network_group.must_supports[:slices].dup.delete_if {|slice| slice[:slice_id] == 'Organization.identifier:NPI'}
55
55
  network_group.must_supports[:slices] = adjusted_must_supports
56
56
  end
57
57
 
@@ -21,6 +21,8 @@ module DaVinciPlanNetTestKit
21
21
 
22
22
  id :<%= test_id %>
23
23
 
24
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@21'
25
+
24
26
  def properties
25
27
  @properties ||= SearchTestProperties.new(
26
28
  <%= search_test_properties_string %>
@@ -13,6 +13,7 @@ module DaVinciPlanNetTestKit
13
13
  run_as_group<% if optional? %>
14
14
  optional
15
15
  <% end %>
16
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@12'
16
17
 
17
18
  def self.metadata
18
19
  @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '<%= profile_identifier %>', 'metadata.yml'), aliases: true))
@@ -18,6 +18,8 @@ module DaVinciPlanNetTestKit
18
18
 
19
19
  id :<%= test_id %>
20
20
 
21
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@27'
22
+
21
23
  def properties
22
24
  @properties ||= SearchTestProperties.new(
23
25
  <%= search_test_properties_string %>
@@ -19,6 +19,8 @@ module DaVinciPlanNetTestKit
19
19
  <%= uscdi_list_string %><% end %>
20
20
  )
21
21
 
22
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@3'
23
+
22
24
  id :<%= test_id %>
23
25
 
24
26
  def resource_type
@@ -10,6 +10,8 @@ module DaVinciPlanNetTestKit
10
10
 
11
11
  id :<%= test_id %>
12
12
 
13
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@25'
14
+
13
15
  def resource_type
14
16
  '<%= resource_type %>'
15
17
  end
@@ -20,6 +20,9 @@ module DaVinciPlanNetTestKit
20
20
  )
21
21
 
22
22
  id :<%= test_id %>
23
+
24
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@22'
25
+
23
26
  input :<%= input_name %>,
24
27
  title: '\'<%= "#{constraining_param}" %>\' value from <%= "#{a_or_an(source_resource)}" %> instance with \'<%= "#{target_param}" %>\' populated',
25
28
  description: 'Single value from the \'<%= constraining_param %>\' element of <%= a_or_an(source_resource) %>
@@ -18,6 +18,9 @@ module DaVinciPlanNetTestKit
18
18
  )
19
19
 
20
20
  id :<%= test_id %>
21
+
22
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@28'
23
+
21
24
  input :<%= input_name %>,
22
25
  title: '<%= resource_type %> instance ids referenced in <%= "#{revinclude_param_resource}.#{rev_param_sp}" %>',
23
26
  description: %(Comma separated list of <%= resource_type %> instance ids that are referenced by <%= "#{a_or_an(revinclude_param_resource)}" %>
@@ -25,6 +28,7 @@ module DaVinciPlanNetTestKit
25
28
  when run at the group level.),
26
29
  optional: true
27
30
 
31
+
28
32
  def properties
29
33
  @properties ||= SearchTestProperties.new(
30
34
  <%= search_test_properties_string %>
@@ -11,6 +11,8 @@ module DaVinciPlanNetTestKit
11
11
  <%= description %>
12
12
  )
13
13
 
14
+ verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
15
+
14
16
  id :<%= test_id %><% if optional? %>
15
17
  optional
16
18
  <% end %><% if needs_resource_id? %>
@@ -144,6 +144,14 @@ module DaVinciPlanNetTestKit
144
144
 
145
145
  id :<%= suite_id %>
146
146
 
147
+ requirement_sets(
148
+ {
149
+ identifier: 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0',
150
+ title: 'DaVinci PDEX Plan Net',
151
+ actor: 'Server'
152
+ }
153
+ )
154
+
147
155
  fhir_resource_validator do
148
156
  igs '<%= ig_identifier %>'
149
157