davinci_pas_test_kit 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/lib/davinci_pas_test_kit/client_suite.rb +289 -0
  4. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/claim_status/pas_claim_status_test.rb +109 -0
  5. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_response_attest.rb +39 -0
  6. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_test.rb +38 -0
  7. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_response_attest.rb +38 -0
  8. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_test.rb +43 -0
  9. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_inquire_must_support_test.rb +51 -0
  10. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_response_attest.rb +39 -0
  11. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_test.rb +35 -0
  12. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_response_attest.rb +39 -0
  13. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_test.rb +43 -0
  14. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_submit_must_support_test.rb +57 -0
  15. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_request_test.rb +31 -0
  16. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_validation_test.rb +18 -0
  17. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/nonconformant_pas_bundle.json +16 -0
  18. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_inquiry_error_test.rb +38 -0
  19. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_submission_error_test.rb +56 -0
  20. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/device_request_metadata.yml +112 -0
  21. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/medication_request_metadata.yml +183 -0
  22. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/nutrition_order_metadata.yml +109 -0
  23. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_client_must_support_requirement_test.rb +117 -0
  24. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test.rb +116 -0
  25. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/service_request_metadata.yml +148 -0
  26. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_approval_group.rb +26 -0
  27. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_authentication_group.rb +49 -0
  28. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_denial_group.rb +41 -0
  29. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_pended_group.rb +56 -0
  30. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_error_group.rb +20 -0
  31. data/lib/davinci_pas_test_kit/ext/inferno_core/record_response_route.rb +98 -0
  32. data/lib/davinci_pas_test_kit/ext/inferno_core/request.rb +19 -0
  33. data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +18 -0
  34. data/lib/davinci_pas_test_kit/fhir_resource_navigation.rb +72 -0
  35. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_inquiry_request_beneficiary_must_support_test.rb +75 -0
  36. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_submit_request_beneficiary_must_support_test.rb +75 -0
  37. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/metadata.yml +162 -0
  38. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_request_beneficiary_must_support_test.rb +75 -0
  39. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_response_beneficiary_must_support_test.rb +75 -0
  40. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_request_beneficiary_must_support_test.rb +75 -0
  41. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_response_beneficiary_must_support_test.rb +75 -0
  42. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/claim_operation_test.rb +67 -0
  43. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/metadata.yml +577 -0
  44. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/claim_inquiry_operation_test.rb +57 -0
  45. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
  46. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/metadata.yml +516 -0
  47. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/server_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
  48. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb +102 -0
  49. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/metadata.yml +591 -0
  50. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb +102 -0
  51. data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/metadata.yml +311 -0
  52. data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/server_inquiry_response_claiminquiryresponse_must_support_test.rb +73 -0
  53. data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/metadata.yml +318 -0
  54. data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/server_submit_response_claimresponse_must_support_test.rb +75 -0
  55. data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_denial_pas_response_bundle_validation_test.rb +53 -0
  56. data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pas_request_bundle_validation_test.rb +55 -0
  57. data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_inquiry_request_bundle_validation_test.rb +55 -0
  58. data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_response_bundle_validation_test.rb +53 -0
  59. data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/metadata.yml +130 -0
  60. data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/server_submit_response_communication_request_must_support_test.rb +58 -0
  61. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_inquiry_request_coverage_must_support_test.rb +55 -0
  62. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_submit_request_coverage_must_support_test.rb +55 -0
  63. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/metadata.yml +111 -0
  64. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_inquiry_request_coverage_must_support_test.rb +55 -0
  65. data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_submit_request_coverage_must_support_test.rb +55 -0
  66. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/client_submit_request_device_request_must_support_test.rb +51 -0
  67. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/metadata.yml +112 -0
  68. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/server_submit_request_device_request_must_support_test.rb +51 -0
  69. data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/client_submit_request_encounter_must_support_test.rb +67 -0
  70. data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/metadata.yml +213 -0
  71. data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/server_submit_request_encounter_must_support_test.rb +67 -0
  72. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_inquiry_request_insurer_must_support_test.rb +60 -0
  73. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_submit_request_insurer_must_support_test.rb +60 -0
  74. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/metadata.yml +104 -0
  75. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_request_insurer_must_support_test.rb +60 -0
  76. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_response_insurer_must_support_test.rb +60 -0
  77. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_request_insurer_must_support_test.rb +60 -0
  78. data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_response_insurer_must_support_test.rb +60 -0
  79. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/client_submit_request_medication_request_must_support_test.rb +61 -0
  80. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/metadata.yml +183 -0
  81. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/server_submit_request_medication_request_must_support_test.rb +61 -0
  82. data/lib/davinci_pas_test_kit/generated/v2.0.1/metadata.yml +5253 -0
  83. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/client_submit_request_nutrition_order_must_support_test.rb +53 -0
  84. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/metadata.yml +109 -0
  85. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/server_submit_request_nutrition_order_must_support_test.rb +53 -0
  86. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_inquiry_must_support_use_case_group.rb +51 -0
  87. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_submit_must_support_use_case_group.rb +61 -0
  88. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/client_inquiry_request_pas_inquiry_request_bundle_must_support_test.rb +53 -0
  89. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +77 -0
  90. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_inquiry_request_pas_inquiry_request_bundle_must_support_test.rb +53 -0
  91. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +83 -0
  92. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +67 -0
  93. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_inquiry_response_pas_inquiry_response_bundle_must_support_test.rb +52 -0
  94. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +80 -0
  95. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/client_submit_request_pas_request_bundle_must_support_test.rb +53 -0
  96. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/metadata.yml +77 -0
  97. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +83 -0
  98. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_submit_request_pas_request_bundle_must_support_test.rb +53 -0
  99. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/metadata.yml +71 -0
  100. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +80 -0
  101. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_submit_response_pas_response_bundle_must_support_test.rb +52 -0
  102. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_approval_use_case_group.rb +59 -0
  103. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +59 -0
  104. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_must_support_use_case_group.rb +265 -0
  105. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +84 -0
  106. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_inquiry_request_practitioner_must_support_test.rb +53 -0
  107. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_submit_request_practitioner_must_support_test.rb +53 -0
  108. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/metadata.yml +74 -0
  109. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_request_practitioner_must_support_test.rb +53 -0
  110. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_response_practitioner_must_support_test.rb +53 -0
  111. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_request_practitioner_must_support_test.rb +53 -0
  112. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_response_practitioner_must_support_test.rb +53 -0
  113. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_inquiry_request_practitioner_role_must_support_test.rb +49 -0
  114. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_submit_request_practitioner_role_must_support_test.rb +49 -0
  115. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/metadata.yml +81 -0
  116. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_request_practitioner_role_must_support_test.rb +49 -0
  117. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_response_practitioner_role_must_support_test.rb +49 -0
  118. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_request_practitioner_role_must_support_test.rb +49 -0
  119. data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_response_practitioner_role_must_support_test.rb +49 -0
  120. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_inquiry_request_requestor_must_support_test.rb +63 -0
  121. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_submit_request_requestor_must_support_test.rb +63 -0
  122. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/metadata.yml +107 -0
  123. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_request_requestor_must_support_test.rb +63 -0
  124. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_response_requestor_must_support_test.rb +63 -0
  125. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_request_requestor_must_support_test.rb +63 -0
  126. data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_response_requestor_must_support_test.rb +63 -0
  127. data/lib/davinci_pas_test_kit/generated/v2.0.1/resource_list.rb +54 -0
  128. data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +236 -0
  129. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/client_submit_request_service_request_must_support_test.rb +53 -0
  130. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/metadata.yml +148 -0
  131. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/server_submit_request_service_request_must_support_test.rb +53 -0
  132. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_inquiry_request_subscriber_must_support_test.rb +74 -0
  133. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_submit_request_subscriber_must_support_test.rb +74 -0
  134. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/metadata.yml +159 -0
  135. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_inquiry_request_subscriber_must_support_test.rb +74 -0
  136. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_submit_request_subscriber_must_support_test.rb +74 -0
  137. data/lib/davinci_pas_test_kit/generated/v2.0.1/task/metadata.yml +192 -0
  138. data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_inquiry_response_task_must_support_test.rb +61 -0
  139. data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_submit_response_task_must_support_test.rb +61 -0
  140. data/lib/davinci_pas_test_kit/generator/group_generator.rb +440 -0
  141. data/lib/davinci_pas_test_kit/generator/group_metadata.rb +73 -0
  142. data/lib/davinci_pas_test_kit/generator/group_metadata_extractor.rb +244 -0
  143. data/lib/davinci_pas_test_kit/generator/ig_loader.rb +78 -0
  144. data/lib/davinci_pas_test_kit/generator/ig_metadata.rb +66 -0
  145. data/lib/davinci_pas_test_kit/generator/ig_metadata_extractor.rb +54 -0
  146. data/lib/davinci_pas_test_kit/generator/ig_resources.rb +74 -0
  147. data/lib/davinci_pas_test_kit/generator/must_support_check_profiles.rb +86 -0
  148. data/lib/davinci_pas_test_kit/generator/must_support_metadata_extractor.rb +327 -0
  149. data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +155 -0
  150. data/lib/davinci_pas_test_kit/generator/naming.rb +50 -0
  151. data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +136 -0
  152. data/lib/davinci_pas_test_kit/generator/resource_list_generator.rb +59 -0
  153. data/lib/davinci_pas_test_kit/generator/suite_generator.rb +94 -0
  154. data/lib/davinci_pas_test_kit/generator/terminology_binding_metadata_extractor.rb +108 -0
  155. data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +181 -0
  156. data/lib/davinci_pas_test_kit/generator/value_extractor.rb +48 -0
  157. data/lib/davinci_pas_test_kit/generator.rb +80 -0
  158. data/lib/davinci_pas_test_kit/mock_server.rb +189 -0
  159. data/lib/davinci_pas_test_kit/must_support_test.rb +267 -0
  160. data/lib/davinci_pas_test_kit/pas_bundle_validation.rb +568 -0
  161. data/lib/davinci_pas_test_kit/tags.rb +7 -0
  162. data/lib/davinci_pas_test_kit/urls.rb +39 -0
  163. data/lib/davinci_pas_test_kit/user_input_response.rb +32 -0
  164. data/lib/davinci_pas_test_kit/validation_test.rb +58 -0
  165. data/lib/davinci_pas_test_kit/validator_suppressions.rb +143 -0
  166. data/lib/davinci_pas_test_kit/version.rb +5 -0
  167. data/lib/davinci_pas_test_kit.rb +2 -0
  168. metadata +281 -0
@@ -0,0 +1,318 @@
1
+ ---
2
+ :name: profile_claimresponse
3
+ :class_name: ProfileClaimresponseSequence
4
+ :version: v2.0.1
5
+ :reformatted_version: v201
6
+ :resource: ClaimResponse
7
+ :profile_url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse
8
+ :profile_name: PAS Claim Response
9
+ :profile_version: 2.0.1
10
+ :title: Claim Response
11
+ :short_description: Verify support for the server capabilities required by the PAS
12
+ Claim Response.
13
+ :interactions: []
14
+ :operations: []
15
+ :required_concepts:
16
+ - error.code
17
+ :must_supports:
18
+ :extensions:
19
+ - :id: ClaimResponse.item.extension:itemTraceNumber
20
+ :path: item.extension
21
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemTraceNumber
22
+ - :id: ClaimResponse.item.extension:preAuthIssueDate
23
+ :path: item.extension
24
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemPreAuthIssueDate
25
+ - :id: ClaimResponse.item.extension:preAuthPeriod
26
+ :path: item.extension
27
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemPreAuthPeriod
28
+ - :id: ClaimResponse.item.extension:previousAuthorizationNumber
29
+ :path: item.extension
30
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-authorizationNumber
31
+ - :id: ClaimResponse.item.extension:administrationReferenceNumber
32
+ :path: item.extension
33
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-administrationReferenceNumber
34
+ - :id: ClaimResponse.item.extension:requestedServiceDate
35
+ :path: item.extension
36
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemRequestedServiceDate
37
+ - :id: ClaimResponse.item.extension:authorizedItemDetail
38
+ :path: item.extension
39
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedDetail
40
+ - :id: ClaimResponse.item.extension:authorizedProvider
41
+ :path: item.extension
42
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedProvider
43
+ - :id: ClaimResponse.item.extension:communicatedDiagnosis
44
+ :path: item.extension
45
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-communicatedDiagnosis
46
+ - :id: ClaimResponse.item.adjudication.extension:reviewAction
47
+ :path: item.adjudication.extension
48
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-reviewAction
49
+ - :id: ClaimResponse.error.extension:followupAction
50
+ :path: error.extension
51
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-errorFollowupAction
52
+ - :id: ClaimResponse.error.extension:errorElement
53
+ :path: error.extension
54
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-errorElement
55
+ - :id: ClaimResponse.error.extension:errorPath
56
+ :path: error.extension
57
+ :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-errorPath
58
+ :slices: []
59
+ :elements:
60
+ - :path: identifier
61
+ - :path: status
62
+ - :path: patient
63
+ :types:
64
+ - Reference
65
+ - :path: created
66
+ - :path: insurer
67
+ :types:
68
+ - Reference
69
+ - :path: requestor
70
+ :types:
71
+ - Reference
72
+ - :path: request
73
+ :types:
74
+ - Reference
75
+ - :path: outcome
76
+ - :path: preAuthPeriod
77
+ - :path: item
78
+ - :path: item.noteNumber
79
+ - :path: item.adjudication
80
+ - :path: communicationRequest
81
+ :types:
82
+ - Reference
83
+ - :path: error
84
+ - :path: error.code
85
+ :mandatory_elements:
86
+ - ClaimResponse.status
87
+ - ClaimResponse.type
88
+ - ClaimResponse.use
89
+ - ClaimResponse.patient
90
+ - ClaimResponse.created
91
+ - ClaimResponse.insurer
92
+ - ClaimResponse.outcome
93
+ - ClaimResponse.item.itemSequence
94
+ - ClaimResponse.item.adjudication
95
+ - ClaimResponse.item.adjudication.category
96
+ - ClaimResponse.item.detail.detailSequence
97
+ - ClaimResponse.item.detail.adjudication
98
+ - ClaimResponse.item.detail.subDetail.subDetailSequence
99
+ - ClaimResponse.addItem.productOrService
100
+ - ClaimResponse.addItem.adjudication
101
+ - ClaimResponse.addItem.detail.productOrService
102
+ - ClaimResponse.addItem.detail.adjudication
103
+ - ClaimResponse.addItem.detail.subDetail.productOrService
104
+ - ClaimResponse.addItem.detail.subDetail.adjudication
105
+ - ClaimResponse.total.category
106
+ - ClaimResponse.total.amount
107
+ - ClaimResponse.payment.type
108
+ - ClaimResponse.payment.amount
109
+ - ClaimResponse.processNote.text
110
+ - ClaimResponse.insurance.sequence
111
+ - ClaimResponse.insurance.focal
112
+ - ClaimResponse.insurance.coverage
113
+ - ClaimResponse.error.code
114
+ :bindings:
115
+ - :type: code
116
+ :strength: preferred
117
+ :system: http://hl7.org/fhir/ValueSet/languages
118
+ :path: language
119
+ - :type: code
120
+ :strength: required
121
+ :system: http://hl7.org/fhir/ValueSet/fm-status
122
+ :path: status
123
+ - :type: CodeableConcept
124
+ :strength: extensible
125
+ :system: http://hl7.org/fhir/ValueSet/claim-type
126
+ :path: type
127
+ - :type: CodeableConcept
128
+ :strength: example
129
+ :system: http://hl7.org/fhir/ValueSet/claim-subtype
130
+ :path: subType
131
+ - :type: code
132
+ :strength: required
133
+ :system: http://hl7.org/fhir/ValueSet/claim-use
134
+ :path: use
135
+ - :type: code
136
+ :strength: required
137
+ :system: http://hl7.org/fhir/ValueSet/remittance-outcome
138
+ :path: outcome
139
+ - :type: CodeableConcept
140
+ :strength: example
141
+ :system: http://hl7.org/fhir/ValueSet/payeetype
142
+ :path: payeeType
143
+ - :type: CodeableConcept
144
+ :strength: example
145
+ :system: http://hl7.org/fhir/ValueSet/adjudication
146
+ :path: item.adjudication.category
147
+ - :type: CodeableConcept
148
+ :strength: example
149
+ :system: http://hl7.org/fhir/ValueSet/adjudication-reason
150
+ :path: item.adjudication.reason
151
+ - :type: CodeableConcept
152
+ :strength: example
153
+ :system: http://hl7.org/fhir/ValueSet/service-uscls
154
+ :path: addItem.productOrService
155
+ - :type: CodeableConcept
156
+ :strength: example
157
+ :system: http://hl7.org/fhir/ValueSet/claim-modifiers
158
+ :path: addItem.modifier
159
+ - :type: CodeableConcept
160
+ :strength: example
161
+ :system: http://hl7.org/fhir/ValueSet/ex-program-code
162
+ :path: addItem.programCode
163
+ - :type: CodeableConcept
164
+ :strength: example
165
+ :system: http://hl7.org/fhir/ValueSet/service-place
166
+ :path: addItem.location
167
+ - :type: CodeableConcept
168
+ :strength: example
169
+ :system: http://hl7.org/fhir/ValueSet/tooth
170
+ :path: addItem.bodySite
171
+ - :type: CodeableConcept
172
+ :strength: example
173
+ :system: http://hl7.org/fhir/ValueSet/surface
174
+ :path: addItem.subSite
175
+ - :type: CodeableConcept
176
+ :strength: example
177
+ :system: http://hl7.org/fhir/ValueSet/service-uscls
178
+ :path: addItem.detail.productOrService
179
+ - :type: CodeableConcept
180
+ :strength: example
181
+ :system: http://hl7.org/fhir/ValueSet/claim-modifiers
182
+ :path: addItem.detail.modifier
183
+ - :type: CodeableConcept
184
+ :strength: example
185
+ :system: http://hl7.org/fhir/ValueSet/service-uscls
186
+ :path: addItem.detail.subDetail.productOrService
187
+ - :type: CodeableConcept
188
+ :strength: example
189
+ :system: http://hl7.org/fhir/ValueSet/claim-modifiers
190
+ :path: addItem.detail.subDetail.modifier
191
+ - :type: CodeableConcept
192
+ :strength: example
193
+ :system: http://hl7.org/fhir/ValueSet/adjudication
194
+ :path: total.category
195
+ - :type: CodeableConcept
196
+ :strength: example
197
+ :system: http://hl7.org/fhir/ValueSet/ex-paymenttype
198
+ :path: payment.type
199
+ - :type: CodeableConcept
200
+ :strength: example
201
+ :system: http://hl7.org/fhir/ValueSet/payment-adjustment-reason
202
+ :path: payment.adjustmentReason
203
+ - :type: CodeableConcept
204
+ :strength: example
205
+ :system: http://hl7.org/fhir/ValueSet/fundsreserve
206
+ :path: fundsReserve
207
+ - :type: CodeableConcept
208
+ :strength: example
209
+ :system: http://hl7.org/fhir/ValueSet/forms
210
+ :path: formCode
211
+ - :type: code
212
+ :strength: required
213
+ :system: http://hl7.org/fhir/ValueSet/note-type
214
+ :path: processNote.type
215
+ - :type: CodeableConcept
216
+ :strength: preferred
217
+ :system: http://hl7.org/fhir/ValueSet/languages
218
+ :path: processNote.language
219
+ - :type: CodeableConcept
220
+ :strength: required
221
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278RejectReasonCodes
222
+ :path: error.code
223
+ - :type: CodeableConcept
224
+ :strength: required
225
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278RequestedServiceType
226
+ :path: value
227
+ :extensions:
228
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedDetail
229
+ - productOrServiceCode
230
+ - :type: CodeableConcept
231
+ :strength: required
232
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278RequestedServiceModifierType
233
+ :path: value
234
+ :extensions:
235
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedDetail
236
+ - modifier
237
+ - :type: CodeableConcept
238
+ :strength: required
239
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/AHANUBCRevenueCodes
240
+ :path: value
241
+ :extensions:
242
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedDetail
243
+ - revenue
244
+ - :type: CodeableConcept
245
+ :strength: required
246
+ :system: https://valueset.x12.org/x217/005010/response/2010EA/NM1/1/01/00/98
247
+ :path: value
248
+ :extensions:
249
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedProvider
250
+ - provider
251
+ - :type: CodeableConcept
252
+ :strength: required
253
+ :system: https://valueset.x12.org/x217/005010/response/2010EA/NM1/1/01/00/98
254
+ :path: value
255
+ :extensions:
256
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-itemAuthorizedProvider
257
+ - providerType
258
+ - :type: CodeableConcept
259
+ :strength: required
260
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278DiagnosisCodes
261
+ :path: value
262
+ :extensions:
263
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-communicatedDiagnosis
264
+ - :type: CodeableConcept
265
+ :strength: required
266
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278ReviewDecisionReasonCode
267
+ :path: value
268
+ :extensions:
269
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-reviewAction
270
+ - reasonCode
271
+ - :type: CodeableConcept
272
+ :strength: required
273
+ :system: http://hl7.org/fhir/us/davinci-pas/ValueSet/X12278FollowUpActionCodes
274
+ :path: value
275
+ :extensions:
276
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-errorFollowupAction
277
+ :references:
278
+ - :path: ClaimResponse.patient
279
+ :profiles:
280
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary
281
+ - :path: ClaimResponse.insurer
282
+ :profiles:
283
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer
284
+ - :path: ClaimResponse.requestor
285
+ :profiles:
286
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor
287
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-practitionerrole
288
+ - :path: ClaimResponse.request
289
+ :profiles:
290
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim
291
+ - :path: ClaimResponse.addItem.provider
292
+ :profiles:
293
+ - http://hl7.org/fhir/StructureDefinition/Practitioner
294
+ - http://hl7.org/fhir/StructureDefinition/PractitionerRole
295
+ - http://hl7.org/fhir/StructureDefinition/Organization
296
+ - :path: ClaimResponse.communicationRequest
297
+ :profiles:
298
+ - http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-communicationrequest
299
+ - :path: ClaimResponse.insurance.coverage
300
+ :profiles:
301
+ - http://hl7.org/fhir/StructureDefinition/Coverage
302
+ - :path: ClaimResponse.insurance.claimResponse
303
+ :profiles:
304
+ - http://hl7.org/fhir/StructureDefinition/ClaimResponse
305
+ :tests:
306
+ - :id: pas_server_submit_response_v201_claimresponse_must_support_test
307
+ :file_name: server_submit_response_claimresponse_must_support_test.rb
308
+ :delayed_references:
309
+ - :path: insurer
310
+ :resources:
311
+ - Organization
312
+ - :path: requestor
313
+ :resources:
314
+ - Organization
315
+ - PractitionerRole
316
+ - :path: communicationRequest
317
+ :resources:
318
+ - CommunicationRequest
@@ -0,0 +1,75 @@
1
+ require_relative '../../../must_support_test'
2
+ require_relative '../../../generator/group_metadata'
3
+ require_relative '../../../tags'
4
+
5
+ module DaVinciPASTestKit
6
+ module DaVinciPASV201
7
+ class ServerSubmitResponseClaimresponseMustSupportTest < Inferno::Test
8
+ include DaVinciPASTestKit::MustSupportTest
9
+
10
+ title 'All must support elements for Profile PAS Claim Response are observed across all instances returned'
11
+ description %(
12
+
13
+ PAS server systems are required to be able to populate all
14
+ must support elements on instances of all profiles included in
15
+ responses, including instances of the PAS Claim Response Profile.
16
+ This test checks all identified instances of the PAS Claim Response
17
+ Profile on responses returned by the server to ensure that the following
18
+ must support elements are observed:
19
+
20
+ * ClaimResponse.communicationRequest
21
+ * ClaimResponse.created
22
+ * ClaimResponse.error
23
+ * ClaimResponse.error.code
24
+ * ClaimResponse.error.extension:errorElement
25
+ * ClaimResponse.error.extension:errorPath
26
+ * ClaimResponse.error.extension:followupAction
27
+ * ClaimResponse.identifier
28
+ * ClaimResponse.insurer
29
+ * ClaimResponse.item
30
+ * ClaimResponse.item.adjudication
31
+ * ClaimResponse.item.adjudication.extension:reviewAction
32
+ * ClaimResponse.item.extension:administrationReferenceNumber
33
+ * ClaimResponse.item.extension:authorizedItemDetail
34
+ * ClaimResponse.item.extension:authorizedProvider
35
+ * ClaimResponse.item.extension:communicatedDiagnosis
36
+ * ClaimResponse.item.extension:itemTraceNumber
37
+ * ClaimResponse.item.extension:preAuthIssueDate
38
+ * ClaimResponse.item.extension:preAuthPeriod
39
+ * ClaimResponse.item.extension:previousAuthorizationNumber
40
+ * ClaimResponse.item.extension:requestedServiceDate
41
+ * ClaimResponse.item.noteNumber
42
+ * ClaimResponse.outcome
43
+ * ClaimResponse.patient
44
+ * ClaimResponse.preAuthPeriod
45
+ * ClaimResponse.request
46
+ * ClaimResponse.requestor
47
+ * ClaimResponse.status
48
+ )
49
+
50
+ id :pas_server_submit_response_v201_claimresponse_must_support_test
51
+
52
+ def resource_type
53
+ 'ClaimResponse'
54
+ end
55
+
56
+ def self.metadata
57
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
58
+ end
59
+
60
+ def scratch_resources
61
+ scratch[:submit_response_resources] ||= {}
62
+ end
63
+
64
+ def resources_of_interest
65
+ collection = tagged_resources(SUBMIT_TAG).presence || all_scratch_resources
66
+ collection.select { |res| res.resourceType == resource_type }
67
+ end
68
+
69
+ run do
70
+ perform_must_support_test(resources_of_interest)
71
+ validate_must_support
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,53 @@
1
+ require_relative '../../../pas_bundle_validation'
2
+ require_relative '../../../user_input_response'
3
+
4
+ module DaVinciPASTestKit
5
+ module DaVinciPASV201
6
+ class ClientDenialPasResponseBundleValidationTest < Inferno::Test
7
+ include DaVinciPASTestKit::PasBundleValidation
8
+ include UserInputResponse
9
+
10
+ id :pas_client_v201_denial_pas_response_bundle_validation_test
11
+ title '[USER INPUT VALIDATION] Response Bundle is valid'
12
+ description %(
13
+ This test validates the conformity of the
14
+ user input to the
15
+ [PAS Response Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-response-bundle) structure.
16
+ It also checks that other conformance requirements defined in the [PAS Formal
17
+ Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
18
+ such as the presence of all referenced instances within the bundle and the
19
+ conformance of those instances to the appropriate profiles, are met.
20
+
21
+ It verifies the presence of mandatory elements and that elements with
22
+ required bindings contain appropriate values. CodeableConcept element
23
+ bindings will fail if none of their codings have a code/system belonging
24
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
25
+ fail if their code/system are not found in the valueset.
26
+
27
+ Note that because X12 value sets are not public, elements bound to value
28
+ sets containing X12 codes are not validated.
29
+ )
30
+
31
+ def resource_type
32
+ 'Bundle'
33
+ end
34
+
35
+ def request_type
36
+ 'submit'
37
+ end
38
+
39
+ run do
40
+ check_user_inputted_response :denial_json_response
41
+ validate_pas_bundle_json(
42
+ denial_json_response,
43
+ 'http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-response-bundle',
44
+ '2.0.1',
45
+ request_type,
46
+ 'response_bundle',
47
+ skips: true,
48
+ message: "Invalid input for '#{input_title(:denial_json_response)}':"
49
+ )
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,55 @@
1
+ require_relative '../../../pas_bundle_validation'
2
+ require_relative '../../../urls'
3
+
4
+ module DaVinciPASTestKit
5
+ module DaVinciPASV201
6
+ class ClientPasRequestBundleValidationTest < Inferno::Test
7
+ include DaVinciPASTestKit::PasBundleValidation
8
+ include URLs
9
+
10
+ id :pas_client_v201_pas_request_bundle_validation_test
11
+ title 'Request Bundle is valid'
12
+ description %(
13
+ This test validates the conformity of the
14
+ client's request to the
15
+ [PAS Request Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-request-bundle) structure.
16
+ It also checks that other conformance requirements defined in the [PAS Formal
17
+ Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
18
+ such as the presence of all referenced instances within the bundle and the
19
+ conformance of those instances to the appropriate profiles, are met.
20
+
21
+ It verifies the presence of mandatory elements and that elements with
22
+ required bindings contain appropriate values. CodeableConcept element
23
+ bindings will fail if none of their codings have a code/system belonging
24
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
25
+ fail if their code/system are not found in the valueset.
26
+
27
+ Note that because X12 value sets are not public, elements bound to value
28
+ sets containing X12 codes are not validated.
29
+ )
30
+
31
+ def resource_type
32
+ 'Bundle'
33
+ end
34
+
35
+ def request_type
36
+ 'submit'
37
+ end
38
+
39
+ run do
40
+ assert request.url == submit_url,
41
+ "Request made to wrong URL: #{request.url}. Should instead be to #{submit_url}"
42
+
43
+ validate_pas_bundle_json(
44
+ request.request_body,
45
+ 'http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-request-bundle',
46
+ '2.0.1',
47
+ request_type,
48
+ 'request_bundle',
49
+ message: 'The submit Bundle request provided for the Claim/$submit operation is invalid:'
50
+ )
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,55 @@
1
+ require_relative '../../../pas_bundle_validation'
2
+ require_relative '../../../urls'
3
+
4
+ module DaVinciPASTestKit
5
+ module DaVinciPASV201
6
+ class ClientPendedPasInquiryRequestBundleValidationTest < Inferno::Test
7
+ include DaVinciPASTestKit::PasBundleValidation
8
+ include URLs
9
+
10
+ id :pas_client_v201_pended_pas_inquiry_request_bundle_validation_test
11
+ title 'Inquiry Request Bundle is valid'
12
+ description %(
13
+ This test validates the conformity of the
14
+ client's request to the
15
+ [PAS Inquiry Request Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-inquiry-request-bundle) structure.
16
+ It also checks that other conformance requirements defined in the [PAS Formal
17
+ Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
18
+ such as the presence of all referenced instances within the bundle and the
19
+ conformance of those instances to the appropriate profiles, are met.
20
+
21
+ It verifies the presence of mandatory elements and that elements with
22
+ required bindings contain appropriate values. CodeableConcept element
23
+ bindings will fail if none of their codings have a code/system belonging
24
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
25
+ fail if their code/system are not found in the valueset.
26
+
27
+ Note that because X12 value sets are not public, elements bound to value
28
+ sets containing X12 codes are not validated.
29
+ )
30
+
31
+ def resource_type
32
+ 'Bundle'
33
+ end
34
+
35
+ def request_type
36
+ 'inquire'
37
+ end
38
+
39
+ run do
40
+ assert request.url == inquire_url,
41
+ "Request made to wrong URL: #{request.url}. Should instead be to #{inquire_url}"
42
+
43
+ validate_pas_bundle_json(
44
+ request.request_body,
45
+ 'http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-inquiry-request-bundle',
46
+ '2.0.1',
47
+ request_type,
48
+ 'request_bundle',
49
+ message: 'The inquire Bundle request provided for the Claim/$inquire operation is invalid:'
50
+ )
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,53 @@
1
+ require_relative '../../../pas_bundle_validation'
2
+ require_relative '../../../user_input_response'
3
+
4
+ module DaVinciPASTestKit
5
+ module DaVinciPASV201
6
+ class ClientPendedPasResponseBundleValidationTest < Inferno::Test
7
+ include DaVinciPASTestKit::PasBundleValidation
8
+ include UserInputResponse
9
+
10
+ id :pas_client_v201_pended_pas_response_bundle_validation_test
11
+ title '[USER INPUT VALIDATION] Response Bundle is valid'
12
+ description %(
13
+ This test validates the conformity of the
14
+ user input to the
15
+ [PAS Response Bundle](http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-response-bundle) structure.
16
+ It also checks that other conformance requirements defined in the [PAS Formal
17
+ Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
18
+ such as the presence of all referenced instances within the bundle and the
19
+ conformance of those instances to the appropriate profiles, are met.
20
+
21
+ It verifies the presence of mandatory elements and that elements with
22
+ required bindings contain appropriate values. CodeableConcept element
23
+ bindings will fail if none of their codings have a code/system belonging
24
+ to the bound ValueSet. Quantity, Coding, and code element bindings will
25
+ fail if their code/system are not found in the valueset.
26
+
27
+ Note that because X12 value sets are not public, elements bound to value
28
+ sets containing X12 codes are not validated.
29
+ )
30
+
31
+ def resource_type
32
+ 'Bundle'
33
+ end
34
+
35
+ def request_type
36
+ 'submit'
37
+ end
38
+
39
+ run do
40
+ check_user_inputted_response :pended_json_response
41
+ validate_pas_bundle_json(
42
+ pended_json_response,
43
+ 'http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-response-bundle',
44
+ '2.0.1',
45
+ request_type,
46
+ 'response_bundle',
47
+ skips: true,
48
+ message: "Invalid input for '#{input_title(:pended_json_response)}':"
49
+ )
50
+ end
51
+ end
52
+ end
53
+ end