carin_for_blue_button_test_kit 0.15.0 → 0.15.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 (322) hide show
  1. checksums.yaml +4 -4
  2. data/lib/carin_for_blue_button_test_kit/capability_statement/tests/instantiates_test.rb +1 -0
  3. data/lib/carin_for_blue_button_test_kit/capability_statement/tests/json_support_test.rb +1 -0
  4. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/c4bb_client_test_suite.rb +191 -126
  5. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alca_group.rb +30 -0
  6. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alcs_group.rb +30 -0
  7. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alp_group.rb +30 -0
  8. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_udap_group.rb +29 -0
  9. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_options.rb +25 -0
  10. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_smart_test.rb +36 -0
  11. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_udap_test.rb +36 -0
  12. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration_group.rb +65 -0
  13. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_validation_test.rb +1 -1
  14. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorization_endpoint.rb +51 -0
  15. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/next_page_endpoint.rb +4 -3
  16. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_api_endpoint.rb +4 -3
  17. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_id_endpoint.rb +4 -3
  18. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/token_endpoint.rb +60 -62
  19. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/initial_wait_test.rb +33 -33
  20. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/metadata/mock_capability_statement.json.erb +3 -4
  21. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_server.rb +12 -30
  22. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/coverage_required_searches.rb +6 -0
  23. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/eob_required_searches.rb +6 -0
  24. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/organization_required_searches.rb +6 -0
  25. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/patient_required_searches.rb +6 -0
  26. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/practitioner_required_searches.rb +6 -0
  27. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/relatedperson_required_searches.rb +6 -0
  28. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/tags.rb +2 -5
  29. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/urls.rb +11 -7
  30. data/lib/carin_for_blue_button_test_kit/custom_groups/v2.0.0/c4bb_smart_launch_group.rb +9 -0
  31. data/lib/carin_for_blue_button_test_kit/docs/carin_for_blue_button_v2.0.0_client_suite_description.md +136 -30
  32. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/metadata.yml +12 -4
  33. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/must_support_test.rb +4 -2
  34. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/metadata.yml +6 -0
  35. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/patient_search_test.rb +6 -2
  36. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/metadata.yml +155 -91
  37. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/must_support_test.rb +23 -9
  38. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/patient_search_test.rb +6 -2
  39. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/metadata.yml +155 -91
  40. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/must_support_test.rb +21 -10
  41. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/patient_search_test.rb +6 -2
  42. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/metadata.yml +114 -68
  43. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/must_support_test.rb +22 -7
  44. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/patient_search_test.rb +6 -2
  45. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/metadata.yml +103 -60
  46. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/must_support_test.rb +13 -6
  47. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/patient_search_test.rb +6 -2
  48. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/metadata.yml +568 -314
  49. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/metadata.yml +8 -4
  50. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/metadata.yml +11 -2
  51. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/must_support_test.rb +4 -0
  52. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/metadata.yml +4 -2
  53. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/id_search_test.rb +11 -6
  54. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/lastupdated_search_test.rb +1 -0
  55. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/metadata.yml +12 -4
  56. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/must_support_test.rb +5 -2
  57. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/validation_test.rb +1 -0
  58. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage_group.rb +1 -0
  59. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/billable_period_start_search_test.rb +1 -0
  60. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/id_search_test.rb +1 -0
  61. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/identifier_search_test.rb +1 -0
  62. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/lastupdated_search_test.rb +1 -0
  63. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/metadata.yml +9 -2
  64. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/must_support_test.rb +2 -1
  65. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/patient_search_test.rb +7 -2
  66. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_date_search_test.rb +1 -0
  67. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_start_date_search_test.rb +1 -0
  68. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/type_search_test.rb +1 -0
  69. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/validation_test.rb +2 -0
  70. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_group.rb +1 -0
  71. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/billable_period_start_search_test.rb +1 -0
  72. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/id_search_test.rb +1 -0
  73. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  74. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  75. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/metadata.yml +164 -94
  76. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/must_support_test.rb +25 -10
  77. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/patient_search_test.rb +7 -2
  78. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  79. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_start_date_search_test.rb +1 -0
  80. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/type_search_test.rb +1 -0
  81. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/validation_test.rb +3 -0
  82. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/billable_period_start_search_test.rb +1 -0
  83. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/id_search_test.rb +1 -0
  84. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/identifier_search_test.rb +1 -0
  85. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/lastupdated_search_test.rb +1 -0
  86. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/metadata.yml +129 -77
  87. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/must_support_test.rb +24 -10
  88. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/patient_search_test.rb +7 -2
  89. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_date_search_test.rb +1 -0
  90. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_start_date_search_test.rb +1 -0
  91. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/type_search_test.rb +1 -0
  92. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/validation_test.rb +1 -0
  93. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/billable_period_start_search_test.rb +1 -0
  94. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/id_search_test.rb +1 -0
  95. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  96. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  97. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/metadata.yml +164 -94
  98. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/must_support_test.rb +23 -11
  99. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/patient_search_test.rb +7 -2
  100. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  101. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_start_date_search_test.rb +1 -0
  102. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/type_search_test.rb +1 -0
  103. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/validation_test.rb +1 -0
  104. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  105. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/id_search_test.rb +1 -0
  106. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/identifier_search_test.rb +1 -0
  107. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/lastupdated_search_test.rb +1 -0
  108. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/metadata.yml +128 -78
  109. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/must_support_test.rb +25 -9
  110. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/patient_search_test.rb +7 -2
  111. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_date_search_test.rb +1 -0
  112. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_start_date_search_test.rb +1 -0
  113. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/type_search_test.rb +1 -0
  114. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/validation_test.rb +1 -0
  115. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/billable_period_start_search_test.rb +1 -0
  116. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/id_search_test.rb +1 -0
  117. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  118. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  119. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/metadata.yml +121 -68
  120. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/must_support_test.rb +14 -7
  121. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/patient_search_test.rb +7 -2
  122. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_date_search_test.rb +1 -0
  123. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_start_date_search_test.rb +1 -0
  124. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/type_search_test.rb +1 -0
  125. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/validation_test.rb +1 -0
  126. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/metadata.yml +752 -415
  127. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/id_search_test.rb +11 -6
  128. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/lastupdated_search_test.rb +1 -0
  129. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/metadata.yml +8 -4
  130. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/must_support_test.rb +1 -0
  131. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/validation_test.rb +1 -0
  132. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization_group.rb +1 -0
  133. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/id_search_test.rb +7 -2
  134. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/lastupdated_search_test.rb +1 -0
  135. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/metadata.yml +11 -2
  136. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/must_support_test.rb +5 -0
  137. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/validation_test.rb +1 -0
  138. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient_group.rb +1 -0
  139. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/id_search_test.rb +11 -6
  140. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/lastupdated_search_test.rb +1 -0
  141. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/metadata.yml +4 -2
  142. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/must_support_test.rb +1 -0
  143. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/validation_test.rb +1 -0
  144. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner_group.rb +1 -0
  145. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/id_search_test.rb +11 -6
  146. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/lastupdated_search_test.rb +1 -0
  147. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/metadata.yml +2 -0
  148. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/must_support_test.rb +1 -0
  149. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/validation_test.rb +1 -0
  150. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person_group.rb +1 -0
  151. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/id_search_test.rb +11 -6
  152. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/lastupdated_search_test.rb +1 -0
  153. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/metadata.yml +12 -4
  154. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/must_support_test.rb +5 -2
  155. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/validation_test.rb +1 -0
  156. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage_group.rb +1 -0
  157. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/billable_period_start_search_test.rb +1 -0
  158. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/id_search_test.rb +1 -0
  159. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/identifier_search_test.rb +1 -0
  160. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/lastupdated_search_test.rb +1 -0
  161. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/metadata.yml +9 -2
  162. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/must_support_test.rb +2 -1
  163. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/patient_search_test.rb +7 -2
  164. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_date_search_test.rb +1 -0
  165. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_start_date_search_test.rb +1 -0
  166. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/type_search_test.rb +1 -0
  167. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/validation_test.rb +1 -0
  168. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_group.rb +1 -0
  169. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/billable_period_start_search_test.rb +1 -0
  170. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/id_search_test.rb +1 -0
  171. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  172. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  173. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/metadata.yml +164 -94
  174. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/must_support_test.rb +25 -10
  175. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/patient_search_test.rb +7 -2
  176. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  177. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/service_start_date_search_test.rb +1 -0
  178. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/type_search_test.rb +1 -0
  179. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/validation_test.rb +1 -0
  180. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/billable_period_start_search_test.rb +1 -0
  181. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/id_search_test.rb +1 -0
  182. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/identifier_search_test.rb +1 -0
  183. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/lastupdated_search_test.rb +1 -0
  184. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/metadata.yml +59 -41
  185. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/must_support_test.rb +22 -8
  186. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/patient_search_test.rb +7 -2
  187. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/service_date_search_test.rb +1 -0
  188. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/service_start_date_search_test.rb +1 -0
  189. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/type_search_test.rb +1 -0
  190. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/validation_test.rb +1 -0
  191. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/billable_period_start_search_test.rb +1 -0
  192. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/id_search_test.rb +1 -0
  193. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/identifier_search_test.rb +1 -0
  194. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/lastupdated_search_test.rb +1 -0
  195. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/metadata.yml +129 -77
  196. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/must_support_test.rb +24 -10
  197. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/patient_search_test.rb +7 -2
  198. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_date_search_test.rb +1 -0
  199. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_start_date_search_test.rb +1 -0
  200. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/type_search_test.rb +1 -0
  201. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/validation_test.rb +1 -0
  202. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/billable_period_start_search_test.rb +1 -0
  203. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/id_search_test.rb +1 -0
  204. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/identifier_search_test.rb +1 -0
  205. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/lastupdated_search_test.rb +1 -0
  206. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/metadata.yml +59 -42
  207. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/must_support_test.rb +22 -9
  208. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/patient_search_test.rb +7 -2
  209. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/service_date_search_test.rb +1 -0
  210. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/service_start_date_search_test.rb +1 -0
  211. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/type_search_test.rb +1 -0
  212. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/validation_test.rb +1 -0
  213. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/billable_period_start_search_test.rb +1 -0
  214. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/id_search_test.rb +1 -0
  215. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  216. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  217. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/metadata.yml +164 -94
  218. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/must_support_test.rb +23 -11
  219. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/patient_search_test.rb +7 -2
  220. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  221. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/service_start_date_search_test.rb +1 -0
  222. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/type_search_test.rb +1 -0
  223. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/validation_test.rb +1 -0
  224. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/billable_period_start_search_test.rb +1 -0
  225. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/id_search_test.rb +1 -0
  226. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/identifier_search_test.rb +1 -0
  227. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/lastupdated_search_test.rb +1 -0
  228. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/metadata.yml +58 -40
  229. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/must_support_test.rb +19 -8
  230. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/patient_search_test.rb +7 -2
  231. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/service_date_search_test.rb +1 -0
  232. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/service_start_date_search_test.rb +1 -0
  233. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/type_search_test.rb +1 -0
  234. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/validation_test.rb +1 -0
  235. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  236. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/id_search_test.rb +1 -0
  237. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/identifier_search_test.rb +1 -0
  238. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/lastupdated_search_test.rb +1 -0
  239. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/metadata.yml +127 -78
  240. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/must_support_test.rb +24 -9
  241. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/patient_search_test.rb +7 -2
  242. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_date_search_test.rb +1 -0
  243. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_start_date_search_test.rb +1 -0
  244. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/type_search_test.rb +1 -0
  245. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/validation_test.rb +1 -0
  246. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/billable_period_start_search_test.rb +1 -0
  247. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/id_search_test.rb +1 -0
  248. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/identifier_search_test.rb +1 -0
  249. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/lastupdated_search_test.rb +1 -0
  250. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/metadata.yml +57 -43
  251. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/must_support_test.rb +22 -8
  252. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/patient_search_test.rb +7 -2
  253. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/service_date_search_test.rb +1 -0
  254. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/service_start_date_search_test.rb +1 -0
  255. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/type_search_test.rb +1 -0
  256. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/validation_test.rb +1 -0
  257. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/billable_period_start_search_test.rb +1 -0
  258. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/id_search_test.rb +1 -0
  259. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  260. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  261. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/metadata.yml +121 -68
  262. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/must_support_test.rb +14 -7
  263. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/patient_search_test.rb +7 -2
  264. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/service_date_search_test.rb +1 -0
  265. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/service_start_date_search_test.rb +1 -0
  266. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/type_search_test.rb +1 -0
  267. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/validation_test.rb +1 -0
  268. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/billable_period_start_search_test.rb +1 -0
  269. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/id_search_test.rb +1 -0
  270. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/identifier_search_test.rb +1 -0
  271. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/lastupdated_search_test.rb +1 -0
  272. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/metadata.yml +51 -33
  273. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/must_support_test.rb +12 -6
  274. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/patient_search_test.rb +7 -2
  275. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/service_date_search_test.rb +1 -0
  276. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/service_start_date_search_test.rb +1 -0
  277. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/type_search_test.rb +1 -0
  278. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/validation_test.rb +1 -0
  279. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/metadata.yml +1035 -604
  280. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/id_search_test.rb +11 -6
  281. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/lastupdated_search_test.rb +1 -0
  282. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/metadata.yml +8 -4
  283. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/must_support_test.rb +1 -0
  284. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/validation_test.rb +1 -0
  285. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization_group.rb +1 -0
  286. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/id_search_test.rb +7 -2
  287. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/lastupdated_search_test.rb +1 -0
  288. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/metadata.yml +11 -2
  289. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/must_support_test.rb +5 -0
  290. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/validation_test.rb +1 -0
  291. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient_group.rb +1 -0
  292. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/id_search_test.rb +11 -6
  293. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/lastupdated_search_test.rb +1 -0
  294. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/metadata.yml +4 -2
  295. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/must_support_test.rb +1 -0
  296. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/validation_test.rb +1 -0
  297. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner_group.rb +1 -0
  298. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/id_search_test.rb +11 -6
  299. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/lastupdated_search_test.rb +1 -0
  300. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/metadata.yml +2 -0
  301. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/must_support_test.rb +1 -0
  302. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/validation_test.rb +1 -0
  303. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person_group.rb +1 -0
  304. data/lib/carin_for_blue_button_test_kit/generator/group_generator.rb +2 -2
  305. data/lib/carin_for_blue_button_test_kit/generator/group_metadata_extractor.rb +2 -3
  306. data/lib/carin_for_blue_button_test_kit/generator/must_support_test_generator.rb +2 -2
  307. data/lib/carin_for_blue_button_test_kit/generator/search_test_generator.rb +1 -1
  308. data/lib/carin_for_blue_button_test_kit/generator/templates/group.rb.erb +5 -0
  309. data/lib/carin_for_blue_button_test_kit/generator/templates/must_support.rb.erb +3 -0
  310. data/lib/carin_for_blue_button_test_kit/generator/templates/search.rb.erb +6 -1
  311. data/lib/carin_for_blue_button_test_kit/generator/templates/validation.rb.erb +10 -0
  312. data/lib/carin_for_blue_button_test_kit/generator/validation_test_generator.rb +1 -1
  313. data/lib/carin_for_blue_button_test_kit/must_support_test.rb +1 -192
  314. data/lib/carin_for_blue_button_test_kit/requirements/carin-for-blue-button-test-kit_out_of_scope_requirements.csv +15 -0
  315. data/lib/carin_for_blue_button_test_kit/requirements/carin-for-blue-button-test-kit_requirements.csv +80 -85
  316. data/lib/carin_for_blue_button_test_kit/requirements/generated/carin-for-blue-button-test-kit_requirements_coverage.csv +183 -240
  317. data/lib/carin_for_blue_button_test_kit/version.rb +2 -2
  318. data/lib/requirements_config.yaml +3 -0
  319. metadata +29 -9
  320. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorize_endpoint.rb +0 -32
  321. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_authorization.rb +0 -35
  322. data/lib/carin_for_blue_button_test_kit/generator/must_support_metadata_extractor.rb +0 -326
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CarinForBlueButtonTestKit
4
- VERSION = '0.15.0'
5
- LAST_UPDATED = '2025-03-25'.freeze
4
+ VERSION = '0.15.1'
5
+ LAST_UPDATED = '2025-05-20'.freeze
6
6
  end
@@ -4,6 +4,9 @@ suites:
4
4
  - id: c4bb_v200_client
5
5
  class_name: CarinForBlueButtonTestKit::C4BBV200ClientSuite
6
6
  suite_actor: Consumer
7
+ - id: c4bb_v200
8
+ class_name: CarinForBlueButtonTestKit::CARIN4BBV200::C4BBTestSuite
9
+ suite_actor: Health Plan
7
10
 
8
11
  requirement_sets:
9
12
  - id: hl7.fhir.us.carin-bb_2.0.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carin_for_blue_button_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-25 00:00:00.000000000 Z
11
+ date: 2025-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.7
19
+ version: 0.6.9
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.6.7
26
+ version: 0.6.9
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: smart_app_launch_test_kit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.6.0
33
+ version: 0.6.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.6.0
40
+ version: 0.6.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: udap_security_test_kit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.11.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.11.4
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: database_cleaner-sequel
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -123,9 +137,17 @@ files:
123
137
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/claim_data_request_tests/patient_claims_data_request_test.rb
124
138
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/claim_data_request_tests/practitioner_claims_data_request_test.rb
125
139
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/claim_data_request_tests/relatedperson_claims_data_request_test.rb
140
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alca_group.rb
141
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alcs_group.rb
142
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alp_group.rb
143
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_udap_group.rb
144
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_options.rb
145
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_smart_test.rb
146
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_udap_test.rb
147
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration_group.rb
126
148
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/client_validation_test.rb
127
149
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/collection.rb
128
- - lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorize_endpoint.rb
150
+ - lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorization_endpoint.rb
129
151
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/next_page_endpoint.rb
130
152
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_api_endpoint.rb
131
153
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_id_endpoint.rb
@@ -133,7 +155,6 @@ files:
133
155
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/initial_wait_test.rb
134
156
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/metadata/mock_capability_statement.json.erb
135
157
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/metadata/mock_operation_outcome_resource.json
136
- - lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_authorization.rb
137
158
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_server.rb
138
159
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/coverage_required_searches.rb
139
160
  - lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/eob_required_searches.rb
@@ -670,7 +691,6 @@ files:
670
691
  - lib/carin_for_blue_button_test_kit/generator/ig_metadata_extractor.rb
671
692
  - lib/carin_for_blue_button_test_kit/generator/ig_resources.rb
672
693
  - lib/carin_for_blue_button_test_kit/generator/include_search_test_generator.rb
673
- - lib/carin_for_blue_button_test_kit/generator/must_support_metadata_extractor.rb
674
694
  - lib/carin_for_blue_button_test_kit/generator/must_support_test_generator.rb
675
695
  - lib/carin_for_blue_button_test_kit/generator/naming.rb
676
696
  - lib/carin_for_blue_button_test_kit/generator/read_test_generator.rb
@@ -1,32 +0,0 @@
1
- module CarinForBlueButtonTestKit
2
- module MockAuthorization
3
- class AuthorizeEndpoint < Inferno::DSL::SuiteEndpoint
4
- def test_run_identifier
5
- request.params[:client_id]
6
- end
7
-
8
- def tags
9
- [AUTHORIZE_TAG]
10
- end
11
-
12
- def make_response
13
- if request.params[:redirect_uri].present?
14
- redirect_uri = "#{request.params[:redirect_uri]}?" \
15
- "code=#{SecureRandom.hex}&" \
16
- "state=#{request.params[:state]}"
17
- response.status = 302
18
- response.headers['Location'] = redirect_uri
19
- else
20
- response.status = 400
21
- response.format = 'application/fhir+json'
22
- response.body = FHIR::OperationOutcome.new(
23
- issue: FHIR::OperationOutcome::Issue.new(severity: 'fatal', code: 'required',
24
- details: FHIR::CodeableConcept.new(
25
- text: 'No redirect_uri provided'
26
- ))
27
- ).to_json
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,35 +0,0 @@
1
- module CarinForBlueButtonTestKit
2
- module MockAuthorization
3
- RSA_PRIVATE_KEY = OpenSSL::PKey::RSA.generate(2048)
4
- RSA_PUBLIC_KEY = RSA_PRIVATE_KEY.public_key
5
-
6
- module_function
7
-
8
- def extract_client_id_from_bearer_token(request)
9
- token = request.headers['authorization']&.delete_prefix('Bearer ')
10
- jwt =
11
- begin
12
- JWT.decode(token, nil, false)
13
- rescue StandardError
14
- nil
15
- end
16
- jwt&.first&.dig('inferno_client_id')
17
- end
18
-
19
- def jwks(_env)
20
- response_body = {
21
- keys: [
22
- {
23
- kty: 'RSA',
24
- alg: 'RS256',
25
- n: Base64.urlsafe_encode64(RSA_PUBLIC_KEY.n.to_s(2), padding: false),
26
- e: Base64.urlsafe_encode64(RSA_PUBLIC_KEY.e.to_s(2), padding: false),
27
- use: 'sig'
28
- }
29
- ]
30
- }.to_json
31
-
32
- [200, { 'Content-Type' => 'application/json' }, [response_body]]
33
- end
34
- end
35
- end
@@ -1,326 +0,0 @@
1
- require_relative 'value_extractor'
2
-
3
- module CarinForBlueButtonTestKit
4
- class Generator
5
- class MustSupportMetadataExtractor
6
- attr_accessor :profile_elements, :profile, :resource, :ig_resources
7
-
8
- def initialize(profile_elements, profile, resource, ig_resources)
9
- self.profile_elements = profile_elements
10
- self.profile = profile
11
- self.resource = resource
12
- self.ig_resources = ig_resources
13
- end
14
-
15
- def must_supports
16
- @must_supports = {
17
- extensions: must_support_extensions,
18
- slices: must_support_slices,
19
- elements: must_support_elements
20
- }
21
-
22
- @must_supports
23
- end
24
-
25
- def all_must_support_elements
26
- profile_elements.select { |element| element.mustSupport }
27
- end
28
-
29
- def must_support_extension_elements
30
- all_must_support_elements.select { |element| element.path.end_with? 'extension' }
31
- end
32
-
33
- def must_support_extensions
34
- must_support_extension_elements.map do |element|
35
- {
36
- id: element.id,
37
- url: element.type.first.profile.first
38
- }
39
- end
40
- end
41
-
42
- def must_support_slice_elements
43
- all_must_support_elements.select { |element| !element.path.end_with?('extension') && element.sliceName.present?}
44
- end
45
-
46
- def sliced_element(slice)
47
- profile_elements.find { |element| element.id == slice.path }
48
- end
49
-
50
- def discriminators(slice)
51
- slice.slicing.discriminator
52
- end
53
-
54
- def must_support_pattern_slice_elements
55
- must_support_slice_elements.select do |element|
56
- if !(sliced_element(element).slicing.nil?)
57
- discriminators(sliced_element(element)).first.type == 'pattern'
58
- end
59
- end
60
- end
61
-
62
- def pattern_slices
63
- must_support_pattern_slice_elements.map do |current_element|
64
- {
65
- name: current_element.id,
66
- path: current_element.path.gsub("#{resource}.", '')
67
- }.tap do |metadata|
68
- discriminator = discriminators(sliced_element(current_element)).first
69
- discriminator_path = discriminator.path
70
- discriminator_path = '' if discriminator_path == '$this'
71
- pattern_element =
72
- if discriminator_path.present?
73
- profile_elements.find { |element| element.id == "#{current_element.id}.#{discriminator_path}" }
74
- else
75
- current_element
76
- end
77
-
78
- metadata[:discriminator] =
79
- if pattern_element.patternCodeableConcept.present?
80
- {
81
- type: 'patternCodeableConcept',
82
- path: discriminator_path,
83
- code: pattern_element.patternCodeableConcept.coding.first.code,
84
- system: pattern_element.patternCodeableConcept.coding.first.system
85
- }
86
- elsif pattern_element.patternCoding.present?
87
- {
88
- type: 'patternCoding',
89
- path: discriminator_path,
90
- code: pattern_element.patternCoding.code,
91
- system: pattern_element.patternCoding.system
92
- }
93
- elsif pattern_element.patternIdentifier.present?
94
- {
95
- type: 'patternIdentifier',
96
- path: discriminator_path,
97
- system: pattern_element.patternIdentifier.system
98
- }
99
- elsif pattern_element.binding&.strength == 'required' &&
100
- pattern_element.binding&.valueSet.present?
101
-
102
- value_extractor = ValueExactor.new(ig_resources, resource)
103
-
104
- values = value_extractor.values_from_value_set_binding(pattern_element).presence ||
105
- value_extractor.values_from_resource_metadata([metadata[:path]]).presence || []
106
-
107
- {
108
- type: 'requiredBinding',
109
- path: discriminator_path,
110
- values: values
111
- }
112
- else
113
- raise StandardError, 'Unsupported discriminator pattern type'
114
- end
115
- end
116
- end
117
- end
118
-
119
- def must_support_type_slice_elements
120
- must_support_slice_elements.select do |element|
121
- if !(sliced_element(element).slicing.nil?)
122
- discriminators(sliced_element(element)).first.type == 'type'
123
- end
124
- end
125
- end
126
-
127
- def type_slices
128
- must_support_type_slice_elements.map do |current_element|
129
- discriminator = discriminators(sliced_element(current_element)).first
130
- type_path = discriminator.path
131
- type_path = '' if type_path == '$this'
132
- type_element =
133
- if type_path.present?
134
- elements.find { |element| element.id == "#{current_element.id}.#{type_path}" }
135
- else
136
- current_element
137
- end
138
-
139
- type_code = type_element.type.first.code
140
-
141
- {
142
- name: current_element.id,
143
- path: current_element.path.gsub("#{resource}.", ''),
144
- discriminator: {
145
- type: 'type',
146
- code: type_code.upcase_first
147
- }
148
- }
149
- end
150
- end
151
-
152
- def must_support_value_slice_elements
153
- must_support_slice_elements.select do |element|
154
- if !(sliced_element(element).slicing.nil?)
155
- discriminators(sliced_element(element)).first.type == 'value'
156
- end
157
- end
158
- end
159
-
160
- def value_slices
161
- must_support_value_slice_elements.map do |current_element|
162
- {
163
- name: current_element.id,
164
- path: current_element.path.gsub("#{resource}.", ''),
165
- discriminator: {
166
- type: 'value'
167
- }
168
- }.tap do |metadata|
169
- metadata[:discriminator][:values] = discriminators(sliced_element(current_element)).map do |discriminator|
170
- fixed_element = profile_elements.find do |element|
171
- element.id.starts_with?(current_element.id) &&
172
- element.path == "#{current_element.path}.#{discriminator.path}"
173
- end
174
-
175
- {
176
- path: discriminator.path,
177
- value: fixed_element.fixedUri || fixed_element.fixedCode
178
- }
179
- end
180
- end
181
- end
182
- end
183
-
184
- def must_support_slices
185
- pattern_slices + type_slices + value_slices
186
- end
187
-
188
- def plain_must_support_elements
189
- all_must_support_elements - must_support_extension_elements - must_support_slice_elements
190
- end
191
-
192
- def handle_fixed_values(metadata, element)
193
- if element.fixedUri.present?
194
- metadata[:fixed_value] = element.fixedUri
195
- elsif element.patternCodeableConcept.present?
196
- metadata[:fixed_value] = element.patternCodeableConcept.coding.first.code
197
- metadata[:path] += '.coding.code'
198
- elsif element.fixedCode.present?
199
- metadata[:fixed_value] = element.fixedCode
200
- elsif element.patternIdentifier.present?
201
- metadata[:fixed_value] = element.patternIdentifier.system
202
- metadata[:path] += '.system'
203
- end
204
- end
205
-
206
- def type_must_support_extension?(extensions)
207
- extensions&.any? do |extension|
208
- extension.url == 'http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support' &&
209
- extension.valueBoolean
210
- end
211
- end
212
-
213
- def save_type_code?(type)
214
- 'Reference' == type.code
215
- end
216
-
217
- def get_type_must_support_metadata(current_metadata, current_element)
218
- current_element.type.map do |type|
219
- if type_must_support_extension?(type.extension)
220
- metadata =
221
- {
222
- path: "#{current_metadata[:path].delete_suffix('[x]')}#{type.code.upcase_first}",
223
- original_path: current_metadata[:path]
224
- }
225
- metadata[:type] = [type.code] if save_type_code?(type)
226
- handle_type_must_support_target_profiles(type, metadata) if type.code == 'Reference'
227
-
228
- metadata
229
- end
230
- end.compact
231
- end
232
-
233
- def handle_type_must_support_target_profiles(type, metadata)
234
- index = 0
235
- target_profiles = []
236
-
237
- type.source_hash['_targetProfile']&.each do |hash|
238
- if hash.present?
239
- element = FHIR::Element.new(hash)
240
- target_profiles << type.targetProfile[index] if type_must_support_extension?(element.extension)
241
- end
242
- index += 1
243
- end
244
-
245
- metadata[:target_profiles] = target_profiles if target_profiles.present?
246
- end
247
-
248
- def handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
249
- choice_element_metadata = must_support_elements_metadata.find do |metadata|
250
- metadata[:original_path].present? &&
251
- current_metadata[:path].include?( metadata[:original_path] )
252
- end
253
-
254
- if choice_element_metadata.present?
255
- current_metadata[:original_path] = current_metadata[:path]
256
- current_metadata[:path] = current_metadata[:path].sub(choice_element_metadata[:original_path], choice_element_metadata[:path])
257
- end
258
- end
259
-
260
- def must_support_elements
261
- plain_must_support_elements.each_with_object([]) do |current_element, must_support_elements_metadata|
262
- {
263
- path: current_element.path.gsub("#{resource}.", '')
264
- }.tap do |current_metadata|
265
- type_must_support_metadata = get_type_must_support_metadata(current_metadata, current_element)
266
-
267
- if type_must_support_metadata.any?
268
- must_support_elements_metadata.concat(type_must_support_metadata)
269
- else
270
- handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
271
-
272
- supported_types = current_element.type.select { |type| save_type_code?(type) }.map { |type| type.code }
273
- current_metadata[:types] = supported_types if supported_types.present?
274
-
275
- handle_type_must_support_target_profiles(current_element.type.first, current_metadata) if current_element.type.first&.code == 'Reference'
276
-
277
- handle_fixed_values(current_metadata, current_element)
278
-
279
- must_support_elements_metadata.delete_if do |metadata|
280
- metadata[:path] == current_metadata[:path] && metadata[:fixed_value].blank?
281
- end
282
-
283
- must_support_elements_metadata << current_metadata
284
- end
285
- end
286
- end.uniq
287
- end
288
-
289
- #### SPECIAL CASE ####
290
-
291
- def is_vital_sign?
292
- [
293
- 'http://hl7.org/fhir/StructureDefinition/vitalsigns',
294
- 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs'
295
- ].include?(profile.baseDefinition)
296
- end
297
-
298
- def is_blood_pressure?
299
- ['observation-bp', 'USCoreBloodPressureProfile'].include?(profile.name)
300
- end
301
-
302
-
303
- # ONC and US Core 4.0.0 both clarified that health IT developers that always provide HL7 FHIR "observation" values
304
- # are not required to demonstrate Health IT Module support for "dataAbsentReason" elements.
305
- # Remove MS check for dataAbsentReason and component.dataAbsentReason from vital sign profiles and observation lab profile
306
- # Smoking status profile does not have MS on dataAbsentReason. It is safe to use profile.type == 'Observation'
307
-
308
- def remove_device_carrier
309
- if profile.type == 'Device'
310
- @must_supports[:elements].delete_if do |element|
311
- ['udiCarrier.carrierAIDC', 'udiCarrier.carrierHRF'].include?(element[:path])
312
- end
313
- end
314
- end
315
-
316
- def remove_document_reference_attachment_data_url
317
- if profile.type == 'DocumentReference'
318
- @must_supports[:elements].delete_if do |element|
319
- ['content.attachment.data', 'content.attachment.url'].include?(element[:path])
320
- end
321
- end
322
- end
323
-
324
- end
325
- end
326
- end