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.
- checksums.yaml +7 -0
- data/LICENSE +201 -0
- data/lib/davinci_pas_test_kit/client_suite.rb +289 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/claim_status/pas_claim_status_test.rb +109 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_test.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_response_attest.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_test.rb +43 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_inquire_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_test.rb +35 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_test.rb +43 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_submit_must_support_test.rb +57 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_request_test.rb +31 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_validation_test.rb +18 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/nonconformant_pas_bundle.json +16 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_inquiry_error_test.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_submission_error_test.rb +56 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/device_request_metadata.yml +112 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/medication_request_metadata.yml +183 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/nutrition_order_metadata.yml +109 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_client_must_support_requirement_test.rb +117 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test.rb +116 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/service_request_metadata.yml +148 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_approval_group.rb +26 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_authentication_group.rb +49 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_denial_group.rb +41 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_pended_group.rb +56 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_error_group.rb +20 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/record_response_route.rb +98 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/request.rb +19 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +18 -0
- data/lib/davinci_pas_test_kit/fhir_resource_navigation.rb +72 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_inquiry_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_submit_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/metadata.yml +162 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_response_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_response_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/claim_operation_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/metadata.yml +577 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/claim_inquiry_operation_test.rb +57 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/metadata.yml +516 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/server_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb +102 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/metadata.yml +591 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb +102 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/metadata.yml +311 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/server_inquiry_response_claiminquiryresponse_must_support_test.rb +73 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/metadata.yml +318 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/server_submit_response_claimresponse_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_denial_pas_response_bundle_validation_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pas_request_bundle_validation_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_inquiry_request_bundle_validation_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_response_bundle_validation_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/metadata.yml +130 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/server_submit_response_communication_request_must_support_test.rb +58 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_inquiry_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_submit_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/metadata.yml +111 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_inquiry_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_submit_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/client_submit_request_device_request_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/metadata.yml +112 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/server_submit_request_device_request_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/client_submit_request_encounter_must_support_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/metadata.yml +213 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/server_submit_request_encounter_must_support_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_inquiry_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_submit_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/metadata.yml +104 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_response_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_response_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/client_submit_request_medication_request_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/metadata.yml +183 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/server_submit_request_medication_request_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/metadata.yml +5253 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/client_submit_request_nutrition_order_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/metadata.yml +109 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/server_submit_request_nutrition_order_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_inquiry_must_support_use_case_group.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_submit_must_support_use_case_group.rb +61 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +77 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +83 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +67 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +80 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/metadata.yml +77 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +83 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/metadata.yml +71 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +80 -0
- 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
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_approval_use_case_group.rb +59 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +59 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_must_support_use_case_group.rb +265 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +84 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_inquiry_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_submit_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/metadata.yml +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_response_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_response_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_inquiry_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_submit_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/metadata.yml +81 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_response_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_response_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_inquiry_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_submit_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/metadata.yml +107 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_response_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_response_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/resource_list.rb +54 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +236 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/client_submit_request_service_request_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/metadata.yml +148 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/server_submit_request_service_request_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_inquiry_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_submit_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/metadata.yml +159 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_inquiry_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_submit_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/metadata.yml +192 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_inquiry_response_task_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_submit_response_task_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generator/group_generator.rb +440 -0
- data/lib/davinci_pas_test_kit/generator/group_metadata.rb +73 -0
- data/lib/davinci_pas_test_kit/generator/group_metadata_extractor.rb +244 -0
- data/lib/davinci_pas_test_kit/generator/ig_loader.rb +78 -0
- data/lib/davinci_pas_test_kit/generator/ig_metadata.rb +66 -0
- data/lib/davinci_pas_test_kit/generator/ig_metadata_extractor.rb +54 -0
- data/lib/davinci_pas_test_kit/generator/ig_resources.rb +74 -0
- data/lib/davinci_pas_test_kit/generator/must_support_check_profiles.rb +86 -0
- data/lib/davinci_pas_test_kit/generator/must_support_metadata_extractor.rb +327 -0
- data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +155 -0
- data/lib/davinci_pas_test_kit/generator/naming.rb +50 -0
- data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +136 -0
- data/lib/davinci_pas_test_kit/generator/resource_list_generator.rb +59 -0
- data/lib/davinci_pas_test_kit/generator/suite_generator.rb +94 -0
- data/lib/davinci_pas_test_kit/generator/terminology_binding_metadata_extractor.rb +108 -0
- data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +181 -0
- data/lib/davinci_pas_test_kit/generator/value_extractor.rb +48 -0
- data/lib/davinci_pas_test_kit/generator.rb +80 -0
- data/lib/davinci_pas_test_kit/mock_server.rb +189 -0
- data/lib/davinci_pas_test_kit/must_support_test.rb +267 -0
- data/lib/davinci_pas_test_kit/pas_bundle_validation.rb +568 -0
- data/lib/davinci_pas_test_kit/tags.rb +7 -0
- data/lib/davinci_pas_test_kit/urls.rb +39 -0
- data/lib/davinci_pas_test_kit/user_input_response.rb +32 -0
- data/lib/davinci_pas_test_kit/validation_test.rb +58 -0
- data/lib/davinci_pas_test_kit/validator_suppressions.rb +143 -0
- data/lib/davinci_pas_test_kit/version.rb +5 -0
- data/lib/davinci_pas_test_kit.rb +2 -0
- 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
|