carin_for_blue_button_test_kit 0.15.0 → 0.15.2

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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/lib/carin_for_blue_button_test_kit/capability_statement/tests/instantiates_test.rb +14 -14
  3. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/c4bb_client_test_suite.rb +203 -124
  4. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/claim_data_request_tests/client_claims_data_attestation_test.rb +2 -2
  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/custom_groups/visual_inspection_and_attestation/v200_client/authentication.rb +30 -0
  32. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/last_updated.rb +31 -0
  33. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_absent_reason.rb +26 -0
  34. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_display.rb +26 -0
  35. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_missing.rb +27 -0
  36. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client.rb +25 -0
  37. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_48.rb +50 -0
  38. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_60.rb +48 -0
  39. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_97.rb +41 -0
  40. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group.rb +15 -0
  41. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_10.rb +26 -0
  42. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_2.rb +29 -0
  43. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_5.rb +29 -0
  44. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_7.rb +30 -0
  45. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_9.rb +26 -0
  46. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group.rb +19 -0
  47. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_105.rb +29 -0
  48. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_108.rb +29 -0
  49. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_115.rb +24 -0
  50. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_116.rb +30 -0
  51. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_118.rb +31 -0
  52. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_119.rb +31 -0
  53. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_120.rb +29 -0
  54. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_124.rb +38 -0
  55. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group.rb +25 -0
  56. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/04_eob_inpatient_group/attestation_test_requirement_130.rb +29 -0
  57. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/04_eob_inpatient_group/attestation_test_requirement_132.rb +27 -0
  58. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/04_eob_inpatient_group.rb +13 -0
  59. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/05_eob_outpatient_group/attestation_test_requirement_156.rb +28 -0
  60. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/05_eob_outpatient_group/attestation_test_requirement_157.rb +33 -0
  61. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/05_eob_outpatient_group.rb +13 -0
  62. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_144.rb +33 -0
  63. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_148.rb +29 -0
  64. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_149.rb +27 -0
  65. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_150.rb +29 -0
  66. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_151.rb +27 -0
  67. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_152.rb +29 -0
  68. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_153.rb +31 -0
  69. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group.rb +23 -0
  70. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_161.rb +27 -0
  71. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_162.rb +27 -0
  72. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_163.rb +27 -0
  73. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_164.rb +25 -0
  74. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_165.rb +27 -0
  75. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group.rb +19 -0
  76. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/08_eob_nonclinician_group/attestation_test_requirement_168_170.rb +29 -0
  77. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/08_eob_nonclinician_group/attestation_test_requirement_173.rb +29 -0
  78. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/08_eob_nonclinician_group.rb +13 -0
  79. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/09_organization_group/attestation_test_requirement_177.rb +29 -0
  80. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/09_organization_group/attestation_test_requirement_178.rb +27 -0
  81. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/09_organization_group.rb +12 -0
  82. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/10_practitioner_group/attestation_test_requirement_186.rb +27 -0
  83. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/10_practitioner_group.rb +10 -0
  84. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/adjudication_amount.rb +38 -0
  85. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/amount_calculations.rb +69 -0
  86. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_19.rb +27 -0
  87. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_28.rb +26 -0
  88. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_99.rb +26 -0
  89. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/coverage_reference_resource.rb +31 -0
  90. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/licensing.rb +33 -0
  91. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/meta_lastupdated.rb +46 -0
  92. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group.rb +24 -0
  93. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server.rb +37 -0
  94. data/lib/carin_for_blue_button_test_kit/docs/carin_for_blue_button_v2.0.0_client_suite_description.md +136 -30
  95. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/c4bb_test_suite.rb +2 -0
  96. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/metadata.yml +12 -4
  97. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/must_support_test.rb +4 -2
  98. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/metadata.yml +6 -0
  99. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/patient_search_test.rb +6 -2
  100. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/metadata.yml +155 -91
  101. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/must_support_test.rb +23 -9
  102. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/patient_search_test.rb +6 -2
  103. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/metadata.yml +155 -91
  104. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/must_support_test.rb +21 -10
  105. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/patient_search_test.rb +6 -2
  106. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/metadata.yml +114 -68
  107. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/must_support_test.rb +22 -7
  108. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/patient_search_test.rb +6 -2
  109. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/metadata.yml +103 -60
  110. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/must_support_test.rb +13 -6
  111. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/patient_search_test.rb +6 -2
  112. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/metadata.yml +568 -314
  113. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/metadata.yml +8 -4
  114. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/metadata.yml +11 -2
  115. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/must_support_test.rb +4 -0
  116. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/metadata.yml +4 -2
  117. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/c4bb_test_suite.rb +20 -2
  118. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/id_search_test.rb +11 -6
  119. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/lastupdated_search_test.rb +1 -0
  120. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/metadata.yml +12 -4
  121. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/must_support_test.rb +5 -2
  122. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/validation_test.rb +1 -0
  123. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage_group.rb +1 -0
  124. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/billable_period_start_search_test.rb +1 -0
  125. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/id_search_test.rb +1 -0
  126. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/identifier_search_test.rb +1 -0
  127. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/lastupdated_search_test.rb +1 -0
  128. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/metadata.yml +9 -2
  129. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/must_support_test.rb +2 -1
  130. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/patient_search_test.rb +7 -2
  131. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_date_search_test.rb +1 -0
  132. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_start_date_search_test.rb +1 -0
  133. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/type_search_test.rb +1 -0
  134. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/validation_test.rb +2 -0
  135. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_group.rb +1 -0
  136. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/billable_period_start_search_test.rb +1 -0
  137. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/id_search_test.rb +1 -0
  138. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  139. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  140. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/metadata.yml +164 -94
  141. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/must_support_test.rb +25 -10
  142. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/patient_search_test.rb +7 -2
  143. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  144. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_start_date_search_test.rb +1 -0
  145. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/type_search_test.rb +1 -0
  146. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/validation_test.rb +3 -0
  147. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/billable_period_start_search_test.rb +1 -0
  148. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/id_search_test.rb +1 -0
  149. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/identifier_search_test.rb +1 -0
  150. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/lastupdated_search_test.rb +1 -0
  151. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/metadata.yml +129 -77
  152. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/must_support_test.rb +24 -10
  153. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/patient_search_test.rb +7 -2
  154. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_date_search_test.rb +1 -0
  155. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_start_date_search_test.rb +1 -0
  156. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/type_search_test.rb +1 -0
  157. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/validation_test.rb +1 -0
  158. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/billable_period_start_search_test.rb +1 -0
  159. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/id_search_test.rb +1 -0
  160. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  161. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  162. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/metadata.yml +164 -94
  163. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/must_support_test.rb +23 -11
  164. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/patient_search_test.rb +7 -2
  165. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  166. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_start_date_search_test.rb +1 -0
  167. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/type_search_test.rb +1 -0
  168. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/validation_test.rb +1 -0
  169. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  170. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/id_search_test.rb +1 -0
  171. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/identifier_search_test.rb +1 -0
  172. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/lastupdated_search_test.rb +1 -0
  173. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/metadata.yml +128 -78
  174. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/must_support_test.rb +25 -9
  175. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/patient_search_test.rb +7 -2
  176. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_date_search_test.rb +1 -0
  177. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_start_date_search_test.rb +1 -0
  178. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/type_search_test.rb +1 -0
  179. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/validation_test.rb +1 -0
  180. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/billable_period_start_search_test.rb +1 -0
  181. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/id_search_test.rb +1 -0
  182. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  183. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  184. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/metadata.yml +121 -68
  185. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/must_support_test.rb +14 -7
  186. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/patient_search_test.rb +7 -2
  187. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_date_search_test.rb +1 -0
  188. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_start_date_search_test.rb +1 -0
  189. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/type_search_test.rb +1 -0
  190. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/validation_test.rb +1 -0
  191. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/metadata.yml +752 -415
  192. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/id_search_test.rb +11 -6
  193. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/lastupdated_search_test.rb +1 -0
  194. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/metadata.yml +8 -4
  195. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/must_support_test.rb +1 -0
  196. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/validation_test.rb +1 -0
  197. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization_group.rb +1 -0
  198. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/id_search_test.rb +7 -2
  199. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/lastupdated_search_test.rb +1 -0
  200. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/metadata.yml +11 -2
  201. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/must_support_test.rb +5 -0
  202. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/validation_test.rb +1 -0
  203. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient_group.rb +1 -0
  204. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/id_search_test.rb +11 -6
  205. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/lastupdated_search_test.rb +1 -0
  206. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/metadata.yml +4 -2
  207. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/must_support_test.rb +1 -0
  208. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/validation_test.rb +1 -0
  209. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner_group.rb +1 -0
  210. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/id_search_test.rb +11 -6
  211. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/lastupdated_search_test.rb +1 -0
  212. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/metadata.yml +2 -0
  213. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/must_support_test.rb +1 -0
  214. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/validation_test.rb +1 -0
  215. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person_group.rb +1 -0
  216. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/c4bb_test_suite.rb +8 -0
  217. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/id_search_test.rb +11 -6
  218. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/lastupdated_search_test.rb +1 -0
  219. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/metadata.yml +12 -4
  220. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/must_support_test.rb +5 -2
  221. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/validation_test.rb +1 -0
  222. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage_group.rb +1 -0
  223. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/billable_period_start_search_test.rb +1 -0
  224. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/id_search_test.rb +1 -0
  225. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/identifier_search_test.rb +1 -0
  226. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/lastupdated_search_test.rb +1 -0
  227. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/metadata.yml +9 -2
  228. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/must_support_test.rb +2 -1
  229. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/patient_search_test.rb +7 -2
  230. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_date_search_test.rb +1 -0
  231. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_start_date_search_test.rb +1 -0
  232. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/type_search_test.rb +1 -0
  233. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/validation_test.rb +1 -0
  234. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_group.rb +1 -0
  235. 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
  236. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/id_search_test.rb +1 -0
  237. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  238. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  239. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/metadata.yml +164 -94
  240. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/must_support_test.rb +25 -10
  241. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/patient_search_test.rb +7 -2
  242. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  243. 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
  244. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/type_search_test.rb +1 -0
  245. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/validation_test.rb +1 -0
  246. 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
  247. 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
  248. 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
  249. 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
  250. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/metadata.yml +59 -41
  251. 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
  252. 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
  253. 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
  254. 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
  255. 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
  256. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/validation_test.rb +1 -0
  257. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/billable_period_start_search_test.rb +1 -0
  258. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/id_search_test.rb +1 -0
  259. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/identifier_search_test.rb +1 -0
  260. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/lastupdated_search_test.rb +1 -0
  261. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/metadata.yml +129 -77
  262. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/must_support_test.rb +24 -10
  263. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/patient_search_test.rb +7 -2
  264. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_date_search_test.rb +1 -0
  265. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_start_date_search_test.rb +1 -0
  266. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/type_search_test.rb +1 -0
  267. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/validation_test.rb +1 -0
  268. 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
  269. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/id_search_test.rb +1 -0
  270. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/identifier_search_test.rb +1 -0
  271. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/lastupdated_search_test.rb +1 -0
  272. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/metadata.yml +59 -42
  273. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/must_support_test.rb +22 -9
  274. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/patient_search_test.rb +7 -2
  275. 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
  276. 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
  277. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/type_search_test.rb +1 -0
  278. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/validation_test.rb +1 -0
  279. 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
  280. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/id_search_test.rb +1 -0
  281. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  282. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  283. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/metadata.yml +164 -94
  284. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/must_support_test.rb +23 -11
  285. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/patient_search_test.rb +7 -2
  286. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  287. 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
  288. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/type_search_test.rb +1 -0
  289. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/validation_test.rb +1 -0
  290. 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
  291. 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
  292. 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
  293. 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
  294. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/metadata.yml +58 -40
  295. 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
  296. 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
  297. 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
  298. 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
  299. 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
  300. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/validation_test.rb +1 -0
  301. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  302. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/id_search_test.rb +1 -0
  303. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/identifier_search_test.rb +1 -0
  304. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/lastupdated_search_test.rb +1 -0
  305. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/metadata.yml +127 -78
  306. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/must_support_test.rb +24 -9
  307. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/patient_search_test.rb +7 -2
  308. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_date_search_test.rb +1 -0
  309. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_start_date_search_test.rb +1 -0
  310. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/type_search_test.rb +1 -0
  311. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/validation_test.rb +1 -0
  312. 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
  313. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/id_search_test.rb +1 -0
  314. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/identifier_search_test.rb +1 -0
  315. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/lastupdated_search_test.rb +1 -0
  316. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/metadata.yml +57 -43
  317. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/must_support_test.rb +22 -8
  318. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/patient_search_test.rb +7 -2
  319. 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
  320. 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
  321. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/type_search_test.rb +1 -0
  322. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/validation_test.rb +1 -0
  323. 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
  324. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/id_search_test.rb +1 -0
  325. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  326. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  327. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/metadata.yml +121 -68
  328. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/must_support_test.rb +14 -7
  329. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/patient_search_test.rb +7 -2
  330. 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
  331. 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
  332. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/type_search_test.rb +1 -0
  333. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/validation_test.rb +1 -0
  334. 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
  335. 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
  336. 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
  337. 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
  338. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/metadata.yml +51 -33
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/metadata.yml +1035 -604
  346. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/id_search_test.rb +11 -6
  347. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/lastupdated_search_test.rb +1 -0
  348. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/metadata.yml +8 -4
  349. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/must_support_test.rb +1 -0
  350. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/validation_test.rb +1 -0
  351. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization_group.rb +1 -0
  352. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/id_search_test.rb +7 -2
  353. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/lastupdated_search_test.rb +1 -0
  354. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/metadata.yml +11 -2
  355. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/must_support_test.rb +5 -0
  356. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/validation_test.rb +1 -0
  357. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient_group.rb +1 -0
  358. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/id_search_test.rb +11 -6
  359. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/lastupdated_search_test.rb +1 -0
  360. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/metadata.yml +4 -2
  361. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/must_support_test.rb +1 -0
  362. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/validation_test.rb +1 -0
  363. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner_group.rb +1 -0
  364. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/id_search_test.rb +11 -6
  365. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/lastupdated_search_test.rb +1 -0
  366. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/metadata.yml +2 -0
  367. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/must_support_test.rb +1 -0
  368. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/validation_test.rb +1 -0
  369. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person_group.rb +1 -0
  370. data/lib/carin_for_blue_button_test_kit/generator/group_generator.rb +2 -2
  371. data/lib/carin_for_blue_button_test_kit/generator/group_metadata_extractor.rb +2 -3
  372. data/lib/carin_for_blue_button_test_kit/generator/must_support_test_generator.rb +2 -2
  373. data/lib/carin_for_blue_button_test_kit/generator/search_test_generator.rb +1 -1
  374. data/lib/carin_for_blue_button_test_kit/generator/suite_generator.rb +1 -1
  375. data/lib/carin_for_blue_button_test_kit/generator/templates/group.rb.erb +5 -0
  376. data/lib/carin_for_blue_button_test_kit/generator/templates/must_support.rb.erb +3 -0
  377. data/lib/carin_for_blue_button_test_kit/generator/templates/search.rb.erb +6 -1
  378. data/lib/carin_for_blue_button_test_kit/generator/templates/suite.rb.erb +21 -1
  379. data/lib/carin_for_blue_button_test_kit/generator/templates/validation.rb.erb +10 -0
  380. data/lib/carin_for_blue_button_test_kit/generator/validation_test_generator.rb +1 -1
  381. data/lib/carin_for_blue_button_test_kit/must_support_test.rb +1 -192
  382. data/lib/carin_for_blue_button_test_kit/requirements/{generated/carin-for-blue-button-test-kit_requirements_coverage.csv → carin_for_blue_button_test_kit_requirements.csv} +201 -206
  383. data/lib/carin_for_blue_button_test_kit/requirements/generated/c4bb_v110_requirements_coverage.csv +1 -0
  384. data/lib/carin_for_blue_button_test_kit/requirements/generated/c4bb_v200_client_requirements_coverage.csv +47 -0
  385. data/lib/carin_for_blue_button_test_kit/requirements/generated/c4bb_v200_requirements_coverage.csv +244 -0
  386. data/lib/carin_for_blue_button_test_kit/requirements/{carin-for-blue-button-test-kit_requirements.csv → generated/c4bb_v200devnonfinancial_requirements_coverage.csv} +159 -250
  387. data/lib/carin_for_blue_button_test_kit/requirements/hl7.fhir.us.carin-bb_2.0.0_reqs.xlsx +0 -0
  388. data/lib/carin_for_blue_button_test_kit/version.rb +2 -2
  389. data/lib/carin_for_blue_button_test_kit.rb +0 -1
  390. metadata +98 -16
  391. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorize_endpoint.rb +0 -32
  392. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_authorization.rb +0 -35
  393. data/lib/carin_for_blue_button_test_kit/generator/must_support_metadata_extractor.rb +0 -326
  394. data/lib/carin_for_blue_button_test_kit/requirements/carin-for-blue-button-test-kit_out_of_scope_requirements.csv +0 -53
  395. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +0 -22
  396. data/lib/inferno_requirements_tools/rake/rakefile_template +0 -31
  397. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +0 -284
  398. data/lib/requirements_config.yaml +0 -14
@@ -1,6 +1,6 @@
1
1
  module CarinForBlueButtonTestKit
2
- TOKEN_PATH = '/mock_auth/token'.freeze
3
- AUTH_PATH = '/mock_auth/authorization'.freeze
2
+ TOKEN_PATH = '/auth/token'.freeze
3
+ AUTHORIZATION_PATH = '/auth/authorization'.freeze
4
4
  JKWS_PATH = '/.well-known/jwks.json'.freeze
5
5
  SMART_CONFIG_PATH = '/.well-known/smart-configuration'.freeze
6
6
  PATIENT_PATH = '/fhir/Patient'.freeze
@@ -22,7 +22,7 @@ module CarinForBlueButtonTestKit
22
22
  end
23
23
 
24
24
  def authorization_url
25
- @authorization_url ||= base_url + AUTH_PATH
25
+ @authorization_url ||= base_url + AUTHORIZATION_PATH
26
26
  end
27
27
 
28
28
  def jwks_url
@@ -33,16 +33,20 @@ module CarinForBlueButtonTestKit
33
33
  @smart_configuration_url ||= base_url + SMART_CONFIG_PATH
34
34
  end
35
35
 
36
- def base_fhir_url
37
- @base_fhir_url ||= base_url + BASE_FHIR_PATH
36
+ def fhir_base_url
37
+ @fhir_base_url ||= base_url + BASE_FHIR_PATH
38
+ end
39
+
40
+ def client_fhir_base_url # alias for OIDC from SMART / UDAP client tests
41
+ fhir_base_url
38
42
  end
39
43
 
40
44
  def patient_url
41
45
  @patient_url ||= base_url + PATIENT_PATH
42
46
  end
43
47
 
44
- def submit_url
45
- @submit_url ||= base_url + RESOURCE_API_PATH
48
+ def resource_api_url
49
+ @resource_api_url ||= base_url + RESOURCE_API_PATH
46
50
  end
47
51
 
48
52
  def resource_id_url
@@ -51,6 +51,7 @@ module CarinForBlueButtonTestKit
51
51
 
52
52
  group from: :smart_discovery do
53
53
  run_as_group
54
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@58'
54
55
 
55
56
  test from: :c4bb_v200_smart_capabilities do
56
57
  config(
@@ -95,6 +96,14 @@ module CarinForBlueButtonTestKit
95
96
 
96
97
  * [Standalone Launch Sequence](https://www.hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
97
98
  )
99
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@1', 'hl7.fhir.us.carin-bb_2.0.0@60',
100
+ 'hl7.fhir.us.carin-bb_2.0.0@68', 'hl7.fhir.us.carin-bb_2.0.0@69',
101
+ 'hl7.fhir.us.carin-bb_2.0.0@70', 'hl7.fhir.us.carin-bb_2.0.0@71',
102
+ 'hl7.fhir.us.carin-bb_2.0.0@72', 'hl7.fhir.us.carin-bb_2.0.0@73',
103
+ 'hl7.fhir.us.carin-bb_2.0.0@74', 'hl7.fhir.us.carin-bb_2.0.0@75',
104
+ 'hl7.fhir.us.carin-bb_2.0.0@76', 'hl7.fhir.us.carin-bb_2.0.0@77',
105
+ 'hl7.fhir.us.carin-bb_2.0.0@78', 'hl7.fhir.us.carin-bb_2.0.0@79',
106
+ 'hl7.fhir.us.carin-bb_2.0.0@80', 'hl7.fhir.us.carin-bb_2.0.0@81'
98
107
 
99
108
  test from: :c4bb_v200_smart_scopes do
100
109
  config(
@@ -0,0 +1,30 @@
1
+ module CarinForBlueButtonTestKit
2
+ class CARIN4BBAuthTest < Inferno::Test
3
+ title 'Uses appropriate authentication'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module must
6
+ - Direct communication through authenticated, authorized, and secure channels.
7
+ - Use the SMART App Launch Framework’s standalone launch.
8
+ DESCRIPTION
9
+ id :c4bb_authentication
10
+
11
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@1',
12
+ 'hl7.fhir.us.carin-bb_2.0.0@48'
13
+
14
+ run do
15
+ identifier = SecureRandom.hex(32)
16
+ wait(
17
+ identifier:,
18
+ message: <<~MESSAGE
19
+ I attest that the Health IT Module
20
+ - Directed communication through authenticated, authorized, and secure channels.
21
+ - Used the SMART App Launch Framework’s standalone launch.
22
+
23
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the tester visually confirmed system **meets** these requirements.
24
+
25
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the tester visually confirmed system **does not meet** these requirements.
26
+ MESSAGE
27
+ )
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,31 @@
1
+ module CarinForBlueButtonTestKit
2
+ class CARIN4BBLastUpdatedTest < Inferno::Test
3
+ title 'Uses meta.lastUpdated value appropriately'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module must use the meta.lastUpdated value to determine if the associated data is
6
+ accurate as of the date of service or as of the current date.
7
+ DESCRIPTION
8
+ id :c4bb_last_updated
9
+
10
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@90',
11
+ 'hl7.fhir.us.carin-bb_2.0.0@94',
12
+ 'hl7.fhir.us.carin-bb_2.0.0@180',
13
+ 'hl7.fhir.us.carin-bb_2.0.0@184',
14
+ 'hl7.fhir.us.carin-bb_2.0.0@188'
15
+
16
+ run do
17
+ identifier = SecureRandom.hex(32)
18
+ wait(
19
+ identifier:,
20
+ message: <<~MESSAGE
21
+ The developer of the Health IT Module attests that the Health IT Module used the
22
+ meta.lastUpdated value to determine if the associated data is accurate as of the date of service or as of the current date.
23
+
24
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the tester visually confirmed system **meets** these requirements.
25
+
26
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the tester visually confirmed system **does not meet** these requirements.
27
+ MESSAGE
28
+ )
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ module CarinForBlueButtonTestKit
2
+ class CARIN4BBMustSupportAbsentReasonTest < Inferno::Test
3
+ title 'Processes Must Support elements that assert missing information'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module must process Must Support elements that assert missing information.
6
+ DESCRIPTION
7
+ id :c4bb_must_support_absent_reason
8
+
9
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@8'
10
+
11
+ run do
12
+ identifier = SecureRandom.hex(32)
13
+ wait(
14
+ identifier:,
15
+ message: <<~MESSAGE
16
+ The developer of the Health IT Module attests that the Health IT Module processed
17
+ Must Support elements that asserted missing information.
18
+
19
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the tester visually confirmed system **meets** this requirement.
20
+
21
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the tester visually confirmed system **does not meet** this requirement.
22
+ MESSAGE
23
+ )
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ module CarinForBlueButtonTestKit
2
+ class CARIN4BBMustSupportDisplayTest < Inferno::Test
3
+ title 'Can display Must Support data elements'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module must be capable of displaying all Must Support data elements.
6
+ DESCRIPTION
7
+ id :c4bb_must_support_display
8
+
9
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@4'
10
+
11
+ run do
12
+ identifier = SecureRandom.hex(32)
13
+ wait(
14
+ identifier:,
15
+ message: <<~MESSAGE
16
+ The developer of the Health IT Module attests that the Health IT Module can display all
17
+ Must Support data elements for human use.
18
+
19
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the tester visually confirmed system **meets** this requirement.
20
+
21
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the tester visually confirmed system **does not meet** this requirement.
22
+ MESSAGE
23
+ )
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ module CarinForBlueButtonTestKit
2
+ class CARIN4BBMustSupportMissingTest < Inferno::Test
3
+ title 'Interprets missing Must Support data elements'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module must interpret missing Must Support data elements within resource instances as
6
+ data not present in the Health Plan API actors system.
7
+ DESCRIPTION
8
+ id :c4bb_must_support_missing
9
+
10
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@6'
11
+
12
+ run do
13
+ identifier = SecureRandom.hex(32)
14
+ wait(
15
+ identifier:,
16
+ message: <<~MESSAGE
17
+ The developer of the Health IT Module attests that the Health IT Module interpreted missing Must Support
18
+ data elements within resource instances as data not present in the Health Plan API actors system.
19
+
20
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the tester visually confirmed system **meets** this requirement.
21
+
22
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the tester visually confirmed system **does not meet** this requirement.
23
+ MESSAGE
24
+ )
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,25 @@
1
+ require_relative 'v200_client/must_support_display'
2
+ require_relative 'v200_client/must_support_missing'
3
+ require_relative 'v200_client/must_support_absent_reason'
4
+ require_relative 'v200_client/last_updated'
5
+ require_relative 'v200_client/authentication'
6
+
7
+ module CarinForBlueButtonTestKit
8
+ class CarinClientVisualInspectionAndAttestationGroup < Inferno::TestGroup
9
+ id :c4bb_client_v200_visual_inspection_and_attestation
10
+
11
+ title 'Visual Inspection and Attestation'
12
+
13
+ description <<~DESCRIPTION
14
+ Perform visual inspections or attestations to ensure that the Client is conformant to the CARIN for Blue Button® IG requirements.
15
+ DESCRIPTION
16
+
17
+ run_as_group
18
+
19
+ test from: :c4bb_authentication
20
+ test from: :c4bb_must_support_display
21
+ test from: :c4bb_must_support_missing
22
+ test from: :c4bb_must_support_absent_reason
23
+ test from: :c4bb_last_updated
24
+ end
25
+ end
@@ -0,0 +1,50 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement48_57 < Inferno::Test
3
+ title 'Secures data'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module
6
+ - Enables members to direct the communication of CARIN4BB data through authenticated, authorized, and secure channels.
7
+ - Protects CARIN4BB data with proper security and privacy protections to avoid malicious or unintentional exposure of
8
+ such information.
9
+ - Secures all consumer-directed payer data exchanges in transit and limits access only to authorized individuals.
10
+ - Ensures that APIs fully and successfully implement privacy and security features such as, but not limited to, those
11
+ required to comply with HIPAA privacy and security requirements and other applicable law protecting the privacy and
12
+ security of protected health information.
13
+ - Uses either current or the immediately prior release of Transport Level Security (TLS) as specified by the current release
14
+ of NIST guidelines (SP 800-52).
15
+ - Supports the FHIR US Core [Patient Privacy and Security requirements](https://www.hl7.org/fhir/us/core/security.html).
16
+ DESCRIPTION
17
+ id :carin_server_requirement_48_57_attestation
18
+
19
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@48',
20
+ 'hl7.fhir.us.carin-bb_2.0.0@49',
21
+ 'hl7.fhir.us.carin-bb_2.0.0@50',
22
+ 'hl7.fhir.us.carin-bb_2.0.0@51',
23
+ 'hl7.fhir.us.carin-bb_2.0.0@55',
24
+ 'hl7.fhir.us.carin-bb_2.0.0@57'
25
+
26
+ run do
27
+ identifier = SecureRandom.hex(32)
28
+ wait(
29
+ identifier:,
30
+ message: <<~MESSAGE
31
+ I attest that the Health IT Module
32
+ - Enables members to direct the communication of CARIN4BB data through authenticated, authorized, and secure channels.
33
+ - Protects CARIN4BB data with proper security and privacy protections to avoid malicious or unintentional exposure of
34
+ such information.
35
+ - Secures all consumer-directed payer data exchanges in transit and limits access only to authorized individuals.
36
+ - Ensures that APIs fully and successfully implement privacy and security features such as, but not limited to, those
37
+ required to comply with HIPAA privacy and security requirements and other applicable law protecting the privacy and
38
+ security of protected health information.
39
+ - Uses either current or the immediately prior release of Transport Level Security (TLS) as specified by the current release
40
+ of NIST guidelines (SP 800-52).
41
+ - Supports the FHIR US Core [Patient Privacy and Security requirements](https://www.hl7.org/fhir/us/core/security.html).
42
+
43
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
44
+
45
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
46
+ MESSAGE
47
+ )
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,48 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement60_67 < Inferno::Test
3
+ title 'Supports SMART Core Capabilities'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module supports the following “SMART Core Capabilities”:
6
+ - `launch-standalone`: support for SMART’s Standalone Launch mode
7
+ - `client-public`: support for SMART’s public client profile (no client authentication)
8
+ - `client-confidential-symmetric`: support for SMART’s confidential client profile
9
+ - `sso-openid-connect`: support for SMART’s OpenID Connect profile
10
+ - `context-standalone-patient`: support for patient-level launch context (requested by launch/patient scope, conveyed via patient token parameter)
11
+ - `permission-offline`: support for refresh tokens (requested by offline_access scope)
12
+ - `permission-patient`: support for patient-level scopes (e.g. patient Observation.read)
13
+ - `permission-user`: support for user-level scopes (e.g. user/Appointment.read)
14
+ DESCRIPTION
15
+ id :carin_server_requirement_60_67_attestation
16
+
17
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@60',
18
+ 'hl7.fhir.us.carin-bb_2.0.0@61',
19
+ 'hl7.fhir.us.carin-bb_2.0.0@62',
20
+ 'hl7.fhir.us.carin-bb_2.0.0@63',
21
+ 'hl7.fhir.us.carin-bb_2.0.0@64',
22
+ 'hl7.fhir.us.carin-bb_2.0.0@65',
23
+ 'hl7.fhir.us.carin-bb_2.0.0@66',
24
+ 'hl7.fhir.us.carin-bb_2.0.0@67'
25
+
26
+ run do
27
+ identifier = SecureRandom.hex(32)
28
+ wait(
29
+ identifier:,
30
+ message: <<~MESSAGE
31
+ The Health IT Module supports the following “SMART Core Capabilities”:
32
+ - `launch-standalone`: support for SMART’s Standalone Launch mode
33
+ - `client-public`: support for SMART’s public client profile (no client authentication)
34
+ - `client-confidential-symmetric`: support for SMART’s confidential client profile
35
+ - `sso-openid-connect`: support for SMART’s OpenID Connect profile
36
+ - `context-standalone-patient`: support for patient-level launch context (requested by launch/patient scope, conveyed via patient token parameter)
37
+ - `permission-offline`: support for refresh tokens (requested by offline_access scope)
38
+ - `permission-patient`: support for patient-level scopes (e.g. patient Observation.read)
39
+ - `permission-user`: support for user-level scopes (e.g. user/Appointment.read)
40
+
41
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
42
+
43
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
44
+ MESSAGE
45
+ )
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,41 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement97 < Inferno::Test
3
+ title 'Responds with appropriate error codes'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module returns the following response classes:
6
+ - (Status 400): invalid parameter
7
+ - (Status 401/4xx): unauthorized request
8
+ - (Status 403): insufficient scope
9
+ - (Status 404): unknown resource
10
+ - (Status 410): deleted resource
11
+
12
+ The Health IT Module rejects any unauthorized request by returning an HTTP 401 "Unauthorized", HTTP 403 "Forbidden",
13
+ or HTTP 404 "Not Found".
14
+ DESCRIPTION
15
+ id :carin_server_requirement_97_attestation
16
+
17
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@97', 'hl7.fhir.us.carin-bb_2.0.0@102'
18
+
19
+ run do
20
+ identifier = SecureRandom.hex(32)
21
+ wait(
22
+ identifier:,
23
+ message: <<~MESSAGE
24
+ I attest that the Health IT Module returns the following response classes:
25
+ - (Status 400): invalid parameter
26
+ - (Status 401/4xx): unauthorized request
27
+ - (Status 403): insufficient scope
28
+ - (Status 404): unknown resource
29
+ - (Status 410): deleted resource
30
+
31
+ I further attest that the Health IT Module rejects any unauthorized request by returning an HTTP 401 "Unauthorized",
32
+ HTTP 403 "Forbidden", or HTTP 404 "Not Found".
33
+
34
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
35
+
36
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
37
+ MESSAGE
38
+ )
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '00_authorization_group/attestation_test_requirement_48'
2
+ require_relative '00_authorization_group/attestation_test_requirement_60'
3
+ require_relative '00_authorization_group/attestation_test_requirement_97'
4
+
5
+ module CarinForBlueButtonTestKit
6
+ class CarinSecurityAttestationGroup < Inferno::TestGroup
7
+ id :c4bb_security
8
+ title 'Security'
9
+ short_title 'Security'
10
+
11
+ test from: :carin_server_requirement_97_attestation
12
+ test from: :carin_server_requirement_48_57_attestation
13
+ test from: :carin_server_requirement_60_67_attestation
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement10 < Inferno::Test
3
+ title 'Follows FHIR and US Core guidance when data is unavailable'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module follows the FHIR core specification and US Core guidance when no data is available
6
+ for required data elements (minimum cardinality > 0).
7
+ DESCRIPTION
8
+ id :carin_server_requirement_10_attestation
9
+
10
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@10'
11
+
12
+ run do
13
+ identifier = SecureRandom.hex(32)
14
+ wait(
15
+ identifier:,
16
+ message: <<~MESSAGE
17
+ I attest that the Health IT Module applies FHIR and US Core guidance
18
+ when the source system lacks data for required elements with minimum cardinality > 0.
19
+
20
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
21
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
22
+ MESSAGE
23
+ )
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement2 < Inferno::Test
3
+ title 'Returns maintained data'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module is capable of populating and returning all data elements maintained
6
+ by the payer as part of the query results, as specified by the CARIN Blue Button Health Plan API
7
+ CapabilityStatement.
8
+ DESCRIPTION
9
+ id :carin_server_requirement_2_attestation
10
+
11
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@2'
12
+
13
+ run do
14
+ identifier = SecureRandom.hex(32)
15
+ wait(
16
+ identifier:,
17
+ message: <<~MESSAGE
18
+ I attest that the Health IT Module is capable of populating and returning all data elements maintained
19
+ by the payer as part of the query results, as specified by the CARIN Blue Button Health Plan API
20
+ CapabilityStatement.
21
+
22
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
+
24
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
+ MESSAGE
26
+ )
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement5 < Inferno::Test
3
+ title 'Does not include absent data with unknown reason'
4
+ description <<~DESCRIPTION
5
+ In situations where information for a particular data element is not present and
6
+ the reason for its absence is unknown, the Health IT Module does not include the data element in
7
+ the resource instance returned as part of the query results.
8
+ DESCRIPTION
9
+ id :carin_server_requirement_5_attestation
10
+
11
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@5'
12
+
13
+ run do
14
+ identifier = SecureRandom.hex(32)
15
+ wait(
16
+ identifier:,
17
+ message: <<~MESSAGE
18
+ I attest that in situations where information for a particular data element is not present and
19
+ the reason for its absence is unknown, the Health IT Module does not include the data element in
20
+ the resource instance returned as part of the query results.
21
+
22
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
+
24
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
+ MESSAGE
26
+ )
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement7 < Inferno::Test
3
+ title 'Includes reason for missing Must Support elements'
4
+ description <<~DESCRIPTION
5
+ When a Must Support element is missing and the reason for the absence is known,
6
+ the Health IT Module includes a reason using either:
7
+ - a value such as a nullFlavor from the relevant value set, or
8
+ - the `dataAbsentReason` extension.
9
+ DESCRIPTION
10
+ id :carin_server_requirement_7_attestation
11
+
12
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@7'
13
+
14
+ run do
15
+ identifier = SecureRandom.hex(32)
16
+ wait(
17
+ identifier:,
18
+ message: <<~MESSAGE
19
+ The developer of the Health IT Module attests that when a Must Support element is missing and the
20
+ reason for the absence is known, the Health IT Module includes a reason using either:
21
+ - a value such as a nullFlavor from the relevant value set, or
22
+ - the `dataAbsentReason` extension.
23
+
24
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
25
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
26
+ MESSAGE
27
+ )
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement9 < Inferno::Test
3
+ title 'Omits Must Support elements with cardinality >= 0 if data is not present'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module omits `Must Support` data elements from the resource if the element's minimum
6
+ cardinality is 0 and no data is available from the source system.
7
+ DESCRIPTION
8
+ id :carin_server_requirement_9_attestation
9
+
10
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@9'
11
+
12
+ run do
13
+ identifier = SecureRandom.hex(32)
14
+ wait(
15
+ identifier:,
16
+ message: <<~MESSAGE
17
+ I attest that the Health IT Module omits `Must Support` elements with minimum cardinality = 0
18
+ when the source system has no data available for them.
19
+
20
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
21
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
22
+ MESSAGE
23
+ )
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '01_must_support_group/attestation_test_requirement_2'
2
+ require_relative '01_must_support_group/attestation_test_requirement_5'
3
+ require_relative '01_must_support_group/attestation_test_requirement_7'
4
+ require_relative '01_must_support_group/attestation_test_requirement_9'
5
+ require_relative '01_must_support_group/attestation_test_requirement_10'
6
+
7
+ module CarinForBlueButtonTestKit
8
+ class CarinMustSupportAttestationGroup < Inferno::TestGroup
9
+ id :c4bb_must_support
10
+ title 'Must Support'
11
+ short_title 'Must Support'
12
+
13
+ test from: :carin_server_requirement_2_attestation
14
+ test from: :carin_server_requirement_5_attestation
15
+ test from: :carin_server_requirement_7_attestation
16
+ test from: :carin_server_requirement_9_attestation
17
+ test from: :carin_server_requirement_10_attestation
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement105 < Inferno::Test
3
+ title 'Uses versioned references when point-in-time data is maintained'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module uses versioned references when an ExplanationOfBenefit
6
+ references another resource whenever point-in-time data is maintained, reflecting the data
7
+ effective as of the date of service or admission on the claim.
8
+ DESCRIPTION
9
+ id :carin_server_requirement_105_attestation
10
+
11
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@105'
12
+
13
+ run do
14
+ identifier = SecureRandom.hex(32)
15
+ wait(
16
+ identifier:,
17
+ message: <<~MESSAGE
18
+ I attest that the Health IT Module uses versioned references when an ExplanationOfBenefit
19
+ references another resource whenever point-in-time data is maintained, reflecting the data
20
+ effective as of the date of service or admission on the claim.
21
+
22
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
+
24
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
+ MESSAGE
26
+ )
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement108 < Inferno::Test
3
+ title 'Supports versioned and unversioned references'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module supports both versioned and non-versioned ExplanationOfBenefit
6
+ reference approaches when referencing another resource,
7
+ and returns the same content for referenced resources in either case.
8
+ DESCRIPTION
9
+ id :carin_server_requirement_108_attestation
10
+
11
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@108'
12
+
13
+ run do
14
+ identifier = SecureRandom.hex(32)
15
+ wait(
16
+ identifier:,
17
+ message: <<~MESSAGE
18
+ I attest that the Health IT Module supports both versioned and non-versioned ExplanationOfBenefit
19
+ reference approaches when referencing another resource,
20
+ and returns the same content for referenced resources in either case.
21
+
22
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
+
24
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
+ MESSAGE
26
+ )
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,24 @@
1
+ module CarinForBlueButtonTestKit
2
+ class AttestationTestCarinV2Requirement115 < Inferno::Test
3
+ title 'Does not use a data absent reason for EOB.type'
4
+ description <<~DESCRIPTION
5
+ The Health IT Module does not assign a data absent reason to the `ExplanationOfBenefit.type` element.
6
+ DESCRIPTION
7
+ id :carin_server_requirement_115_attestation
8
+
9
+ verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@115'
10
+
11
+ run do
12
+ identifier = SecureRandom.hex(32)
13
+ wait(
14
+ identifier:,
15
+ message: <<~MESSAGE
16
+ I attest that the Health IT Module does **not** assign a data absent reason to `ExplanationOfBenefit.type`.
17
+
18
+ [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
19
+ [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
20
+ MESSAGE
21
+ )
22
+ end
23
+ end
24
+ end