davinci_pas_test_kit 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/presets/pas_client_example.json +2 -2
- data/config/presets/pas_client_v201_run_against_pas_server.json +2 -2
- data/config/presets/pas_client_v221_run_against_pas_server.json +3 -3
- data/config/presets/pas_ri.json +6 -6
- data/config/presets/pas_server_v201_run_against_pas_client.json.erb +6 -6
- data/config/presets/pas_server_v221_run_against_pas_client.json.erb +10 -10
- data/lib/davinci_pas_test_kit/client/abstract_gather_must_support_test.rb +2 -48
- data/lib/davinci_pas_test_kit/client/client_input_descriptions.rb +29 -0
- data/lib/davinci_pas_test_kit/client/endpoints/claim_endpoint.rb +25 -9
- data/lib/davinci_pas_test_kit/client/user_input_response.rb +25 -6
- data/lib/davinci_pas_test_kit/client/v2.0.1/client_suite.rb +1 -1
- data/lib/davinci_pas_test_kit/client/v2.2.1/client_suite.rb +1 -1
- data/lib/davinci_pas_test_kit/cross_suite/fhirpath_utils.rb +13 -3
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/beneficiary/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_inquiry/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_update/metadata.yml +17 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claiminquiryresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claimresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/metadata.yml +143 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/subscriber/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/task/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/beneficiary/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_inquiry/metadata.yml +23 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_update/metadata.yml +31 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claiminquiryresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claimresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/metadata.yml +265 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/subscriber/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/task/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_bundle_validation.rb +97 -39
- data/lib/davinci_pas_test_kit/cross_suite/pas_constants.rb +6 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_datatype_constraints.rb +166 -0
- data/lib/davinci_pas_test_kit/cross_suite/response_selection_utils.rb +26 -10
- data/lib/davinci_pas_test_kit/cross_suite/validator_suppressions.rb +206 -146
- data/lib/davinci_pas_test_kit/docs/demo/PAS Client Suite Demonstration.postman_collection.json +4 -4
- data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +6 -0
- data/lib/davinci_pas_test_kit/generator/pas_must_support_metadata_extractor.rb +1 -2
- data/lib/davinci_pas_test_kit/generator/server_must_support_group_generator.rb +23 -0
- data/lib/davinci_pas_test_kit/generator/server_suite_generator.rb +6 -0
- data/lib/davinci_pas_test_kit/generator/templates/must_support.rb.erb +3 -2
- data/lib/davinci_pas_test_kit/generator/templates/server_must_support_group.rb.erb +22 -0
- data/lib/davinci_pas_test_kit/generator/templates/server_suite.rb.erb +4 -5
- data/lib/davinci_pas_test_kit/generator/templates/use_case_group.rb.erb +3 -0
- data/lib/davinci_pas_test_kit/generator/use_case_group_generator.rb +14 -8
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v221_requirements_coverage.csv +28 -28
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_approval_use_case_group.rb +1 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_denial_use_case_group.rb +1 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_pended_use_case_group.rb +1 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/server_suite.rb +4 -5
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +2 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +2 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_approval_use_case_group.rb +2 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_denial_use_case_group.rb +2 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_must_support_group.rb +12 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_pended_use_case_group.rb +5 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/server_suite.rb +4 -5
- data/lib/davinci_pas_test_kit/server/server_response_bundle_validation_test.rb +14 -5
- data/lib/davinci_pas_test_kit/server/v2.2.1/claim_inquiry/server_claim_inquiry_response_tests.rb +89 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_error_group.rb +2 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_inquiry_responses_group.rb +17 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_no_custom_extensions_test.rb +241 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_capability_statement_test.rb +40 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_setup.rb +14 -9
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_input_test.rb +63 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_test.rb +109 -0
- data/lib/davinci_pas_test_kit/version.rb +2 -2
- metadata +9 -2
|
@@ -100,6 +100,8 @@ module DaVinciPASTestKit
|
|
|
100
100
|
case ig_version
|
|
101
101
|
when 'v2.0.1'
|
|
102
102
|
['hl7.fhir.us.davinci-pas_2.0.1@141']
|
|
103
|
+
when 'v2.2.1'
|
|
104
|
+
['hl7.fhir.us.davinci-pas_2.2.1@spec-51', 'hl7.fhir.us.davinci-pas_2.2.1@spec-60']
|
|
103
105
|
end
|
|
104
106
|
end
|
|
105
107
|
|
|
@@ -111,14 +113,18 @@ module DaVinciPASTestKit
|
|
|
111
113
|
end
|
|
112
114
|
|
|
113
115
|
def bundle_response_conformance_requirements_verified(operation)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
['
|
|
121
|
-
|
|
116
|
+
{
|
|
117
|
+
['submit', 'v2.0.1'] => [
|
|
118
|
+
'hl7.fhir.us.davinci-pas_2.0.1@64', 'hl7.fhir.us.davinci-pas_2.0.1@100',
|
|
119
|
+
'hl7.fhir.us.davinci-pas_2.0.1@101', 'hl7.fhir.us.davinci-pas_2.0.1@102',
|
|
120
|
+
'hl7.fhir.us.davinci-pas_2.0.1@103', 'hl7.fhir.us.davinci-pas_2.0.1@107'
|
|
121
|
+
],
|
|
122
|
+
['submit', 'v2.2.1'] => [
|
|
123
|
+
'hl7.fhir.us.davinci-pas_2.2.1@spec-30', 'hl7.fhir.us.davinci-pas_2.2.1@spec-31',
|
|
124
|
+
'hl7.fhir.us.davinci-pas_2.2.1@spec-33'
|
|
125
|
+
],
|
|
126
|
+
['inquire', 'v2.0.1'] => ['hl7.fhir.us.davinci-pas_2.0.1@131']
|
|
127
|
+
}[[operation, ig_version]]
|
|
122
128
|
end
|
|
123
129
|
|
|
124
130
|
def description
|
|
@@ -5,11 +5,11 @@ hl7.fhir.us.davinci-pas_2.2.1,ainfo-3,https://hl7.org/fhir/us/davinci-pas/2.2.1/
|
|
|
5
5
|
hl7.fhir.us.davinci-pas_2.2.1,conf-1,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-1,Payers **SHALL** have a distinct endpoint for each different supported version (which are not inter-version compatible) of the PAS specification.,SHALL,PAS Payer,false,,,"",""
|
|
6
6
|
hl7.fhir.us.davinci-pas_2.2.1,conf-2,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-2,"If a payer supports endpoint discovery, they **SHALL** have at most a single endpoint for each combination of version of the specification and coverage (e.g., Medicare, Medicaid, or commercial) they provide coverage under.",SHALL,PAS Payer,false,,,"",""
|
|
7
7
|
hl7.fhir.us.davinci-pas_2.2.1,conf-3,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-3,"If a payer does not support endpoint discovery, they **SHALL** expose only one PAS endpoint of each supported version capable of handling all coverages.",SHALL,PAS Payer,false,,,"",""
|
|
8
|
-
hl7.fhir.us.davinci-pas_2.2.1,conf-4,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-4,PA Intermediary Systems **SHALL** be capable of processing all data elements that are marked as Must Support on the Claim Request and Claim Inquiry.,SHALL,PAS Payer,false,,,"",""
|
|
9
|
-
hl7.fhir.us.davinci-pas_2.2.1,conf-5,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-5,They **SHALL NOT** generate an error or cause the application to fail due the presence of any data element marked as Must Support.,SHALL NOT,PAS Payer,false,,,"",""
|
|
10
|
-
hl7.fhir.us.davinci-pas_2.2.1,conf-6,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-6,PA Intermediary Systems **SHALL** be capable of returning resource instances containing any of the data elements that are marked as Must Support on the Claim Response and the Claim Inquiry Response.,SHALL,PAS Payer,false,,,"",""
|
|
8
|
+
hl7.fhir.us.davinci-pas_2.2.1,conf-4,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-4,PA Intermediary Systems **SHALL** be capable of processing all data elements that are marked as Must Support on the Claim Request and Claim Inquiry.,SHALL,PAS Payer,false,,,"3.1.2, 3.2.2","davinci_pas_server_suite_v221-pas_server_v221_must_support-Group01-Group02, davinci_pas_server_suite_v221-pas_server_v221_must_support-Group02-Group02"
|
|
9
|
+
hl7.fhir.us.davinci-pas_2.2.1,conf-5,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-5,They **SHALL NOT** generate an error or cause the application to fail due the presence of any data element marked as Must Support.,SHALL NOT,PAS Payer,false,,,"3.1.2, 3.2.2","davinci_pas_server_suite_v221-pas_server_v221_must_support-Group01-Group02, davinci_pas_server_suite_v221-pas_server_v221_must_support-Group02-Group02"
|
|
10
|
+
hl7.fhir.us.davinci-pas_2.2.1,conf-6,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-6,PA Intermediary Systems **SHALL** be capable of returning resource instances containing any of the data elements that are marked as Must Support on the Claim Response and the Claim Inquiry Response.,SHALL,PAS Payer,false,,,"3.1.3.02, 3.2.3.02","davinci_pas_server_suite_v221-pas_server_v221_must_support-Group01-Group03-pas_server_v221_submit_response_must_support_claimresponse, davinci_pas_server_suite_v221-pas_server_v221_must_support-Group02-Group03-pas_server_v221_inquire_response_must_support_claiminquiryresponse"
|
|
11
11
|
hl7.fhir.us.davinci-pas_2.2.1,conf-10,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-10,"If these data elements are included in a Claim Request or Claim Inquiry, the receiving PA Intermediary System **MAY** ignore those elements.",MAY,PAS Payer,false,,,"",""
|
|
12
|
-
hl7.fhir.us.davinci-pas_2.2.1,conf-11,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-11,"When processing prior auth requests and additional data submissions, PAS services **SHALL NOT** depend on or set expectations for the inclusion of resource instances not compliant with profiles defined in this guide, CRD, DTR, HRex, or US Core.",SHALL NOT,PAS Payer,false,,,
|
|
12
|
+
hl7.fhir.us.davinci-pas_2.2.1,conf-11,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-11,"When processing prior auth requests and additional data submissions, PAS services **SHALL NOT** depend on or set expectations for the inclusion of resource instances not compliant with profiles defined in this guide, CRD, DTR, HRex, or US Core.",SHALL NOT,PAS Payer,false,,,3.1.1.04,davinci_pas_server_suite_v221-pas_server_v221_must_support-Group01-Group01-pas_server_v221_no_custom_extensions_test
|
|
13
13
|
hl7.fhir.us.davinci-pas_2.2.1,conf-12,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-12,"Similarly, they **SHALL NOT** depend on or set expectations for the inclusion of any data elements not marked as mandatory (min cardinality >= 1) or mustSupport in those profiles.",SHALL NOT,PAS Payer,false,,,"",""
|
|
14
14
|
hl7.fhir.us.davinci-pas_2.2.1,conf-13,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-13,"If the proposed change is adopted and published in the PAS continuous integration build or the CI build of one of its dependencies (e.g. US Core), implementations **MAY**, by mutual agreement, pre-adopt the use of those additional profiles and/or mustSupport data elements and not be considered in violation of #1 above.",MAY,"PAS Client,PAS Payer",false,,,"",""
|
|
15
15
|
hl7.fhir.us.davinci-pas_2.2.1,conf-14,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformance.html#ci-c-conf-14,"Where cardinality and other constraints present in profiles allow data elements to be omitted, PAS compliant systems **SHALL NOT** treat the omission of those elements as a conformance error.",SHALL NOT,"PAS Client,PAS Payer",false,,,"",""
|
|
@@ -53,37 +53,37 @@ hl7.fhir.us.davinci-pas_2.2.1,spec-26,https://hl7.org/fhir/us/davinci-pas/2.2.1/
|
|
|
53
53
|
hl7.fhir.us.davinci-pas_2.2.1,spec-27,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-27,The method **MAY** be based on the X12 275 or another method that trading partners have agreed to use.,MAY,PAS Payer,false,,,"",""
|
|
54
54
|
hl7.fhir.us.davinci-pas_2.2.1,spec-28,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-28,"If the X12 275 is used for this purpose, the 275 BDS01 Filter ID Code element **SHALL** be set to ""B64"" and the CAT02 Attachment Information Format Code element **SHALL** be sent to ""HL"".",SHALL,PAS Payer,false,,,"",""
|
|
55
55
|
hl7.fhir.us.davinci-pas_2.2.1,spec-29,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-29,"Translation/mapping systems **SHOULD** be aware that if the size of the attachments as part of a claims submission would exceed the size limitations of a particular recipient, the intermediary **SHOULD** split the attachments into separate 275s to remain within the overall limit.",SHOULD,PAS Payer,false,,,"",""
|
|
56
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-30,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-30,The Bundle **SHALL** start with a [ClaimResponse](StructureDefinition-profile-claimresponse-base.html) entry that contains information mapped from the 278 response.,SHALL,PAS Payer,false,,,"",""
|
|
57
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-31,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-31,Each unique resource instance **SHALL** only appear at most once in the Bundle.,SHALL,PAS Payer,false,,,"",""
|
|
56
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-30,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-30,The Bundle **SHALL** start with a [ClaimResponse](StructureDefinition-profile-claimresponse-base.html) entry that contains information mapped from the 278 response.,SHALL,PAS Payer,false,,,"2.1.1.03, 2.2.1.03, 2.3.1.03","davinci_pas_server_suite_v221-Group02-pas_server_v221_approval_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_approval, davinci_pas_server_suite_v221-Group02-pas_server_v221_denial_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_denial, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_pended"
|
|
57
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-31,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-31,Each unique resource instance **SHALL** only appear at most once in the Bundle.,SHALL,PAS Payer,false,,,"2.1.1.03, 2.2.1.03, 2.3.1.03","davinci_pas_server_suite_v221-Group02-pas_server_v221_approval_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_approval, davinci_pas_server_suite_v221-Group02-pas_server_v221_denial_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_denial, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_pended"
|
|
58
58
|
hl7.fhir.us.davinci-pas_2.2.1,spec-32,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-32,"Only one unique resource instance **SHOULD** be created to represent the same information. In other words, avoid creating multiple Practitioner instances for the same person.",SHOULD,PAS Payer,false,,,"",""
|
|
59
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-33,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-33,"When echoing back resources that are the same as were present in the prior authorization request, the system **SHALL** ensure that the same fullUrl and resource identifiers are used in the response as appeared in the request.",SHALL,PAS Payer,false,,,"",""
|
|
59
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-33,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-33,"When echoing back resources that are the same as were present in the prior authorization request, the system **SHALL** ensure that the same fullUrl and resource identifiers are used in the response as appeared in the request.",SHALL,PAS Payer,false,,,"2.1.1.03, 2.2.1.03, 2.3.1.03","davinci_pas_server_suite_v221-Group02-pas_server_v221_approval_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_approval, davinci_pas_server_suite_v221-Group02-pas_server_v221_denial_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_denial, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group01-pas_server_v221_pas_response_bundle_validation_test_pended"
|
|
60
60
|
hl7.fhir.us.davinci-pas_2.2.1,spec-34,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-34,Each item returned on the PAS ClaimResponse **SHALL** echo the same item.sequence as that same item had on the Claim. The item.sequence element **SHALL** serve as the main tracing identifier of items throughout requests and responses.,SHALL,PAS Payer,false,,,2.4.5.01,davinci_pas_server_suite_v221-Group02-pas_server_v221_claim_updates-Group05-pas_server_v221_claim_update_item_sequence_echo_test
|
|
61
61
|
hl7.fhir.us.davinci-pas_2.2.1,spec-35,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-35,"In the case of an error in an Operation invocation (e.g., 4XX error), the receiving system **SHALL** return a single OperationOutcome that details why the Bundle could not be processed.",SHALL,PAS Payer,false,,,"",""
|
|
62
62
|
hl7.fhir.us.davinci-pas_2.2.1,spec-36,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-36,"For instances where the authorized item is a modification of the requested item, the requested item details **SHALL** be returned in the ClaimResponse.item with an adjudication status of A6 - 'Modified'.",SHALL,PAS Payer,false,,,"",""
|
|
63
63
|
hl7.fhir.us.davinci-pas_2.2.1,spec-37,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-37,The details of what was actually item **SHALL** be returned in the ClaimResponse.addItem.,SHALL,PAS Payer,false,,,"",""
|
|
64
64
|
hl7.fhir.us.davinci-pas_2.2.1,spec-38,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-38,Recipients of the transactions **SHOULD** respond as indicated below and senders of the transaction **SHOULD** look for the following responses and then take appropriate actions.,SHOULD,"PAS Client,PAS Payer",false,,,"",""
|
|
65
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-39,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-39,All transactions in PAS are synchronous and **SHALL** require one of the following HTTP responses:,SHALL,PAS Payer,false,,,
|
|
65
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-39,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-39,All transactions in PAS are synchronous and **SHALL** require one of the following HTTP responses:,SHALL,PAS Payer,false,,,4,davinci_pas_server_suite_v221-pas_v221_error_group
|
|
66
66
|
hl7.fhir.us.davinci-pas_2.2.1,spec-41,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-41,NOTE: These errors **SHOULD** not be returned to the provider but **SHOULD** be reviewed and addressed by technical staff.,SHOULD,PAS Payer,false,,,"",""
|
|
67
67
|
hl7.fhir.us.davinci-pas_2.2.1,spec-43,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-43,Intermediaries **SHALL** interpret the 'not-applicable' code as no product or service code.,SHALL,PAS Payer,false,,,"",""
|
|
68
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-44,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-44,This Claim Inquiry Response **SHALL** either reference a Claim or have a Data Absent Reason indicating why the Claim can not be referenced (eg. original claim received by fax).,SHALL,PAS Payer,false,,,
|
|
68
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-44,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-44,This Claim Inquiry Response **SHALL** either reference a Claim or have a Data Absent Reason indicating why the Claim can not be referenced (eg. original claim received by fax).,SHALL,PAS Payer,false,,,3.2.4.01,davinci_pas_server_suite_v221-pas_server_v221_must_support-Group02-pas_server_v221_claim_inquiry_responses-pas_server_v221_claim_inquiry_response_claim_reference_test
|
|
69
69
|
hl7.fhir.us.davinci-pas_2.2.1,spec-45,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-45,The referenced Claim instance **SHOULD** be returned if there is information in the Response that needs to be present can not be returned in the Claim Response instance.,SHOULD,PAS Payer,false,,,"",""
|
|
70
70
|
hl7.fhir.us.davinci-pas_2.2.1,spec-46,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-46,"the returned ClaimResponse **SHALL** include the current results for all submitted items, including any items changed or canceled since the original authoriation request.",SHALL,PAS Payer,false,,,2.4.5.02,davinci_pas_server_suite_v221-Group02-pas_server_v221_claim_updates-Group05-pas_server_v221_claim_update_current_results_test
|
|
71
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-47,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-47,"if a specific reference number (either the REF-NT or REF-BB) is submitted and is not the 'current' number (because subsequent additions/changes/cancellations have been made to the prior authorization request), the returned record **SHALL** be the current authorization response - even though it no longer has the same identifier.",SHALL,"PAS Client,PAS Payer",false,,,
|
|
71
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-47,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-47,"if a specific reference number (either the REF-NT or REF-BB) is submitted and is not the 'current' number (because subsequent additions/changes/cancellations have been made to the prior authorization request), the returned record **SHALL** be the current authorization response - even though it no longer has the same identifier.",SHALL,"PAS Client,PAS Payer",false,,,3.2.1.05,davinci_pas_server_suite_v221-pas_server_v221_must_support-Group02-Group01-pas_server_v221_replaced_pa_inquire_reference_test
|
|
72
72
|
hl7.fhir.us.davinci-pas_2.2.1,spec-48,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-48,"I.e. If a search is for a 'replaced' prior authorization, the search result **SHALL** include the 'current' prior authorization response for the most recent replacing prior authorization request.",SHALL,PAS Payer,false,,,"",""
|
|
73
73
|
hl7.fhir.us.davinci-pas_2.2.1,spec-49,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-49,systems **MAY** withhold information about prior authorizations that are 'open' but are deemed to be not relevant to the provider (eg. prior authorization requests for sensitive care where the requesting provider is neither the ordering nor rendering provider) who is checking for the prior authorization status if not searching by a specific Claim identifier.,MAY,PAS Payer,false,,,"",""
|
|
74
74
|
hl7.fhir.us.davinci-pas_2.2.1,spec-50,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-50,In such situations the response **SHOULD** include an OperationOutcome warning that some prior authorizations have been suppressed and provide an alternative mechanism (e.g. telephone number) to provide further information if needed.,SHOULD,PAS Payer,false,,,"",""
|
|
75
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-51,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-51,Implementers **SHALL** support subscriptions to provide the final response.,SHALL,PAS Payer,false,,,
|
|
75
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-51,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-51,Implementers **SHALL** support subscriptions to provide the final response.,SHALL,PAS Payer,false,,,2.3.2.01,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_wait_pended
|
|
76
76
|
hl7.fhir.us.davinci-pas_2.2.1,spec-52,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-52,Servers **SHALL** permit access to the prior authorization response to systems other than the original submitter.,SHALL,PAS Payer,false,,,"",""
|
|
77
77
|
hl7.fhir.us.davinci-pas_2.2.1,spec-53,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-53,"They **SHALL** require a match on the patient member or subscriber id (identifier on the Claim.patient) plus the ordering and/or rendering provider identifier, i.e. the provider's NPI.",SHALL,PAS Payer,false,,,"",""
|
|
78
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-54,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-54,Implementers **SHALL** support the R4 Subscriptions referenced in the [Subscriptions for R5 Backport Implementation Guide](http://hl7.org/fhir/uv/subscriptions-backport/).,SHALL,PAS Payer,false,,,
|
|
79
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-55,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-55,Servers supporting subscriptions **SHALL** expose this as part of their CapabilityStatement,SHALL,PAS Payer,false,,,
|
|
78
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-54,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-54,Implementers **SHALL** support the R4 Subscriptions referenced in the [Subscriptions for R5 Backport Implementation Guide](http://hl7.org/fhir/uv/subscriptions-backport/).,SHALL,PAS Payer,false,,,1.03,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_notification_delivery
|
|
79
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-55,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-55,Servers supporting subscriptions **SHALL** expose this as part of their CapabilityStatement,SHALL,PAS Payer,false,,,1.01,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-pas_server_v221_subscription_capability_statement_test
|
|
80
80
|
hl7.fhir.us.davinci-pas_2.2.1,spec-56,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-56,Servers **SHALL** only support the [rest-hook channel type](https://hl7.org/fhir/uv/subscriptions-backport/channels.html#rest-hook-1),SHALL,PAS Payer,false,,,"",""
|
|
81
81
|
hl7.fhir.us.davinci-pas_2.2.1,spec-57,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-57,This Subscription **SHALL** conform to the [PAS Subscription profile](StructureDefinition-profile-subscription.html).,SHALL,PAS Payer,false,,,"",""
|
|
82
82
|
hl7.fhir.us.davinci-pas_2.2.1,spec-58,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-58,The Subscription filter criteria **SHALL** be org-identifier = [sending system identifier].,SHALL,PAS Payer,false,,,"",""
|
|
83
83
|
hl7.fhir.us.davinci-pas_2.2.1,spec-59,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-59,Intermediaries **SHALL** ensure that subscriptions to monitor a particular sending system's prior authorizations are only created or modified by that sending system.,SHALL,PAS Payer,false,,,"",""
|
|
84
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-60,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-60,"Once the [subscription](Subscription-PASSubscriptionExample.html) has been created, the Server **SHALL** send a [notification](Bundle-PASSubscriptionNotification.html) over the requested channel indicating that a prior authorization response submitted by the requesting provider organization has changed.",SHALL,PAS Payer,false,,,
|
|
85
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-61,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-61,This notification **SHALL** include a full PAS Response Bundle.,SHALL,PAS Payer,false,,,
|
|
86
|
-
hl7.fhir.us.davinci-pas_2.2.1,spec-62,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-62,"Due to the inquiry not supporting all of the required information needed in a PAS response, PAS Clients and Intermediaries **SHALL** only support subscriptions with content='full-resource'.",SHALL,"PAS Client,PAS Payer",false,,,
|
|
84
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-60,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-60,"Once the [subscription](Subscription-PASSubscriptionExample.html) has been created, the Server **SHALL** send a [notification](Bundle-PASSubscriptionNotification.html) over the requested channel indicating that a prior authorization response submitted by the requesting provider organization has changed.",SHALL,PAS Payer,false,,,2.3.2.01,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_wait_pended
|
|
85
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-61,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-61,This notification **SHALL** include a full PAS Response Bundle.,SHALL,PAS Payer,false,,,2.3.2.04,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_notification_pas_conformance_pended
|
|
86
|
+
hl7.fhir.us.davinci-pas_2.2.1,spec-62,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-62,"Due to the inquiry not supporting all of the required information needed in a PAS response, PAS Clients and Intermediaries **SHALL** only support subscriptions with content='full-resource'.",SHALL,"PAS Client,PAS Payer",false,,,2.3.2.04,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_notification_pas_conformance_pended
|
|
87
87
|
hl7.fhir.us.davinci-pas_2.2.1,spec-64,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-64,Servers **MAY** reject updates and require that a new request is made by providing the appropriate X12 error code.,MAY,"PAS Client,PAS Payer",false,,,"",""
|
|
88
88
|
hl7.fhir.us.davinci-pas_2.2.1,spec-69,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-69,Cancelled entries: item and supportingInfo entries that have been removed from the request **SHALL** include the infoCancelled modifier extension with a valueBoolean of `true` in the Claim.item.modifierExtension or Claim.supportingInfo.modifierExtension element.,SHALL,"PAS Client,PAS Payer",false,,,"",""
|
|
89
89
|
hl7.fhir.us.davinci-pas_2.2.1,spec-70,https://hl7.org/fhir/us/davinci-pas/2.2.1/en/specification.html#ci-c-spec-70,Canceled items **SHALL** additionally contain a certificationType extension with a code of 3 (Cancel) in the Claim.item.extension element.,SHALL,"PAS Client,PAS Payer",false,,,"",""
|
|
@@ -98,28 +98,28 @@ hl7.fhir.uv.subscriptions_1.1.0,3,https://hl7.org/fhir/uv/subscriptions-backport
|
|
|
98
98
|
hl7.fhir.uv.subscriptions_1.1.0,4,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscription-topics-in-r4,"FHIR R4 servers MAY choose to leave topic discovery completely out-of-band and part of other steps, such as registration or integration.",MAY,Server,,Not Tested,"MAY requirement, support for which doesn't imply other requirements. Additionally, meeting this requirement is simply the absence of other features.",NA,NA
|
|
99
99
|
hl7.fhir.uv.subscriptions_1.1.0,7,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,"When a FHIR Server accepts a request to create a Subscription, the server is indicating to the client that the server:
|
|
100
100
|
- is capable of detecting when events covered by the requested SubscriptionTopic occur, and
|
|
101
|
-
- is willing to make a simple best effort attempt at delivering a notification for each occurrence of a matching event.",SHALL,Server,,,,1.
|
|
101
|
+
- is willing to make a simple best effort attempt at delivering a notification for each occurrence of a matching event.",SHALL,Server,,,,1.04,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_creation_response_conformance
|
|
102
102
|
hl7.fhir.uv.subscriptions_1.1.0,8,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,When processing a request for a Subscription...a server SHOULD validate…that the SubscriptionTopic is valid and implemented by the server,SHOULD,Server,,,,"",""
|
|
103
103
|
hl7.fhir.uv.subscriptions_1.1.0,9,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,When processing a request for a Subscription...a server SHOULD validate…that all requested filters are defined in the requested topic and are implemented in the server,SHOULD,Server,,,,"",""
|
|
104
104
|
hl7.fhir.uv.subscriptions_1.1.0,10,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,When processing a request for a Subscription...a server SHOULD validate…that the channel type is known and implemented by the server,SHOULD,Server,,,,"",""
|
|
105
105
|
hl7.fhir.uv.subscriptions_1.1.0,11,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,"When processing a request for a Subscription...a server SHOULD validate…that the channel endpoint is valid for the channel provided (e.g., is it a valid URL of the expected type)",SHOULD,Server,,,,"",""
|
|
106
106
|
hl7.fhir.uv.subscriptions_1.1.0,12,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,When processing a request for a Subscription...a server SHOULD validate…that the payload configuration is known and implemented by the server,SHOULD,Server,,,,"",""
|
|
107
107
|
hl7.fhir.uv.subscriptions_1.1.0,13,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#accepting-subscription-requests,"When processing a request for a Subscription...a server SHOULD validate…that the payload configuration is valid for the channel type requested (e.g., complies with the server’s security policy)",SHOULD,Server,,,,"",""
|
|
108
|
-
hl7.fhir.uv.subscriptions_1.1.0,14,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscription-notifications,"In ... FHIR R4 ... notifications are based on a history Bundle. The first entry always contains SubscriptionStatus information, encoded as ... a Parameters resource using the Backport SubscriptionStatus Profile in FHIR R4",SHALL,Server,,,,"1.
|
|
108
|
+
hl7.fhir.uv.subscriptions_1.1.0,14,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscription-notifications,"In ... FHIR R4 ... notifications are based on a history Bundle. The first entry always contains SubscriptionStatus information, encoded as ... a Parameters resource using the Backport SubscriptionStatus Profile in FHIR R4",SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
109
109
|
hl7.fhir.uv.subscriptions_1.1.0,15,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscription-notifications,"Note that since notifications use history type Bundles, all notifications need to comply with the requirements for that bundle type. Specifically, there are two invariants on Bundle (bdl-3 and bdl-4) that require a Bundle.entry.request element for every Bundle.entry.
|
|
110
110
|
- For the status resource (entry[0]) the request SHALL be filled out to match a request to the $status operation.
|
|
111
|
-
- for additional entries the request SHOULD be filled out in a way that makes sense given the subscription (e.g., a POST or PUT operation on the resource, etc.). However, a server MAY choose to simply include a GET to the relevant resource instead.",SHALL,Server,,,,"1.
|
|
111
|
+
- for additional entries the request SHOULD be filled out in a way that makes sense given the subscription (e.g., a POST or PUT operation on the resource, etc.). However, a server MAY choose to simply include a GET to the relevant resource instead.",SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
112
112
|
hl7.fhir.uv.subscriptions_1.1.0,16,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#scoping-responsibilities,"Unless otherwise specified by a server implementation and channel, the Subscriptions Framework does not involve guaranteed delivery of notifications. While the Subscriptions Framework is able to support such mechanisms, defining them are beyond the scope of the standard or this guide. - Servers SHOULD detect errors and take appropriate action where possible. In general, this boundary is when the notification is delivered.",SHOULD,Server,,,,"",""
|
|
113
113
|
hl7.fhir.uv.subscriptions_1.1.0,18,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/workflow.html#workflow-fhir-r4,"[When a client requests a Subscription, the] Server MAY accept the Subscription request and mark it active (e.g., supported channel and payload, no handshake required).",MAY,Server,,Not Tested,"MAY requirement, support for which doesn't imply other requirements.",NA,NA
|
|
114
114
|
hl7.fhir.uv.subscriptions_1.1.0,19,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/workflow.html#workflow-fhir-r4,"[When a client requests a Subscription, the] Server MAY accept the Subscription request and mark it requested (e.g., supported channel and payload, handshake required).",MAY,Server,,Not Tested,"MAY requirement, support for which doesn't imply other requirements.",NA,NA
|
|
115
115
|
hl7.fhir.uv.subscriptions_1.1.0,20,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/workflow.html#workflow-fhir-r4,"[When a server sends a handshake bundle to a Subscription endpoint] If the Endpoint responds appropriately, per the channel requirements (e.g., in REST an HTTP Success code such as 200), the Server updates the subscription to active.",SHALL,Server,,,,"",""
|
|
116
116
|
hl7.fhir.uv.subscriptions_1.1.0,21,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/workflow.html#workflow-fhir-r4,"[When a server sends a handshake bundle to a Subscription endpoint] If the handshake fails (e.g., connection failure, bad response, etc.), the Server updates the subscription to error.",SHALL,Server,,,,"",""
|
|
117
117
|
hl7.fhir.uv.subscriptions_1.1.0,22,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/workflow.html#workflow-fhir-r4,"[When a client requests a Subscription, the] Server MAY reject the Subscription request (e.g., unsupported channel type).",MAY,Server,,Not Tested,"MAY requirement, support for which doesn't imply other requirements.",NA,NA
|
|
118
|
-
hl7.fhir.uv.subscriptions_1.1.0,25,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"To convey an event notification, the server POSTs a Bundle to the client’s nominated endpoint URL",SHALL,Server,,,,"1.
|
|
118
|
+
hl7.fhir.uv.subscriptions_1.1.0,25,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"To convey an event notification, the server POSTs a Bundle to the client’s nominated endpoint URL",SHALL,Server,,,,"1.04, 1.05","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_creation_response_conformance, davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance"
|
|
119
119
|
hl7.fhir.uv.subscriptions_1.1.0,26,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,The content-type of the [server's event notification] POST SHALL match the MIME type on the Subscription ([Subscription.channel.payload](http://hl7.org/fhir/subscription-definitions.html#Subscription.channel.payload)).,SHALL,Server,,,,2.3.2.02,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended
|
|
120
120
|
hl7.fhir.uv.subscriptions_1.1.0,27,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,Each [Subscription.channel.header](http://hl7.org/fhir/subscription-definitions.html#Subscription.channel.header) value SHALL be conveyed as an HTTP request header [in the server's event notification POST].,SHALL,Server,,,,2.3.2.02,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended
|
|
121
|
-
hl7.fhir.uv.subscriptions_1.1.0,28,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,The [server's event notification] bundle SHALL comply with the [Backported R5 Notification Bundle Profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification.html).,SHALL,Server,,,,"1.
|
|
122
|
-
hl7.fhir.uv.subscriptions_1.1.0,29,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"When a Subscription is created for a REST Hook channel type, the server SHALL set initial status to requested, pending verification of the nominated endpoint URL.",SHALL,Server,,,,1.
|
|
121
|
+
hl7.fhir.uv.subscriptions_1.1.0,28,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,The [server's event notification] bundle SHALL comply with the [Backported R5 Notification Bundle Profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification.html).,SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
122
|
+
hl7.fhir.uv.subscriptions_1.1.0,29,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"When a Subscription is created for a REST Hook channel type, the server SHALL set initial status to requested, pending verification of the nominated endpoint URL.",SHALL,Server,,,,1.04,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_creation_response_conformance
|
|
123
123
|
hl7.fhir.uv.subscriptions_1.1.0,30,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"After a successful handshake notification has been sent and accepted [for a REST Hook channel type], the server SHALL update the status to active.",SHALL,Server,,,,"",""
|
|
124
124
|
hl7.fhir.uv.subscriptions_1.1.0,31,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,Any errors in the initial handshake [for a REST Hook channel type] SHALL result in the status being changed to error.,SHALL,Server,,,,"",""
|
|
125
125
|
hl7.fhir.uv.subscriptions_1.1.0,32,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#security-notes,"HTTP is neither a secure nor an encrypted channel, nor does it provide endpoint verification. It is strongly recommended that implementations refuse requests to send notifications to URLs using the HTTP protocol (use HTTPS instead).",SHOULD,Server,,,,"",""
|
|
@@ -138,7 +138,7 @@ hl7.fhir.uv.subscriptions_1.1.0,44,https://hl7.org/fhir/uv/subscriptions-backpor
|
|
|
138
138
|
hl7.fhir.uv.subscriptions_1.1.0,45,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/payloads.html#full-resource,"Each Bundle.entry for a full-resource notification SHALL contain a relevant resource in the entry.resource element. If a server cannot include the resource contents due to an issue with a specific notification, the server SHALL populate the entry.request and/or entry.response elements.",SHALL,Server,,,,2.3.2.03,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended
|
|
139
139
|
hl7.fhir.uv.subscriptions_1.1.0,47,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support the $status operation on the Subscription resource.",SHALL,Server,,,,"",""
|
|
140
140
|
hl7.fhir.uv.subscriptions_1.1.0,48,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHOULD support topic discovery via the CapabilityStatement SubscriptionTopic Canonical extension",SHOULD,Server,,,,"",""
|
|
141
|
-
hl7.fhir.uv.subscriptions_1.1.0,49,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support at least one channel type",SHALL,Server,,,,1.
|
|
141
|
+
hl7.fhir.uv.subscriptions_1.1.0,49,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support at least one channel type",SHALL,Server,,,,1.04,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_creation_response_conformance
|
|
142
142
|
hl7.fhir.uv.subscriptions_1.1.0,50,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHOULD include one [channel type] from this guide",SHOULD,Server,,,,"",""
|
|
143
143
|
hl7.fhir.uv.subscriptions_1.1.0,51,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support at least one Payload Type",SHALL,Server,,,,2.3.2.03,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended
|
|
144
144
|
hl7.fhir.uv.subscriptions_1.1.0,52,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-artifacts-1,"FHIR Servers claiming conformance to this Implementation Guide must conform to the expectations described in the Capability Statement appropriate to the implemented FHIR version. For FHIR R4 servers, this guide defines the R4 Server CapabilityStatement (https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html).",SHALL,Server,,,,"",""
|
|
@@ -152,8 +152,8 @@ hl7.fhir.uv.subscriptions_1.1.0,63,https://hl7.org/fhir/uv/subscriptions-backpor
|
|
|
152
152
|
hl7.fhir.uv.subscriptions_1.1.0,65,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-payload-content-1,Servers supporting this guide SHALL be able to read values from this [backport-payload-content - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-payload-content.html] extension.,SHALL,Server,,,,2.3.2.03,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended
|
|
153
153
|
hl7.fhir.uv.subscriptions_1.1.0,66,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-payload-content-1,"A server SHALL reject the subscription request if a client asks for a content level the server does not intend to support (e.g., does not meet security requirements) [using the extension backport-payload-content - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-payload-content.html].",SHALL,Server,,,,"",""
|
|
154
154
|
hl7.fhir.uv.subscriptions_1.1.0,67,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-payload-content-1,Servers SHALL include information in notifications as described in this guide based on this value [in the extension backport-payload-content - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-payload-content.html].,SHALL,Server,,,,2.3.2.03,davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended
|
|
155
|
-
hl7.fhir.uv.subscriptions_1.1.0,69,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#notification-entry-subscriptionstatus-1,Servers supporting this guide SHALL be able to generate a valid and correct R4 Backported R5 SubscriptionStatus resource for each notification.,SHALL,Server,,,,"1.
|
|
156
|
-
hl7.fhir.uv.subscriptions_1.1.0,70,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#notification-entry-subscriptionstatus-1,The status entry SHALL be the first entry of each notification bundle.,SHALL,Server,,,,"1.
|
|
155
|
+
hl7.fhir.uv.subscriptions_1.1.0,69,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#notification-entry-subscriptionstatus-1,Servers supporting this guide SHALL be able to generate a valid and correct R4 Backported R5 SubscriptionStatus resource for each notification.,SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
156
|
+
hl7.fhir.uv.subscriptions_1.1.0,70,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#notification-entry-subscriptionstatus-1,The status entry SHALL be the first entry of each notification bundle.,SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
157
157
|
hl7.fhir.uv.subscriptions_1.1.0,72,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#subscriptioncriteria-1,"The Subscription.criteria element is required (cardinality of 1..1), so any compatible implementation SHALL be able to read and/or write as necessary.",SHALL,Server,,,,"",""
|
|
158
158
|
hl7.fhir.uv.subscriptions_1.1.0,73,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#subscriptioncriteria-1,"Compared with the core specification, this guide specifies that the [Subscription.criteria] element SHALL contain the canonical URL for the Subscription Topic.",SHALL,Server,,,,"",""
|
|
159
159
|
hl7.fhir.uv.subscriptions_1.1.0,74,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#subscriptioncriteria-1,Servers supporting this guide SHALL be able to read values in this [Subscription.criteria] element and process requests for subscription topics referenced by it.,SHALL,Server,,,,"",""
|
|
@@ -203,10 +203,10 @@ hl7.fhir.uv.subscriptions_1.1.0,128,https://hl7.org/fhir/uv/subscriptions-backpo
|
|
|
203
203
|
hl7.fhir.uv.subscriptions_1.1.0,129,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,Search Parameter Summary: SHALL [support] url,SHALL,Server,,,,"",""
|
|
204
204
|
hl7.fhir.uv.subscriptions_1.1.0,130,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,Search Parameter Summary: SHOULD [support] status,SHOULD,Server,,,,"",""
|
|
205
205
|
hl7.fhir.uv.subscriptions_1.1.0,131,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-status-r4.html,[several SubscriptionStatus profile elements are flagged as must support],MAY,Server,,Not Verifiable,IG doesn't indicate what must support requirements are for the SubscriptionStatus profile (in contrast to the Subscription profile where they are provided),NA,NA
|
|
206
|
-
hl7.fhir.uv.subscriptions_1.1.0,133,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support the Subscription resource (...write).",SHALL,Server,,,,1.
|
|
206
|
+
hl7.fhir.uv.subscriptions_1.1.0,133,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support the Subscription resource (...write).",SHALL,Server,,,,1.03,davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_notification_delivery
|
|
207
207
|
hl7.fhir.uv.subscriptions_1.1.0,134,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#conformance-in-fhir-r4,"In order to claim conformance with this guide, a server…SHALL support the Subscription resource (read...).",SHALL,Server,,,,"",""
|
|
208
208
|
hl7.fhir.uv.subscriptions_1.1.0,135,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-filter-criteria-1,Servers supporting this guide SHALL be able to read values in this [backport-filter-criteria - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-filter-criteria.html] extension.,SHALL,Server,,,,"",""
|
|
209
209
|
hl7.fhir.uv.subscriptions_1.1.0,136,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-filter-criteria-1,Servers supporting this guide...SHALL be able to apply filters [from the backport-filter-criteria - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-filter-criteria.html extension] as described by any Subscription Topics the server advertises support for.,SHALL,Server,,,,"",""
|
|
210
210
|
hl7.fhir.uv.subscriptions_1.1.0,137,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#profile-support-1,a conformant server…SHALL communicate all profile data elements that are mandatory by that profile’s StructureDefinition [for the R4/B Topic-Based Subscription profile],SHALL,Server,,,,"",""
|
|
211
|
-
hl7.fhir.uv.subscriptions_1.1.0,138,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#profile-support-1,a conformant server…SHALL communicate all profile data elements that are mandatory by that profile’s StructureDefinition [for the R4 Topic-Based Subscription Notification Bundle],SHALL,Server,,,,"1.
|
|
212
|
-
hl7.fhir.uv.subscriptions_1.1.0,139,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#profile-support-1,a conformant server…SHALL communicate all profile data elements that are mandatory by that profile’s StructureDefinition [for the R4 Backported R5 SubscriptionStatus],SHALL,Server,,,,"1.
|
|
211
|
+
hl7.fhir.uv.subscriptions_1.1.0,138,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#profile-support-1,a conformant server…SHALL communicate all profile data elements that are mandatory by that profile’s StructureDefinition [for the R4 Topic-Based Subscription Notification Bundle],SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
212
|
+
hl7.fhir.uv.subscriptions_1.1.0,139,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#profile-support-1,a conformant server…SHALL communicate all profile data elements that are mandatory by that profile’s StructureDefinition [for the R4 Backported R5 SubscriptionStatus],SHALL,Server,,,,"1.05, 2.3.2.02, 2.3.2.03","davinci_pas_server_suite_v221-pas_server_v221_subscription_setup-subscriptions_r4_server_handshake_conformance, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_conformance_pended, davinci_pas_server_suite_v221-Group02-pas_server_v221_pended_use_case-Group02-pas_server_v221_subscription_notification_full_resource_conformance_pended"
|
|
@@ -24,8 +24,7 @@ module DaVinciPASTestKit
|
|
|
24
24
|
|
|
25
25
|
The best place to get started is the [Server Testing
|
|
26
26
|
Instructions](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Instructions-v2.0.1),
|
|
27
|
-
which provides a step-by-step guide for running the tests
|
|
28
|
-
an example client implemented in Postman. Visit the [Server Testing
|
|
27
|
+
which provides a step-by-step guide for running the tests. Visit the [Server Testing
|
|
29
28
|
Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Details)
|
|
30
29
|
documentation for information about technical implementation and known limitations of these tests.
|
|
31
30
|
|
|
@@ -36,6 +35,7 @@ module DaVinciPASTestKit
|
|
|
36
35
|
- Approval of a prior authorization request
|
|
37
36
|
- Denial of a prior authorization request
|
|
38
37
|
- Pending of a prior authorization request and a subsequent final decision
|
|
38
|
+
- Claim updates (except in v2.0.1)
|
|
39
39
|
- Inability to process a prior authorization request
|
|
40
40
|
- The ability of the server to handle the full scope of data required by PAS, including
|
|
41
41
|
- Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
|
|
@@ -50,7 +50,7 @@ module DaVinciPASTestKit
|
|
|
50
50
|
required features and functionality are present. HL7® FHIR® resources are
|
|
51
51
|
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
)
|
|
54
54
|
|
|
55
55
|
links [
|
|
56
56
|
{
|
|
@@ -90,8 +90,7 @@ module DaVinciPASTestKit
|
|
|
90
90
|
exclude_message do |message|
|
|
91
91
|
# Messages expected of the form `<ResourceType>: <FHIRPath>: <message>`
|
|
92
92
|
# We strip `<ResourceType>: <FHIRPath>: ` for the sake of matching
|
|
93
|
-
|
|
94
|
-
message.message.downcase.include?('x12')
|
|
93
|
+
V201_SUPPRESSED_MESSAGES.match?(message.message.sub(/\A\S+: \S+: /, ''))
|
|
95
94
|
end
|
|
96
95
|
|
|
97
96
|
validation_context do
|
|
@@ -100,6 +100,7 @@ module DaVinciPASTestKit
|
|
|
100
100
|
sets containing X12 codes are not validated.
|
|
101
101
|
|
|
102
102
|
)
|
|
103
|
+
|
|
103
104
|
config(
|
|
104
105
|
options: {
|
|
105
106
|
use_case: 'approval',
|
|
@@ -107,6 +108,7 @@ module DaVinciPASTestKit
|
|
|
107
108
|
ig_version: 'v2.2.1'
|
|
108
109
|
}
|
|
109
110
|
)
|
|
111
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-30', 'hl7.fhir.us.davinci-pas_2.2.1@spec-31', 'hl7.fhir.us.davinci-pas_2.2.1@spec-33'
|
|
110
112
|
end
|
|
111
113
|
test from: :prior_auth_claim_response_decision_validation do
|
|
112
114
|
id :pas_server_v221_decision_validation_test_approval
|
|
@@ -100,6 +100,7 @@ module DaVinciPASTestKit
|
|
|
100
100
|
sets containing X12 codes are not validated.
|
|
101
101
|
|
|
102
102
|
)
|
|
103
|
+
|
|
103
104
|
config(
|
|
104
105
|
options: {
|
|
105
106
|
use_case: 'denial',
|
|
@@ -107,6 +108,7 @@ module DaVinciPASTestKit
|
|
|
107
108
|
ig_version: 'v2.2.1'
|
|
108
109
|
}
|
|
109
110
|
)
|
|
111
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-30', 'hl7.fhir.us.davinci-pas_2.2.1@spec-31', 'hl7.fhir.us.davinci-pas_2.2.1@spec-33'
|
|
110
112
|
end
|
|
111
113
|
test from: :prior_auth_claim_response_decision_validation do
|
|
112
114
|
id :pas_server_v221_decision_validation_test_denial
|
|
@@ -3,6 +3,10 @@ require_relative '../../claim_submit_operation_test'
|
|
|
3
3
|
require_relative '../../server_response_bundle_validation_test'
|
|
4
4
|
require_relative '../../claim_inquire_operation_test'
|
|
5
5
|
require_relative '../../v2.2.1/must_support/pas_server_must_support_request_profiles_test'
|
|
6
|
+
require_relative '../../v2.2.1/pas_server_no_custom_extensions_test'
|
|
7
|
+
require_relative '../../v2.2.1/pas_server_claim_inquiry_responses_group'
|
|
8
|
+
require_relative '../../v2.2.1/server_replaced_pa_inquire_reference_input_test'
|
|
9
|
+
require_relative '../../v2.2.1/server_replaced_pa_inquire_reference_test'
|
|
6
10
|
require_relative 'pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test'
|
|
7
11
|
require_relative 'claim_update/server_submit_request_must_support_claim_update_test'
|
|
8
12
|
require_relative 'coverage/server_submit_request_must_support_coverage_test'
|
|
@@ -204,11 +208,14 @@ module DaVinciPASTestKit
|
|
|
204
208
|
}
|
|
205
209
|
)
|
|
206
210
|
end
|
|
211
|
+
|
|
212
|
+
test from: :pas_server_v221_no_custom_extensions_test
|
|
207
213
|
end
|
|
208
214
|
|
|
209
215
|
group do
|
|
210
216
|
title '$submit Request Must Support'
|
|
211
217
|
simulation_verification
|
|
218
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-4', 'hl7.fhir.us.davinci-pas_2.2.1@conf-5'
|
|
212
219
|
|
|
213
220
|
test from: :pas_server_v221_must_support_request_profiles
|
|
214
221
|
test from: :pas_server_v221_submit_request_must_support_pas_request_bundle
|
|
@@ -369,11 +376,14 @@ module DaVinciPASTestKit
|
|
|
369
376
|
}
|
|
370
377
|
)
|
|
371
378
|
end
|
|
379
|
+
test from: :pas_server_v221_replaced_pa_inquire_reference_input_test
|
|
380
|
+
test from: :pas_server_v221_replaced_pa_inquire_reference_test
|
|
372
381
|
end
|
|
373
382
|
|
|
374
383
|
group do
|
|
375
384
|
title '$inquire Request Must Support'
|
|
376
385
|
simulation_verification
|
|
386
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-4', 'hl7.fhir.us.davinci-pas_2.2.1@conf-5'
|
|
377
387
|
|
|
378
388
|
test from: :pas_server_v221_inquire_request_must_support_pas_inquiry_request_bundle
|
|
379
389
|
test from: :pas_server_v221_inquire_request_must_support_claim_inquiry
|
|
@@ -397,6 +407,8 @@ module DaVinciPASTestKit
|
|
|
397
407
|
test from: :pas_server_v221_inquire_response_must_support_practitioner_role
|
|
398
408
|
test from: :pas_server_v221_inquire_response_must_support_task
|
|
399
409
|
end
|
|
410
|
+
|
|
411
|
+
group from: :pas_server_v221_claim_inquiry_responses
|
|
400
412
|
end
|
|
401
413
|
end
|
|
402
414
|
end
|
|
@@ -109,6 +109,7 @@ module DaVinciPASTestKit
|
|
|
109
109
|
sets containing X12 codes are not validated.
|
|
110
110
|
|
|
111
111
|
)
|
|
112
|
+
|
|
112
113
|
config(
|
|
113
114
|
options: {
|
|
114
115
|
use_case: 'pended',
|
|
@@ -116,6 +117,7 @@ module DaVinciPASTestKit
|
|
|
116
117
|
ig_version: 'v2.2.1'
|
|
117
118
|
}
|
|
118
119
|
)
|
|
120
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-30', 'hl7.fhir.us.davinci-pas_2.2.1@spec-31', 'hl7.fhir.us.davinci-pas_2.2.1@spec-33'
|
|
119
121
|
end
|
|
120
122
|
test from: :prior_auth_claim_response_decision_validation do
|
|
121
123
|
id :pas_server_v221_decision_validation_test_pended
|
|
@@ -133,6 +135,7 @@ module DaVinciPASTestKit
|
|
|
133
135
|
|
|
134
136
|
test from: :pas_server_v221_subscription_notification_wait do
|
|
135
137
|
id :pas_server_v221_subscription_notification_wait_pended
|
|
138
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-51', 'hl7.fhir.us.davinci-pas_2.2.1@spec-60'
|
|
136
139
|
end
|
|
137
140
|
test from: :subscriptions_r4_server_notification_conformance do
|
|
138
141
|
id :pas_server_v221_subscription_notification_conformance_pended
|
|
@@ -143,6 +146,8 @@ module DaVinciPASTestKit
|
|
|
143
146
|
end
|
|
144
147
|
test from: :pas_notification_pas_conformance_test do
|
|
145
148
|
id :pas_server_v221_notification_pas_conformance_pended
|
|
149
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-61',
|
|
150
|
+
'hl7.fhir.us.davinci-pas_2.2.1@spec-62'
|
|
146
151
|
end
|
|
147
152
|
end
|
|
148
153
|
end
|
|
@@ -25,8 +25,7 @@ module DaVinciPASTestKit
|
|
|
25
25
|
|
|
26
26
|
The best place to get started is the [Server Testing
|
|
27
27
|
Instructions](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Instructions-v2.2.1),
|
|
28
|
-
which provides a step-by-step guide for running the tests
|
|
29
|
-
an example client implemented in Postman. Visit the [Server Testing
|
|
28
|
+
which provides a step-by-step guide for running the tests. Visit the [Server Testing
|
|
30
29
|
Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Details)
|
|
31
30
|
documentation for information about technical implementation and known limitations of these tests.
|
|
32
31
|
|
|
@@ -37,6 +36,7 @@ module DaVinciPASTestKit
|
|
|
37
36
|
- Approval of a prior authorization request
|
|
38
37
|
- Denial of a prior authorization request
|
|
39
38
|
- Pending of a prior authorization request and a subsequent final decision
|
|
39
|
+
- Claim updates (except in v2.0.1)
|
|
40
40
|
- Inability to process a prior authorization request
|
|
41
41
|
- The ability of the server to handle the full scope of data required by PAS, including
|
|
42
42
|
- Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
|
|
@@ -51,7 +51,7 @@ module DaVinciPASTestKit
|
|
|
51
51
|
required features and functionality are present. HL7® FHIR® resources are
|
|
52
52
|
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
)
|
|
55
55
|
|
|
56
56
|
links [
|
|
57
57
|
{
|
|
@@ -91,8 +91,7 @@ module DaVinciPASTestKit
|
|
|
91
91
|
exclude_message do |message|
|
|
92
92
|
# Messages expected of the form `<ResourceType>: <FHIRPath>: <message>`
|
|
93
93
|
# We strip `<ResourceType>: <FHIRPath>: ` for the sake of matching
|
|
94
|
-
|
|
95
|
-
message.message.downcase.include?('x12')
|
|
94
|
+
V221_SUPPRESSED_MESSAGES.match?(message.message.sub(/\A\S+: \S+: /, ''))
|
|
96
95
|
end
|
|
97
96
|
|
|
98
97
|
validation_context do
|
|
@@ -32,7 +32,15 @@ module DaVinciPASTestKit
|
|
|
32
32
|
requests = load_tagged_requests(DaVinciPASTestKit.operation_tag(operation),
|
|
33
33
|
workflow_tag)
|
|
34
34
|
bundles = []
|
|
35
|
-
|
|
35
|
+
seen_response_bodies = []
|
|
36
|
+
requests.each do |request|
|
|
37
|
+
response_body = request.response_body
|
|
38
|
+
next if response_body.blank?
|
|
39
|
+
next if seen_response_bodies.include?(response_body)
|
|
40
|
+
|
|
41
|
+
seen_response_bodies << response_body
|
|
42
|
+
|
|
43
|
+
request_bundle = FHIR.from_contents(request.request_body) if request.request_body.present?
|
|
36
44
|
resource = FHIR.from_contents(response_body)
|
|
37
45
|
next unless resource.present?
|
|
38
46
|
|
|
@@ -40,10 +48,10 @@ module DaVinciPASTestKit
|
|
|
40
48
|
if resource.resourceType == 'Parameters'
|
|
41
49
|
# Extract all Bundles from Parameters.parameter entries
|
|
42
50
|
parameter_bundles = extract_bundles_from_pas_inquiry_response_parameters(resource)
|
|
43
|
-
bundles.concat(parameter_bundles)
|
|
51
|
+
bundles.concat(parameter_bundles.map { |bundle| [bundle, request_bundle] })
|
|
44
52
|
elsif resource.is_a?(FHIR::Bundle)
|
|
45
53
|
# Handle Bundle resource (v2.0.1 or v2.2.1 non-inquire)
|
|
46
|
-
bundles << resource
|
|
54
|
+
bundles << [resource, request_bundle]
|
|
47
55
|
end
|
|
48
56
|
rescue StandardError
|
|
49
57
|
next
|
|
@@ -57,12 +65,13 @@ module DaVinciPASTestKit
|
|
|
57
65
|
assert bundles_to_verify.present?,
|
|
58
66
|
"No successful $#{operation} requests made during the #{use_case.titleize} workflow tests."
|
|
59
67
|
|
|
60
|
-
bundles_to_verify.each do |bundle|
|
|
68
|
+
bundles_to_verify.each do |bundle, request_bundle|
|
|
61
69
|
perform_bundle_validation(
|
|
62
70
|
bundle,
|
|
63
71
|
operation,
|
|
64
72
|
'response',
|
|
65
|
-
ig_version
|
|
73
|
+
ig_version,
|
|
74
|
+
request_bundle
|
|
66
75
|
)
|
|
67
76
|
end
|
|
68
77
|
|