davinci_pas_test_kit 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/pas_client_v201_run_against_pas_server.json +39 -0
  3. data/config/presets/pas_client_v221_run_against_pas_server.json +85 -0
  4. data/config/presets/pas_ri.json +2 -2
  5. data/config/presets/pas_server_v201_run_against_pas_client.json.erb +76 -0
  6. data/config/presets/pas_server_v221_run_against_pas_client.json.erb +104 -0
  7. data/lib/davinci_pas_test_kit/client/abstract_approval_submit_test.rb +75 -0
  8. data/lib/davinci_pas_test_kit/client/abstract_denial_submit_test.rb +74 -0
  9. data/lib/davinci_pas_test_kit/client/abstract_gather_must_support_test.rb +160 -0
  10. data/lib/davinci_pas_test_kit/client/abstract_modification_submit_test.rb +78 -0
  11. data/lib/davinci_pas_test_kit/client/abstract_response_attest.rb +64 -0
  12. data/lib/davinci_pas_test_kit/client/abstract_subscription_create_test.rb +57 -0
  13. data/lib/davinci_pas_test_kit/{urls.rb → client/client_urls.rb} +7 -23
  14. data/lib/davinci_pas_test_kit/client/endpoints/claim_endpoint.rb +303 -0
  15. data/lib/davinci_pas_test_kit/{endpoints → client/endpoints}/subscription_create_endpoint.rb +1 -1
  16. data/lib/davinci_pas_test_kit/{endpoints → client/endpoints}/subscription_status_endpoint.rb +1 -1
  17. data/lib/davinci_pas_test_kit/{endpoints → client/endpoints}/token_endpoint.rb +1 -2
  18. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/client_submit_request_beneficiary_must_support_test.rb → client/generated/v2.0.1/beneficiary/client_inquire_request_must_support_beneficiary_test.rb} +14 -35
  19. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +59 -0
  20. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/client_inquire_request_beneficiary_must_support_test.rb → client/generated/v2.0.1/beneficiary/client_submit_request_must_support_beneficiary_test.rb} +14 -35
  21. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +59 -0
  22. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claim_inquiry/client_inquire_request_claim_inquiry_must_support_test.rb → client/generated/v2.0.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb} +19 -35
  23. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb → client/generated/v2.0.1/claim_update/client_submit_request_must_support_claim_update_test.rb} +19 -35
  24. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +57 -0
  25. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +59 -0
  26. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/communication_request/client_submit_response_must_support_communication_request_test.rb +42 -0
  27. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_inquire_request_must_support_coverage_test.rb +39 -0
  28. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_submit_request_must_support_coverage_test.rb +39 -0
  29. data/lib/davinci_pas_test_kit/{generated/v2.0.1/encounter/client_submit_request_encounter_must_support_test.rb → client/generated/v2.0.1/encounter/client_submit_request_must_support_encounter_test.rb} +14 -35
  30. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_request_must_support_insurer_test.rb +44 -0
  31. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_response_must_support_insurer_test.rb +44 -0
  32. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_request_must_support_insurer_test.rb +44 -0
  33. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_response_must_support_insurer_test.rb +44 -0
  34. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_must_support_group.rb +48 -0
  35. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_response_must_support_group.rb +79 -0
  36. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_must_support_group.rb +58 -0
  37. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_response_must_support_group.rb +84 -0
  38. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_request_bundle/client_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +37 -0
  39. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +36 -0
  40. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_request_bundle/client_submit_request_must_support_pas_request_bundle_test.rb +37 -0
  41. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +36 -0
  42. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_request_must_support_practitioner_test.rb +37 -0
  43. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +37 -0
  44. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_request_must_support_practitioner_test.rb +37 -0
  45. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_response_must_support_practitioner_test.rb +37 -0
  46. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_request_must_support_practitioner_role_test.rb +33 -0
  47. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +33 -0
  48. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_request_must_support_practitioner_role_test.rb +33 -0
  49. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +33 -0
  50. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_request_must_support_requestor_test.rb +47 -0
  51. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_response_must_support_requestor_test.rb +47 -0
  52. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_request_must_support_requestor_test.rb +47 -0
  53. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_response_must_support_requestor_test.rb +47 -0
  54. data/lib/davinci_pas_test_kit/{generated/v2.0.1/subscriber/client_inquire_request_subscriber_must_support_test.rb → client/generated/v2.0.1/subscriber/client_inquire_request_must_support_subscriber_test.rb} +14 -35
  55. data/lib/davinci_pas_test_kit/{generated/v2.0.1/subscriber/client_submit_request_subscriber_must_support_test.rb → client/generated/v2.0.1/subscriber/client_submit_request_must_support_subscriber_test.rb} +14 -35
  56. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_inquire_response_must_support_task_test.rb +45 -0
  57. data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_submit_response_must_support_task_test.rb +45 -0
  58. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +53 -0
  59. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +53 -0
  60. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb +123 -0
  61. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_update/client_submit_request_must_support_claim_update_test.rb +143 -0
  62. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +102 -0
  63. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +103 -0
  64. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/communication_request/client_submit_response_must_support_communication_request_test.rb +42 -0
  65. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_inquire_response_must_support_insurer_test.rb +47 -0
  66. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_submit_response_must_support_insurer_test.rb +47 -0
  67. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_must_support_group.rb +60 -0
  68. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_response_must_support_group.rb +79 -0
  69. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_must_support_group.rb +89 -0
  70. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_response_must_support_group.rb +84 -0
  71. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +38 -0
  72. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +39 -0
  73. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +44 -0
  74. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_submit_response_must_support_practitioner_test.rb +44 -0
  75. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +40 -0
  76. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +40 -0
  77. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_inquire_response_must_support_requestor_test.rb +50 -0
  78. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_submit_response_must_support_requestor_test.rb +50 -0
  79. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_inquire_response_must_support_task_test.rb +55 -0
  80. data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_submit_response_must_support_task_test.rb +55 -0
  81. data/lib/davinci_pas_test_kit/{jobs → client/jobs}/send_pas_subscription_notification.rb +12 -7
  82. data/lib/davinci_pas_test_kit/{jobs → client/jobs}/send_subscription_handshake.rb +1 -1
  83. data/lib/davinci_pas_test_kit/client/metadata/mock_pas_server.rb +26 -0
  84. data/lib/davinci_pas_test_kit/client/metadata/pas_server_capability_statement.json +60 -0
  85. data/lib/davinci_pas_test_kit/client/pas_client_options.rb +23 -0
  86. data/lib/davinci_pas_test_kit/client/pas_client_subscription_pas_conformance_test.rb +33 -0
  87. data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_other_display_test.rb +45 -0
  88. data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_smart_display_test.rb +37 -0
  89. data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_udap_display_test.rb +37 -0
  90. data/lib/davinci_pas_test_kit/client/registration/abstract_other_auth_attest_test.rb +39 -0
  91. data/lib/davinci_pas_test_kit/{response_generator.rb → client/response_generator.rb} +198 -62
  92. data/lib/davinci_pas_test_kit/{session_identification.rb → client/session_identification.rb} +1 -2
  93. data/lib/davinci_pas_test_kit/client/user_input_response.rb +64 -0
  94. data/lib/davinci_pas_test_kit/{client_suite.rb → client/v2.0.1/client_suite.rb} +33 -16
  95. data/lib/davinci_pas_test_kit/client/v2.0.1/must_support/pas_client_gather_must_support_test.rb +12 -0
  96. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/pas_client_must_support_requirement_test.rb → client/v2.0.1/must_support/pas_client_must_support_request_profiles_test.rb} +12 -46
  97. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_approval_group.rb +5 -5
  98. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_auth_smart_group.rb +1 -2
  99. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_auth_udap_group.rb +1 -2
  100. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_denial_group.rb +7 -6
  101. data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_must_support_group.rb +96 -0
  102. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_pended_group.rb +13 -10
  103. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_registration_group.rb +5 -6
  104. data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_subscription_setup_group.rb +6 -3
  105. data/lib/davinci_pas_test_kit/client/v2.0.1/registration/configuration_other_display_test.rb +12 -0
  106. data/lib/davinci_pas_test_kit/client/v2.0.1/registration/configuration_smart_display_test.rb +12 -0
  107. data/lib/davinci_pas_test_kit/client/v2.0.1/registration/configuration_udap_display_test.rb +12 -0
  108. data/lib/davinci_pas_test_kit/client/v2.0.1/registration/other_auth_attest_test.rb +12 -0
  109. data/lib/davinci_pas_test_kit/client/v2.0.1/subscription/pas_client_subscription_create_test.rb +15 -0
  110. data/lib/davinci_pas_test_kit/client/v2.0.1/urls.rb +15 -0
  111. data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_approval_submit_test.rb +15 -0
  112. data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_denial_submit_test.rb +15 -0
  113. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/client_tests → client/v2.0.1/workflows}/pas_client_inquire_request_bundle_validation_test.rb +1 -3
  114. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/client_tests → client/v2.0.1/workflows}/pas_client_inquire_response_bundle_validation_test.rb +18 -6
  115. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/client_tests → client/v2.0.1/workflows}/pas_client_pended_submit_test.rb +12 -8
  116. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/client_tests → client/v2.0.1/workflows}/pas_client_request_bundle_validation_test.rb +1 -3
  117. data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_response_attest.rb +12 -0
  118. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/client_tests → client/v2.0.1/workflows}/pas_client_response_bundle_validation_test.rb +10 -5
  119. data/lib/davinci_pas_test_kit/client/v2.2.1/client_suite.rb +240 -0
  120. data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_failure_submit_test.rb +76 -0
  121. data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_outcome_validation_test.rb +38 -0
  122. data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_response_validation_test.rb +55 -0
  123. data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_submit_test.rb +67 -0
  124. data/lib/davinci_pas_test_kit/client/v2.2.1/must_support/must_support_with_attestation_option.rb +214 -0
  125. data/lib/davinci_pas_test_kit/client/v2.2.1/must_support/pas_client_gather_must_support_test.rb +12 -0
  126. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_approval_group.rb +40 -0
  127. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_smart_group.rb +31 -0
  128. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_udap_group.rb +30 -0
  129. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_claim_updates_group.rb +112 -0
  130. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_denial_group.rb +47 -0
  131. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_error_handling_group.rb +20 -0
  132. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_modification_group.rb +52 -0
  133. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_must_support_group.rb +96 -0
  134. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_operation_failure_group.rb +45 -0
  135. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_pended_group.rb +125 -0
  136. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_processing_error_group.rb +44 -0
  137. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_registration_group.rb +65 -0
  138. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_subscription_setup_group.rb +31 -0
  139. data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_workflows_group.rb +25 -0
  140. data/lib/davinci_pas_test_kit/client/v2.2.1/registration/configuration_other_display_test.rb +12 -0
  141. data/lib/davinci_pas_test_kit/client/v2.2.1/registration/configuration_smart_display_test.rb +12 -0
  142. data/lib/davinci_pas_test_kit/client/v2.2.1/registration/configuration_udap_display_test.rb +12 -0
  143. data/lib/davinci_pas_test_kit/client/v2.2.1/registration/other_auth_attest_test.rb +12 -0
  144. data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_create_test.rb +14 -0
  145. data/lib/davinci_pas_test_kit/client/v2.2.1/urls.rb +15 -0
  146. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_approval_submit_test.rb +12 -0
  147. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_cancel_request_test.rb +33 -0
  148. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_cancelled_entries_test.rb +50 -0
  149. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_cancelled_items_certtype_test.rb +47 -0
  150. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_changed_entries_test.rb +100 -0
  151. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_entries_preserved_test.rb +51 -0
  152. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_grandparent_excluded_test.rb +52 -0
  153. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_referenced_claim_test.rb +46 -0
  154. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_referenced_resources_test.rb +43 -0
  155. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb +238 -0
  156. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_validation_utils.rb +183 -0
  157. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_denial_submit_test.rb +12 -0
  158. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_request_bundle_validation_test.rb +55 -0
  159. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_response_bundle_validation_test.rb +78 -0
  160. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_modification_submit_test.rb +12 -0
  161. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_modification_verification_test.rb +101 -0
  162. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_pended_submit_test.rb +148 -0
  163. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_request_bundle_validation_test.rb +56 -0
  164. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_response_attest.rb +12 -0
  165. data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_response_bundle_validation_test.rb +84 -0
  166. data/lib/davinci_pas_test_kit/cross_suite/base_urls.rb +27 -0
  167. data/lib/davinci_pas_test_kit/cross_suite/fhirpath_utils.rb +55 -0
  168. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/beneficiary/metadata.yml +19 -13
  169. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/claim_inquiry/metadata.yml +59 -22
  170. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/claim_update/metadata.yml +60 -22
  171. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/claiminquiryresponse/metadata.yml +17 -10
  172. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/claimresponse/metadata.yml +17 -13
  173. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/communication_request/metadata.yml +7 -13
  174. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/coverage/metadata.yml +8 -12
  175. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/device_request/metadata.yml +1 -6
  176. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/encounter/metadata.yml +6 -5
  177. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/insurer/metadata.yml +16 -13
  178. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/medication_request/metadata.yml +1 -6
  179. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/metadata.yml +276 -135
  180. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/nutrition_order/metadata.yml +1 -6
  181. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/pas_inquiry_request_bundle/metadata.yml +5 -7
  182. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/pas_inquiry_response_bundle/metadata.yml +5 -5
  183. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/pas_request_bundle/metadata.yml +5 -7
  184. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/pas_response_bundle/metadata.yml +5 -5
  185. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/practitioner/metadata.yml +16 -13
  186. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/practitioner_role/metadata.yml +16 -19
  187. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/requestor/metadata.yml +16 -13
  188. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/service_request/metadata.yml +2 -6
  189. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/subscriber/metadata.yml +11 -9
  190. data/lib/davinci_pas_test_kit/{generated → cross_suite/generated}/v2.0.1/task/metadata.yml +8 -5
  191. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/beneficiary/metadata.yml +150 -0
  192. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claim → cross_suite/generated/v2.2.1/claim_inquiry}/metadata.yml +199 -192
  193. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_update/metadata.yml +733 -0
  194. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claiminquiryresponse/metadata.yml +456 -0
  195. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claimresponse/metadata.yml +461 -0
  196. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/communication_request/metadata.yml +120 -0
  197. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/coverage/metadata.yml +163 -0
  198. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/device_request_metadata.yml → cross_suite/generated/v2.2.1/device_request/metadata.yml} +32 -33
  199. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/encounter/metadata.yml +237 -0
  200. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/insurer/metadata.yml +111 -0
  201. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/medication_request_metadata.yml → cross_suite/generated/v2.2.1/medication_request/metadata.yml} +59 -26
  202. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/metadata.yml +6544 -0
  203. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/nutrition_order_metadata.yml → cross_suite/generated/v2.2.1/nutrition_order/metadata.yml} +13 -14
  204. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_request_bundle/metadata.yml +74 -0
  205. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_response_bundle/metadata.yml +70 -0
  206. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_request_bundle/metadata.yml +74 -0
  207. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_response_bundle/metadata.yml +72 -0
  208. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner/metadata.yml +101 -0
  209. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner_role/metadata.yml +101 -0
  210. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/requestor/metadata.yml +114 -0
  211. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/service_request_metadata.yml → cross_suite/generated/v2.2.1/service_request/metadata.yml} +39 -45
  212. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/subscriber/metadata.yml +136 -0
  213. data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/task/metadata.yml +237 -0
  214. data/lib/davinci_pas_test_kit/cross_suite/must_support/must_support_data_gathering.rb +111 -0
  215. data/lib/davinci_pas_test_kit/cross_suite/must_support/must_support_request_type_test.rb +75 -0
  216. data/lib/davinci_pas_test_kit/cross_suite/must_support/must_support_test.rb +67 -0
  217. data/lib/davinci_pas_test_kit/{pas_bundle_validation.rb → cross_suite/pas_bundle_validation.rb} +383 -56
  218. data/lib/davinci_pas_test_kit/cross_suite/pas_constants.rb +31 -0
  219. data/lib/davinci_pas_test_kit/cross_suite/pas_notification_verification.rb +120 -0
  220. data/lib/davinci_pas_test_kit/cross_suite/pas_subscription_verification.rb +72 -0
  221. data/lib/davinci_pas_test_kit/cross_suite/response_selection_utils.rb +88 -0
  222. data/lib/davinci_pas_test_kit/cross_suite/tags.rb +35 -0
  223. data/lib/davinci_pas_test_kit/cross_suite/validation_test.rb +25 -0
  224. data/lib/davinci_pas_test_kit/{validator_suppressions.rb → cross_suite/validator_suppressions.rb} +23 -1
  225. data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +22 -0
  226. data/lib/davinci_pas_test_kit/generator/client_must_support_group_generator.rb +230 -0
  227. data/lib/davinci_pas_test_kit/generator/descriptions.rb +95 -0
  228. data/lib/davinci_pas_test_kit/generator/ig_metadata.rb +45 -38
  229. data/lib/davinci_pas_test_kit/generator/ig_metadata_extractor.rb +3 -5
  230. data/lib/davinci_pas_test_kit/generator/{must_support_check_profiles.rb → must_support_target_profiles.rb} +12 -12
  231. data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +63 -83
  232. data/lib/davinci_pas_test_kit/generator/pas_must_support_metadata_extractor.rb +129 -0
  233. data/lib/davinci_pas_test_kit/generator/profile_metadata.rb +86 -0
  234. data/lib/davinci_pas_test_kit/generator/{group_metadata_extractor.rb → profile_metadata_extractor.rb} +11 -78
  235. data/lib/davinci_pas_test_kit/generator/server_must_support_group_generator.rb +166 -0
  236. data/lib/davinci_pas_test_kit/generator/{suite_generator.rb → server_suite_generator.rb} +32 -5
  237. data/lib/davinci_pas_test_kit/generator/templates/client_must_support_group.rb.erb +80 -0
  238. data/lib/davinci_pas_test_kit/generator/templates/client_must_support_response_group.rb.erb +43 -0
  239. data/lib/davinci_pas_test_kit/generator/templates/must_support.rb.erb +14 -35
  240. data/lib/davinci_pas_test_kit/generator/templates/server_must_support_group.rb.erb +121 -0
  241. data/lib/davinci_pas_test_kit/generator/templates/{suite.rb.erb → server_suite.rb.erb} +19 -23
  242. data/lib/davinci_pas_test_kit/generator/templates/use_case_group.rb.erb +181 -0
  243. data/lib/davinci_pas_test_kit/generator/use_case_group_generator.rb +227 -0
  244. data/lib/davinci_pas_test_kit/generator.rb +46 -26
  245. data/lib/davinci_pas_test_kit/igs/davinci_pas_2.2.1.tgz +0 -0
  246. data/lib/davinci_pas_test_kit/metadata.rb +21 -55
  247. data/lib/davinci_pas_test_kit/parameters_helper.rb +18 -0
  248. data/lib/davinci_pas_test_kit/pas_notification_conformance_test.rb +40 -0
  249. data/lib/davinci_pas_test_kit/requirements/davinci_pas_test_kit_requirements.csv +121 -0
  250. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v201_requirements_coverage.csv +22 -22
  251. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v221_requirements_coverage.csv +66 -0
  252. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v201_requirements_coverage.csv +42 -42
  253. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v221_requirements_coverage.csv +212 -0
  254. data/lib/davinci_pas_test_kit/requirements/hl7.fhir.us.davinci-pas_2.2.1_requirements.xlsx +0 -0
  255. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/notification/pas_subscription_notification_test.rb → server/abstract_pas_subscription_notification_wait_test.rb} +13 -20
  256. data/lib/davinci_pas_test_kit/server/claim_inquire_operation_test.rb +31 -0
  257. data/lib/davinci_pas_test_kit/server/claim_operation_logic.rb +67 -0
  258. data/lib/davinci_pas_test_kit/server/claim_submit_operation_test.rb +32 -0
  259. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/server_submit_request_beneficiary_must_support_test.rb → server/generated/v2.0.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb} +14 -35
  260. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/server_submit_response_beneficiary_must_support_test.rb → server/generated/v2.0.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb} +16 -36
  261. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/server_inquire_request_beneficiary_must_support_test.rb → server/generated/v2.0.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb} +14 -35
  262. data/lib/davinci_pas_test_kit/{generated/v2.0.1/beneficiary/server_inquire_response_beneficiary_must_support_test.rb → server/generated/v2.0.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb} +16 -36
  263. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claim_inquiry/server_inquire_request_claim_inquiry_must_support_test.rb → server/generated/v2.0.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb} +19 -35
  264. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb → server/generated/v2.0.1/claim_update/server_submit_request_must_support_claim_update_test.rb} +19 -35
  265. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claiminquiryresponse/server_inquire_response_claiminquiryresponse_must_support_test.rb → server/generated/v2.0.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb} +14 -35
  266. data/lib/davinci_pas_test_kit/{generated/v2.0.1/claimresponse/server_submit_response_claimresponse_must_support_test.rb → server/generated/v2.0.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb} +14 -35
  267. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/communication_request/server_submit_response_must_support_communication_request_test.rb +43 -0
  268. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_inquire_request_must_support_coverage_test.rb +41 -0
  269. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_submit_request_must_support_coverage_test.rb +41 -0
  270. data/lib/davinci_pas_test_kit/{generated/v2.0.1/encounter/server_submit_request_encounter_must_support_test.rb → server/generated/v2.0.1/encounter/server_submit_request_must_support_encounter_test.rb} +14 -35
  271. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_request_must_support_insurer_test.rb +46 -0
  272. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_response_must_support_insurer_test.rb +45 -0
  273. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_request_must_support_insurer_test.rb +46 -0
  274. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_response_must_support_insurer_test.rb +45 -0
  275. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +39 -0
  276. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +37 -0
  277. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +39 -0
  278. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +37 -0
  279. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_approval_use_case_group.rb +145 -0
  280. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_denial_use_case_group.rb +145 -0
  281. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_must_support_group.rb +442 -0
  282. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_pended_use_case_group.rb +280 -0
  283. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +39 -0
  284. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +38 -0
  285. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_request_must_support_practitioner_test.rb +39 -0
  286. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_response_must_support_practitioner_test.rb +38 -0
  287. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +35 -0
  288. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +34 -0
  289. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +35 -0
  290. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +34 -0
  291. data/lib/davinci_pas_test_kit/{generated/v2.0.1/requestor/server_submit_request_requestor_must_support_test.rb → server/generated/v2.0.1/requestor/server_inquire_request_must_support_requestor_test.rb} +14 -35
  292. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_inquire_response_must_support_requestor_test.rb +48 -0
  293. data/lib/davinci_pas_test_kit/{generated/v2.0.1/requestor/server_inquire_request_requestor_must_support_test.rb → server/generated/v2.0.1/requestor/server_submit_request_must_support_requestor_test.rb} +14 -35
  294. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_submit_response_must_support_requestor_test.rb +48 -0
  295. data/lib/davinci_pas_test_kit/{generated → server/generated}/v2.0.1/server_suite.rb +14 -20
  296. data/lib/davinci_pas_test_kit/{generated/v2.0.1/subscriber/server_inquire_request_subscriber_must_support_test.rb → server/generated/v2.0.1/subscriber/server_inquire_request_must_support_subscriber_test.rb} +14 -35
  297. data/lib/davinci_pas_test_kit/{generated/v2.0.1/subscriber/server_submit_request_subscriber_must_support_test.rb → server/generated/v2.0.1/subscriber/server_submit_request_must_support_subscriber_test.rb} +14 -35
  298. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_inquire_response_must_support_task_test.rb +46 -0
  299. data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_submit_response_must_support_task_test.rb +46 -0
  300. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb +55 -0
  301. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb +53 -0
  302. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb +55 -0
  303. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb +53 -0
  304. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb +125 -0
  305. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_update/server_submit_request_must_support_claim_update_test.rb +145 -0
  306. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +102 -0
  307. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +103 -0
  308. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/communication_request/server_submit_response_must_support_communication_request_test.rb +42 -0
  309. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_inquire_request_must_support_coverage_test.rb +52 -0
  310. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_submit_request_must_support_coverage_test.rb +52 -0
  311. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/encounter/server_submit_request_must_support_encounter_test.rb +58 -0
  312. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_request_must_support_insurer_test.rb +49 -0
  313. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_response_must_support_insurer_test.rb +47 -0
  314. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_request_must_support_insurer_test.rb +49 -0
  315. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_response_must_support_insurer_test.rb +47 -0
  316. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +41 -0
  317. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +38 -0
  318. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +41 -0
  319. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +39 -0
  320. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_approval_use_case_group.rb +125 -0
  321. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_denial_use_case_group.rb +125 -0
  322. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_must_support_group.rb +403 -0
  323. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_pended_use_case_group.rb +150 -0
  324. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +46 -0
  325. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +44 -0
  326. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_request_must_support_practitioner_test.rb +46 -0
  327. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_response_must_support_practitioner_test.rb +44 -0
  328. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +42 -0
  329. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +40 -0
  330. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +42 -0
  331. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +40 -0
  332. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_request_must_support_requestor_test.rb +52 -0
  333. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_response_must_support_requestor_test.rb +50 -0
  334. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_request_must_support_requestor_test.rb +52 -0
  335. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_response_must_support_requestor_test.rb +50 -0
  336. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/server_suite.rb +148 -0
  337. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_inquire_request_must_support_subscriber_test.rb +54 -0
  338. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_submit_request_must_support_subscriber_test.rb +54 -0
  339. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_inquire_response_must_support_task_test.rb +55 -0
  340. data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_submit_response_must_support_task_test.rb +55 -0
  341. data/lib/davinci_pas_test_kit/server/pas_claim_response_decision_test.rb +73 -0
  342. data/lib/davinci_pas_test_kit/server/server_request_bundle_validation_test.rb +64 -0
  343. data/lib/davinci_pas_test_kit/server/server_response_bundle_validation_test.rb +76 -0
  344. data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/error_tests/pas_inquiry_error_test.rb +2 -2
  345. data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/error_tests/pas_submission_error_test.rb +2 -2
  346. data/lib/davinci_pas_test_kit/{custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test.rb → server/v2.0.1/must_support/pas_server_must_support_request_profiles_test.rb} +12 -45
  347. data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/pas_error_group.rb +3 -3
  348. data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/pas_server_subscription_input_conformance.rb +5 -3
  349. data/lib/davinci_pas_test_kit/server/v2.0.1/pas_server_subscription_notification_wait_test.rb +12 -0
  350. data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/pas_server_subscription_setup.rb +5 -3
  351. data/lib/davinci_pas_test_kit/server/v2.0.1/server_urls.rb +13 -0
  352. data/lib/davinci_pas_test_kit/server/v2.2.1/claim_updates/server_claim_update_response_tests.rb +143 -0
  353. data/lib/davinci_pas_test_kit/server/v2.2.1/error_tests/nonconformant_pas_bundle.json +16 -0
  354. data/lib/davinci_pas_test_kit/server/v2.2.1/error_tests/pas_inquiry_error_test.rb +38 -0
  355. data/lib/davinci_pas_test_kit/server/v2.2.1/error_tests/pas_submission_error_test.rb +56 -0
  356. data/lib/davinci_pas_test_kit/server/v2.2.1/must_support/pas_server_must_support_request_profiles_test.rb +86 -0
  357. data/lib/davinci_pas_test_kit/server/v2.2.1/pas_error_group.rb +20 -0
  358. data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_updates_group.rb +104 -0
  359. data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_input_conformance.rb +48 -0
  360. data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_notification_wait_test.rb +12 -0
  361. data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_setup.rb +42 -0
  362. data/lib/davinci_pas_test_kit/server/v2.2.1/server_urls.rb +13 -0
  363. data/lib/davinci_pas_test_kit/version.rb +2 -2
  364. data/lib/davinci_pas_test_kit.rb +5 -2
  365. metadata +386 -190
  366. data/config/presets/pas_server_subscription_creation_against_pas_client.json +0 -32
  367. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/claim_response_decision/pas_claim_response_decision_test.rb +0 -43
  368. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_registration/configuration_other_display_test.rb +0 -46
  369. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_registration/configuration_smart_display_test.rb +0 -37
  370. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_registration/configuration_udap_display_test.rb +0 -37
  371. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_registration/other_auth_attest_test.rb +0 -36
  372. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_test.rb +0 -80
  373. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_test.rb +0 -79
  374. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_inquire_must_support_test.rb +0 -63
  375. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_response_attest.rb +0 -52
  376. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_submit_must_support_test.rb +0 -72
  377. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_subscription_create_test.rb +0 -62
  378. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_subscription_pas_conformance_test.rb +0 -30
  379. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_must_support_group.rb +0 -29
  380. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_options.rb +0 -25
  381. data/lib/davinci_pas_test_kit/endpoints/claim_endpoint.rb +0 -157
  382. data/lib/davinci_pas_test_kit/fhir_resource_navigation.rb +0 -72
  383. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/claim_operation_test.rb +0 -67
  384. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/claim_inquiry_operation_test.rb +0 -56
  385. data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/server_submit_response_communication_request_must_support_test.rb +0 -63
  386. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_inquire_request_coverage_must_support_test.rb +0 -60
  387. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_submit_request_coverage_must_support_test.rb +0 -60
  388. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_inquire_request_coverage_must_support_test.rb +0 -62
  389. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_submit_request_coverage_must_support_test.rb +0 -62
  390. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/client_submit_request_device_request_must_support_test.rb +0 -56
  391. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/server_submit_request_device_request_must_support_test.rb +0 -58
  392. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_inquire_request_insurer_must_support_test.rb +0 -65
  393. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_submit_request_insurer_must_support_test.rb +0 -65
  394. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquire_request_insurer_must_support_test.rb +0 -67
  395. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquire_response_insurer_must_support_test.rb +0 -65
  396. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_request_insurer_must_support_test.rb +0 -67
  397. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_response_insurer_must_support_test.rb +0 -65
  398. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/client_submit_request_medication_request_must_support_test.rb +0 -66
  399. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/server_submit_request_medication_request_must_support_test.rb +0 -68
  400. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/client_submit_request_nutrition_order_must_support_test.rb +0 -58
  401. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/server_submit_request_nutrition_order_must_support_test.rb +0 -60
  402. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_inquiry_must_support_use_case_group.rb +0 -51
  403. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_submit_must_support_use_case_group.rb +0 -61
  404. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/client_inquire_request_pas_inquiry_request_bundle_must_support_test.rb +0 -58
  405. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_inquire_request_pas_inquiry_request_bundle_must_support_test.rb +0 -60
  406. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +0 -95
  407. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_inquire_response_pas_inquiry_response_bundle_must_support_test.rb +0 -57
  408. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +0 -89
  409. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/client_submit_request_pas_request_bundle_must_support_test.rb +0 -58
  410. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +0 -95
  411. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_submit_request_pas_request_bundle_must_support_test.rb +0 -60
  412. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +0 -89
  413. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_submit_response_pas_response_bundle_must_support_test.rb +0 -57
  414. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_approval_use_case_group.rb +0 -54
  415. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +0 -54
  416. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_must_support_use_case_group.rb +0 -268
  417. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +0 -90
  418. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_inquire_request_practitioner_must_support_test.rb +0 -58
  419. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_submit_request_practitioner_must_support_test.rb +0 -58
  420. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquire_request_practitioner_must_support_test.rb +0 -60
  421. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquire_response_practitioner_must_support_test.rb +0 -58
  422. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_request_practitioner_must_support_test.rb +0 -60
  423. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_response_practitioner_must_support_test.rb +0 -58
  424. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_inquire_request_practitioner_role_must_support_test.rb +0 -54
  425. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_submit_request_practitioner_role_must_support_test.rb +0 -54
  426. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquire_request_practitioner_role_must_support_test.rb +0 -56
  427. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquire_response_practitioner_role_must_support_test.rb +0 -54
  428. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_request_practitioner_role_must_support_test.rb +0 -56
  429. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_response_practitioner_role_must_support_test.rb +0 -54
  430. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_inquire_request_requestor_must_support_test.rb +0 -68
  431. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_submit_request_requestor_must_support_test.rb +0 -68
  432. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquire_response_requestor_must_support_test.rb +0 -68
  433. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_response_requestor_must_support_test.rb +0 -68
  434. data/lib/davinci_pas_test_kit/generated/v2.0.1/resource_list.rb +0 -54
  435. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/client_submit_request_service_request_must_support_test.rb +0 -58
  436. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/server_submit_request_service_request_must_support_test.rb +0 -60
  437. data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_inquire_response_task_must_support_test.rb +0 -66
  438. data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_submit_response_task_must_support_test.rb +0 -66
  439. data/lib/davinci_pas_test_kit/generator/group_generator.rb +0 -470
  440. data/lib/davinci_pas_test_kit/generator/group_metadata.rb +0 -73
  441. data/lib/davinci_pas_test_kit/generator/naming.rb +0 -50
  442. data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +0 -149
  443. data/lib/davinci_pas_test_kit/generator/resource_list_generator.rb +0 -59
  444. data/lib/davinci_pas_test_kit/generator/templates/group.rb.erb +0 -136
  445. data/lib/davinci_pas_test_kit/generator/templates/operation.rb.erb +0 -65
  446. data/lib/davinci_pas_test_kit/generator/templates/resource_list.rb.erb +0 -13
  447. data/lib/davinci_pas_test_kit/generator/templates/validation.rb.erb +0 -99
  448. data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +0 -172
  449. data/lib/davinci_pas_test_kit/generator/value_extractor.rb +0 -51
  450. data/lib/davinci_pas_test_kit/must_support_test.rb +0 -71
  451. data/lib/davinci_pas_test_kit/pas_subscription_verification.rb +0 -30
  452. data/lib/davinci_pas_test_kit/tags.rb +0 -17
  453. data/lib/davinci_pas_test_kit/user_input_response.rb +0 -35
  454. data/lib/davinci_pas_test_kit/validation_test.rb +0 -57
  455. /data/lib/davinci_pas_test_kit/{certs → client/certs}/InfernoCA.key +0 -0
  456. /data/lib/davinci_pas_test_kit/{certs → client/certs}/InfernoCA.pem +0 -0
  457. /data/lib/davinci_pas_test_kit/{certs → client/certs}/TestKit.pem +0 -0
  458. /data/lib/davinci_pas_test_kit/{certs → client/certs}/TestKitPrivateKey.key +0 -0
  459. /data/lib/davinci_pas_test_kit/{descriptions.rb → client/client_input_descriptions.rb} +0 -0
  460. /data/lib/davinci_pas_test_kit/{custom_groups → client}/v2.0.1/pas_client_workflows_group.rb +0 -0
  461. /data/lib/davinci_pas_test_kit/{custom_groups → server}/v2.0.1/error_tests/nonconformant_pas_bundle.json +0 -0
@@ -0,0 +1,403 @@
1
+ require_relative '../../server_request_bundle_validation_test'
2
+ require_relative '../../claim_submit_operation_test'
3
+ require_relative '../../server_response_bundle_validation_test'
4
+ require_relative '../../claim_inquire_operation_test'
5
+ require_relative '../../v2.2.1/must_support/pas_server_must_support_request_profiles_test'
6
+ require_relative 'pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test'
7
+ require_relative 'claim_update/server_submit_request_must_support_claim_update_test'
8
+ require_relative 'coverage/server_submit_request_must_support_coverage_test'
9
+ require_relative 'encounter/server_submit_request_must_support_encounter_test'
10
+ require_relative 'insurer/server_submit_request_must_support_insurer_test'
11
+ require_relative 'requestor/server_submit_request_must_support_requestor_test'
12
+ require_relative 'beneficiary/server_submit_request_must_support_beneficiary_test'
13
+ require_relative 'subscriber/server_submit_request_must_support_subscriber_test'
14
+ require_relative 'practitioner/server_submit_request_must_support_practitioner_test'
15
+ require_relative 'practitioner_role/server_submit_request_must_support_practitioner_role_test'
16
+ require_relative 'pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test'
17
+ require_relative 'claimresponse/server_submit_response_must_support_claimresponse_test'
18
+ require_relative 'communication_request/server_submit_response_must_support_communication_request_test'
19
+ require_relative 'insurer/server_submit_response_must_support_insurer_test'
20
+ require_relative 'requestor/server_submit_response_must_support_requestor_test'
21
+ require_relative 'beneficiary/server_submit_response_must_support_beneficiary_test'
22
+ require_relative 'practitioner/server_submit_response_must_support_practitioner_test'
23
+ require_relative 'practitioner_role/server_submit_response_must_support_practitioner_role_test'
24
+ require_relative 'task/server_submit_response_must_support_task_test'
25
+ require_relative 'pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test'
26
+ require_relative 'claim_inquiry/server_inquire_request_must_support_claim_inquiry_test'
27
+ require_relative 'coverage/server_inquire_request_must_support_coverage_test'
28
+ require_relative 'insurer/server_inquire_request_must_support_insurer_test'
29
+ require_relative 'requestor/server_inquire_request_must_support_requestor_test'
30
+ require_relative 'beneficiary/server_inquire_request_must_support_beneficiary_test'
31
+ require_relative 'subscriber/server_inquire_request_must_support_subscriber_test'
32
+ require_relative 'practitioner/server_inquire_request_must_support_practitioner_test'
33
+ require_relative 'practitioner_role/server_inquire_request_must_support_practitioner_role_test'
34
+ require_relative 'pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test'
35
+ require_relative 'claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test'
36
+ require_relative 'insurer/server_inquire_response_must_support_insurer_test'
37
+ require_relative 'requestor/server_inquire_response_must_support_requestor_test'
38
+ require_relative 'beneficiary/server_inquire_response_must_support_beneficiary_test'
39
+ require_relative 'practitioner/server_inquire_response_must_support_practitioner_test'
40
+ require_relative 'practitioner_role/server_inquire_response_must_support_practitioner_role_test'
41
+ require_relative 'task/server_inquire_response_must_support_task_test'
42
+
43
+ module DaVinciPASTestKit
44
+ module DaVinciPASV221
45
+ class PASServerMustSupportGroup < Inferno::TestGroup
46
+ id :pas_server_v221_must_support
47
+ title 'Demonstrate Element Support'
48
+ description %(
49
+ Demonstrate the ability of the server to support all PAS-defined profiles
50
+ and the must support elements defined in them. This includes
51
+
52
+ - the ability to respond to prior authorization submission and inquiry
53
+ requests that contain all PAS-defined profiles and their must support
54
+ elements.
55
+ - the ability to include in those responses all PAS-defined profiles
56
+ and their must support elements.
57
+
58
+ In order to allow Inferno to observe and validate these criteria, testers
59
+ are required to provide a set of `$submit` and `$inquire` requests that
60
+ collectively both themselves contain and elicit server responses that contain
61
+ all PAS-defined profiles and their must support elements.
62
+
63
+ )
64
+
65
+
66
+
67
+ group do
68
+ title '$submit Element Support'
69
+ description %(
70
+ Check that the provided `$submit` requests both themselves contain
71
+ and elicit server responses that contain all PAS-defined profiles
72
+ and their must support elements.
73
+
74
+ For `$submit` requests, this includes the following profiles:
75
+
76
+ - [PAS Request Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-request-bundle.html)
77
+ - [PAS Claim Update](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-claim-update.html)
78
+ - [PAS Coverage](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-coverage.html)
79
+ - [PAS Encounter](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-encounter.html)
80
+ - [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-insurer.html)
81
+ - [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-requestor.html)
82
+ - [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-beneficiary.html)
83
+ - [PAS Subscriber Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-subscriber.html)
84
+ - [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitioner.html)
85
+ - [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitionerrole.html)
86
+ - At least one of the following request profiles
87
+ - [PAS Device Request](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-devicerequest.html)
88
+ - [PAS Medication Request](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-medicationrequest.html)
89
+ - [PAS Nutrition Order](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-nutritionorder.html)
90
+ - [PAS Service Request](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-servicerequest.html)
91
+
92
+
93
+
94
+ For `$submit` responses, this includes the following profiles (NOTE: request-specific
95
+ profiles that may be echoed from `$submit` requests, such as the Claim instance or request instances,
96
+ are not currently checked):
97
+
98
+ - [PAS Response Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-response-bundle.html)
99
+ - [PAS Claim Response](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-claimresponse.html)
100
+ - [PAS CommunicationRequest](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-communicationrequest.html)
101
+ - [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-insurer.html)
102
+ - [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-requestor.html)
103
+ - [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-beneficiary.html)
104
+ - [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitioner.html)
105
+ - [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitionerrole.html)
106
+ - [PAS Task](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-task.html)
107
+
108
+
109
+
110
+ )
111
+ run_as_group
112
+
113
+ group do
114
+ title 'Submission of claims to the $submit operation for must support validation'
115
+
116
+ test from: :pas_server_request_bundle_validation_test do
117
+ id :pas_server_v221_submit_request_bundle_validation_test_must_support
118
+ title 'Provided $submit Request Bundle is conformant'
119
+ description %(
120
+ **USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test.
121
+ Errors encountered will be treated as a skip instead of a failure.
122
+
123
+ This test validates the conformity of the
124
+ user input to the
125
+ [PAS Request Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-request-bundle.html)
126
+ profile, ensuring subsequent tests can accurately simulate content.
127
+
128
+ It also checks that other conformance requirements defined in the [PAS Formal
129
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
130
+ such as the presence of all referenced instances within the bundle and the
131
+ conformance of those instances to the appropriate profiles, are met.
132
+
133
+ It verifies the presence of mandatory elements and that elements with
134
+ required bindings contain appropriate values. CodeableConcept element
135
+ bindings will fail if none of their codings have a code/system belonging
136
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
137
+ fail if their code/system are not found in the valueset.
138
+
139
+ Note that because X12 value sets are not public, elements bound to value
140
+ sets containing X12 codes are not validated.
141
+
142
+ )
143
+ simulation_verification
144
+ config(
145
+ inputs: {
146
+ bundle_payload: {
147
+ name: :must_support_pa_submit_request_payload ,
148
+ title: 'Additional $submit Request Payloads',
149
+ description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
150
+ }
151
+ },
152
+ options: {
153
+ operation: 'submit',
154
+ use_case: 'must_support',
155
+ ig_version: 'v2.2.1'
156
+ }
157
+ )
158
+ end
159
+ test from: :pas_claim_submit_operation_test do
160
+ id :pas_v221_claim_submit_operation_test_must_support
161
+ config(
162
+ inputs: {
163
+ pa_submit_request_payload: {
164
+ name: :must_support_pa_submit_request_payload,
165
+ title: 'Additional $submit Request Payloads',
166
+ description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
167
+ }
168
+ },
169
+ options: {
170
+ use_case: 'must_support',
171
+ ig_version: 'v2.2.1'
172
+ }
173
+ )
174
+ end
175
+ test from: :pas_server_response_bundle_validation_test do
176
+ id :pas_server_v221_submit_response_bundle_validation_test_must_support
177
+ title 'Server $submit Response Bundle is conformant'
178
+ description %(
179
+ This test validates the conformity of the
180
+ server's response to the
181
+ [PAS Response Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-response-bundle.html)
182
+ profile.
183
+
184
+ It also checks that other conformance requirements defined in the [PAS Formal
185
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
186
+ such as the presence of all referenced instances within the bundle and the
187
+ conformance of those instances to the appropriate profiles, are met.
188
+
189
+ It verifies the presence of mandatory elements and that elements with
190
+ required bindings contain appropriate values. CodeableConcept element
191
+ bindings will fail if none of their codings have a code/system belonging
192
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
193
+ fail if their code/system are not found in the valueset.
194
+
195
+ Note that because X12 value sets are not public, elements bound to value
196
+ sets containing X12 codes are not validated.
197
+
198
+ )
199
+ config(
200
+ options: {
201
+ use_case: 'must_support',
202
+ operation: 'submit',
203
+ ig_version: 'v2.2.1'
204
+ }
205
+ )
206
+ end
207
+ end
208
+
209
+ group do
210
+ title '$submit Request Must Support'
211
+ simulation_verification
212
+
213
+ test from: :pas_server_v221_must_support_request_profiles
214
+ test from: :pas_server_v221_submit_request_must_support_pas_request_bundle
215
+ test from: :pas_server_v221_submit_request_must_support_claim_update
216
+ test from: :pas_server_v221_submit_request_must_support_coverage
217
+ test from: :pas_server_v221_submit_request_must_support_encounter
218
+ test from: :pas_server_v221_submit_request_must_support_insurer
219
+ test from: :pas_server_v221_submit_request_must_support_requestor
220
+ test from: :pas_server_v221_submit_request_must_support_beneficiary
221
+ test from: :pas_server_v221_submit_request_must_support_subscriber
222
+ test from: :pas_server_v221_submit_request_must_support_practitioner
223
+ test from: :pas_server_v221_submit_request_must_support_practitioner_role
224
+ end
225
+
226
+ group do
227
+ title '$submit Response Must Support'
228
+ test from: :pas_server_v221_submit_response_must_support_pas_response_bundle
229
+ test from: :pas_server_v221_submit_response_must_support_claimresponse
230
+ test from: :pas_server_v221_submit_response_must_support_communication_request
231
+ test from: :pas_server_v221_submit_response_must_support_insurer
232
+ test from: :pas_server_v221_submit_response_must_support_requestor
233
+ test from: :pas_server_v221_submit_response_must_support_beneficiary
234
+ test from: :pas_server_v221_submit_response_must_support_practitioner
235
+ test from: :pas_server_v221_submit_response_must_support_practitioner_role
236
+ test from: :pas_server_v221_submit_response_must_support_task
237
+ end
238
+ end
239
+ group do
240
+ title '$inquire Element Support'
241
+ description %(
242
+ Check that the provided `$inquire` requests both themselves contain
243
+ and elicit server responses that contain all PAS-defined profiles
244
+ and their must support elements.
245
+
246
+ For `$inquire` requests, this includes the following profiles:
247
+
248
+ - [PAS Inquiry Request Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-inquiry-request-bundle.html)
249
+ - [PAS Claim Inquiry](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-claim-inquiry.html)
250
+ - [PAS Coverage](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-coverage.html)
251
+ - [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-insurer.html)
252
+ - [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-requestor.html)
253
+ - [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-beneficiary.html)
254
+ - [PAS Subscriber Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-subscriber.html)
255
+ - [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitioner.html)
256
+ - [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitionerrole.html)
257
+
258
+
259
+
260
+ For `$inquire` responses, this includes the following profiles (NOTE: request-specific
261
+ profiles that may be echoed from `$inquire` requests, such as the Claim instance or request instances,
262
+ are not currently checked):
263
+
264
+ - [PAS Inquiry Response Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-inquiry-response-bundle.html)
265
+ - [PAS Claim Inquiry Response](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-claiminquiryresponse.html)
266
+ - [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-insurer.html)
267
+ - [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-requestor.html)
268
+ - [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-beneficiary.html)
269
+ - [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitioner.html)
270
+ - [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-practitionerrole.html)
271
+ - [PAS Task](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-task.html)
272
+
273
+
274
+
275
+ )
276
+ run_as_group
277
+
278
+ group do
279
+ title 'Submission of claims to the $inquire operation for must support validation'
280
+
281
+ test from: :pas_server_request_bundle_validation_test do
282
+ id :pas_server_v221_inquire_request_bundle_validation_test_must_support
283
+ title 'Provided $inquire Request Bundle is conformant'
284
+ description %(
285
+ **USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test.
286
+ Errors encountered will be treated as a skip instead of a failure.
287
+
288
+ This test validates the conformity of the
289
+ user input to the
290
+ [PAS Inquiry Request Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-inquiry-request-bundle.html)
291
+ profile, ensuring subsequent tests can accurately simulate content.
292
+
293
+ It also checks that other conformance requirements defined in the [PAS Formal
294
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
295
+ such as the presence of all referenced instances within the bundle and the
296
+ conformance of those instances to the appropriate profiles, are met.
297
+
298
+ It verifies the presence of mandatory elements and that elements with
299
+ required bindings contain appropriate values. CodeableConcept element
300
+ bindings will fail if none of their codings have a code/system belonging
301
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
302
+ fail if their code/system are not found in the valueset.
303
+
304
+ Note that because X12 value sets are not public, elements bound to value
305
+ sets containing X12 codes are not validated.
306
+
307
+ )
308
+ simulation_verification
309
+ config(
310
+ inputs: {
311
+ bundle_payload: {
312
+ name: :must_support_pa_inquire_request_payload ,
313
+ title: 'Additional $inquire Request Payloads',
314
+ description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
315
+ }
316
+ },
317
+ options: {
318
+ operation: 'inquire',
319
+ use_case: 'must_support',
320
+ ig_version: 'v2.2.1'
321
+ }
322
+ )
323
+ end
324
+ test from: :pas_claim_inquire_operation_test do
325
+ id :pas_v221_claim_inquire_operation_test_must_support
326
+ config(
327
+ inputs: {
328
+ pa_inquire_request_payload: {
329
+ name: :must_support_pa_inquire_request_payload,
330
+ title: 'Additional $inquire Request Payloads',
331
+ description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
332
+ }
333
+ },
334
+ options: {
335
+ use_case: 'must_support',
336
+ ig_version: 'v2.2.1'
337
+ }
338
+ )
339
+ end
340
+ test from: :pas_server_response_bundle_validation_test do
341
+ id :pas_server_v221_inquire_response_bundle_validation_test_must_support
342
+ title 'Server $inquire Response Bundle is conformant'
343
+ description %(
344
+ This test validates the conformity of the
345
+ server's response to the
346
+ [PAS Inquiry Response Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-inquiry-response-bundle.html)
347
+ profile.
348
+
349
+ It also checks that other conformance requirements defined in the [PAS Formal
350
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
351
+ such as the presence of all referenced instances within the bundle and the
352
+ conformance of those instances to the appropriate profiles, are met.
353
+
354
+ It verifies the presence of mandatory elements and that elements with
355
+ required bindings contain appropriate values. CodeableConcept element
356
+ bindings will fail if none of their codings have a code/system belonging
357
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
358
+ fail if their code/system are not found in the valueset.
359
+
360
+ Note that because X12 value sets are not public, elements bound to value
361
+ sets containing X12 codes are not validated.
362
+
363
+ )
364
+ config(
365
+ options: {
366
+ use_case: 'must_support',
367
+ operation: 'inquire',
368
+ ig_version: 'v2.2.1'
369
+ }
370
+ )
371
+ end
372
+ end
373
+
374
+ group do
375
+ title '$inquire Request Must Support'
376
+ simulation_verification
377
+
378
+ test from: :pas_server_v221_inquire_request_must_support_pas_inquiry_request_bundle
379
+ test from: :pas_server_v221_inquire_request_must_support_claim_inquiry
380
+ test from: :pas_server_v221_inquire_request_must_support_coverage
381
+ test from: :pas_server_v221_inquire_request_must_support_insurer
382
+ test from: :pas_server_v221_inquire_request_must_support_requestor
383
+ test from: :pas_server_v221_inquire_request_must_support_beneficiary
384
+ test from: :pas_server_v221_inquire_request_must_support_subscriber
385
+ test from: :pas_server_v221_inquire_request_must_support_practitioner
386
+ test from: :pas_server_v221_inquire_request_must_support_practitioner_role
387
+ end
388
+
389
+ group do
390
+ title '$inquire Response Must Support'
391
+ test from: :pas_server_v221_inquire_response_must_support_pas_inquiry_response_bundle
392
+ test from: :pas_server_v221_inquire_response_must_support_claiminquiryresponse
393
+ test from: :pas_server_v221_inquire_response_must_support_insurer
394
+ test from: :pas_server_v221_inquire_response_must_support_requestor
395
+ test from: :pas_server_v221_inquire_response_must_support_beneficiary
396
+ test from: :pas_server_v221_inquire_response_must_support_practitioner
397
+ test from: :pas_server_v221_inquire_response_must_support_practitioner_role
398
+ test from: :pas_server_v221_inquire_response_must_support_task
399
+ end
400
+ end
401
+ end
402
+ end
403
+ end
@@ -0,0 +1,150 @@
1
+ require_relative '../../server_request_bundle_validation_test'
2
+ require_relative '../../claim_submit_operation_test'
3
+ require_relative '../../server_response_bundle_validation_test'
4
+ require_relative '../../pas_claim_response_decision_test'
5
+ require_relative '../../v2.2.1/pas_server_subscription_notification_wait_test'
6
+ require 'subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification/notification_conformance_test'
7
+ require 'subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/full_resource_content/full_resource_conformance_test'
8
+ require_relative '../../../pas_notification_conformance_test'
9
+
10
+
11
+ module DaVinciPASTestKit
12
+ module DaVinciPASV221
13
+ class PASServerPendedUseCaseGroup < Inferno::TestGroup
14
+ id :pas_server_v221_pended_use_case
15
+ title 'Successful Pended Workflow'
16
+ description %(
17
+ Demonstrate a complete prior authorization workflow including a period
18
+ during which the final decision is pending. This includes demonstrating
19
+ the ability of the server to
20
+
21
+ - Respond to a prior authorization request with a `pended` status.
22
+ - Accept a Subscription creation request and send a full-resource notification when
23
+ the pended claim has been finalized.
24
+
25
+ )
26
+ run_as_group
27
+
28
+ group do
29
+ title "Server can respond with 'Pended' to claims submitted for prior authorization"
30
+
31
+ test from: :pas_server_request_bundle_validation_test do
32
+ id :pas_server_v221_pas_request_bundle_validation_test_pended
33
+ title 'Provided $submit Request Bundle is conformant'
34
+ description %(
35
+ **USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test.
36
+ Errors encountered will be treated as a skip instead of a failure.
37
+
38
+ This test validates the conformity of the
39
+ user input to the
40
+ [PAS Request Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-request-bundle|v2.2.1)
41
+ profile, ensuring subsequent tests can accurately simulate content.
42
+
43
+ It also checks that other conformance requirements defined in the [PAS Formal
44
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
45
+ such as the presence of all referenced instances within the bundle and the
46
+ conformance of those instances to the appropriate profiles, are met.
47
+
48
+ It verifies the presence of mandatory elements and that elements with
49
+ required bindings contain appropriate values. CodeableConcept element
50
+ bindings will fail if none of their codings have a code/system belonging
51
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
52
+ fail if their code/system are not found in the valueset.
53
+
54
+ Note that because X12 value sets are not public, elements bound to value
55
+ sets containing X12 codes are not validated.
56
+
57
+ )
58
+ config(
59
+ inputs: {
60
+ bundle_payload: {
61
+ name: :pended_pa_submit_request_payload ,
62
+ title: 'PAS Submit Request Payload for Pended Response'
63
+ }
64
+ },
65
+ options: {
66
+ operation: 'submit',
67
+ use_case: 'pended',
68
+ ig_version: 'v2.2.1'
69
+ }
70
+ )
71
+ simulation_verification
72
+ end
73
+ test from: :pas_claim_submit_operation_test do
74
+ id :pas_v221_claim_submit_operation_test_pended
75
+ config(
76
+ inputs: {
77
+ pa_submit_request_payload: {
78
+ name: :pended_pa_submit_request_payload,
79
+ title: 'PAS Submit Request Payload for Pended Response'
80
+ }
81
+ },
82
+ options: {
83
+ use_case: 'pended',
84
+ ig_version: 'v2.2.1'
85
+ }
86
+ )
87
+ end
88
+ test from: :pas_server_response_bundle_validation_test do
89
+ id :pas_server_v221_pas_response_bundle_validation_test_pended
90
+ title 'Server $submit Response Bundle is conformant'
91
+ description %(
92
+ This test validates the conformity of the
93
+ server's response to the
94
+ [PAS Response Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-response-bundle|v2.2.1)
95
+ profile.
96
+
97
+ It also checks that other conformance requirements defined in the [PAS Formal
98
+ Specification](https://hl7.org/fhir/us/davinci-pas/2.2.1/specification.html),
99
+ such as the presence of all referenced instances within the bundle and the
100
+ conformance of those instances to the appropriate profiles, are met.
101
+
102
+ It verifies the presence of mandatory elements and that elements with
103
+ required bindings contain appropriate values. CodeableConcept element
104
+ bindings will fail if none of their codings have a code/system belonging
105
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
106
+ fail if their code/system are not found in the valueset.
107
+
108
+ Note that because X12 value sets are not public, elements bound to value
109
+ sets containing X12 codes are not validated.
110
+
111
+ )
112
+ config(
113
+ options: {
114
+ use_case: 'pended',
115
+ operation: 'submit',
116
+ ig_version: 'v2.2.1'
117
+ }
118
+ )
119
+ end
120
+ test from: :prior_auth_claim_response_decision_validation do
121
+ id :pas_server_v221_decision_validation_test_pended
122
+ title "Server response includes the 'Pended' decision code in the ClaimResponse instance"
123
+ config(
124
+ options: {
125
+ use_case: 'pended',
126
+ operation: 'submit'
127
+ }
128
+ )
129
+ end
130
+ end
131
+ group do
132
+ title 'Server can notify client of updates via full-resource notification'
133
+
134
+ test from: :pas_server_v221_subscription_notification_wait do
135
+ id :pas_server_v221_subscription_notification_wait_pended
136
+ end
137
+ test from: :subscriptions_r4_server_notification_conformance do
138
+ id :pas_server_v221_subscription_notification_conformance_pended
139
+ config options: { subscription_type: 'full-resource' }
140
+ end
141
+ test from: :subscriptions_r4_server_full_resource_conformance do
142
+ id :pas_server_v221_subscription_notification_full_resource_conformance_pended
143
+ end
144
+ test from: :pas_notification_pas_conformance_test do
145
+ id :pas_server_v221_notification_pas_conformance_pended
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,46 @@
1
+ require_relative '../../../../cross_suite/must_support/must_support_test'
2
+
3
+ module DaVinciPASTestKit
4
+ module DaVinciPASV221
5
+ class ServerInquireRequestMustSupportPractitionerTest < DaVinciPASTestKit::MustSupportTest
6
+ id :pas_server_v221_inquire_request_must_support_practitioner
7
+ title 'All must support elements for profile PAS Practitioner are observed on $inquire requests'
8
+ description %(
9
+
10
+ **USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
11
+
12
+ PAS server systems are required to be able to receive all
13
+ must support elements on instances of all profiles included in
14
+ requests, including instances of the PAS Practitioner Profile.
15
+ This test checks all identified instances of the PAS Practitioner
16
+ Profile on requests sent to the server to ensure that the following
17
+ must support elements are observed:
18
+
19
+ * Practitioner.address
20
+ * Practitioner.address.city
21
+ * Practitioner.address.country
22
+ * Practitioner.address.line
23
+ * Practitioner.address.postalCode
24
+ * Practitioner.address.state
25
+ * Practitioner.identifier
26
+ * Practitioner.identifier:NPI
27
+ * Practitioner.name
28
+ * Practitioner.name.family
29
+ * Practitioner.telecom
30
+ * Practitioner.telecom.system
31
+ * Practitioner.telecom.value
32
+ )
33
+
34
+ config(
35
+ options: {
36
+ resource_type: 'Practitioner',
37
+ profile_key: 'practitioner',
38
+ user_input_validation: true,
39
+ ig_version: 'v2.2.1',
40
+ type: 'request',
41
+ operation: 'inquire'
42
+ }
43
+ )
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,44 @@
1
+ require_relative '../../../../cross_suite/must_support/must_support_test'
2
+
3
+ module DaVinciPASTestKit
4
+ module DaVinciPASV221
5
+ class ServerInquireResponseMustSupportPractitionerTest < DaVinciPASTestKit::MustSupportTest
6
+ id :pas_server_v221_inquire_response_must_support_practitioner
7
+ title 'All must support elements for profile PAS Practitioner are observed on $inquire responses'
8
+ description %(
9
+
10
+ PAS server systems are required to be able to populate all
11
+ must support elements on instances of all profiles included in
12
+ responses, including instances of the PAS Practitioner Profile.
13
+ This test checks all identified instances of the PAS Practitioner
14
+ Profile on responses returned by the server to ensure that the following
15
+ must support elements are observed:
16
+
17
+ * Practitioner.address
18
+ * Practitioner.address.city
19
+ * Practitioner.address.country
20
+ * Practitioner.address.line
21
+ * Practitioner.address.postalCode
22
+ * Practitioner.address.state
23
+ * Practitioner.identifier
24
+ * Practitioner.identifier:NPI
25
+ * Practitioner.name
26
+ * Practitioner.name.family
27
+ * Practitioner.telecom
28
+ * Practitioner.telecom.system
29
+ * Practitioner.telecom.value
30
+ )
31
+
32
+ config(
33
+ options: {
34
+ resource_type: 'Practitioner',
35
+ profile_key: 'practitioner',
36
+ user_input_validation: false,
37
+ ig_version: 'v2.2.1',
38
+ type: 'response',
39
+ operation: 'inquire'
40
+ }
41
+ )
42
+ end
43
+ end
44
+ end