davinci_pas_test_kit 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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