davinci_pas_test_kit 0.9.0 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/davinci_pas_test_kit/client_suite.rb +1 -169
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/{claim_status/pas_claim_status_test.rb → claim_response_decision/pas_claim_response_decision_test.rb} +10 -27
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_client_must_support_requirement_test.rb +1 -1
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test.rb +4 -1
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/notification/pas_subscription_notification_test.rb +40 -0
- data/lib/davinci_pas_test_kit/docs/client_suite_description_v201.md +167 -0
- data/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md +150 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_inquiry_request_beneficiary_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_submit_request_beneficiary_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_request_beneficiary_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_response_beneficiary_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_request_beneficiary_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_response_beneficiary_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/claim_operation_test.rb +1 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/claim_inquiry_operation_test.rb +1 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquiry_request_claim_inquiry_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/server_inquiry_request_claim_inquiry_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/server_inquiry_response_claiminquiryresponse_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/server_submit_response_claimresponse_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_denial_pas_response_bundle_validation_test.rb +3 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_response_bundle_validation_test.rb +3 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/server_submit_response_communication_request_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_inquiry_request_coverage_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_submit_request_coverage_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_inquiry_request_coverage_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_submit_request_coverage_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/client_submit_request_device_request_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/server_submit_request_device_request_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/client_submit_request_encounter_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/server_submit_request_encounter_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_inquiry_request_insurer_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_submit_request_insurer_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_request_insurer_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_response_insurer_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_request_insurer_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_response_insurer_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/client_submit_request_medication_request_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/server_submit_request_medication_request_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/client_submit_request_nutrition_order_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/server_submit_request_nutrition_order_must_support_test.rb +7 -1
- 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 +5 -1
- 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 +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +4 -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 +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +1 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/client_submit_request_pas_request_bundle_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +4 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_submit_request_pas_request_bundle_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +1 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_submit_response_pas_response_bundle_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_approval_use_case_group.rb +3 -7
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +3 -7
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_must_support_use_case_group.rb +2 -2
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +6 -8
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_inquiry_request_practitioner_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_submit_request_practitioner_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_request_practitioner_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_response_practitioner_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_request_practitioner_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_response_practitioner_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_inquiry_request_practitioner_role_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_submit_request_practitioner_role_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_request_practitioner_role_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_response_practitioner_role_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_request_practitioner_role_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_response_practitioner_role_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_inquiry_request_requestor_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_submit_request_requestor_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_request_requestor_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_response_requestor_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_request_requestor_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_response_requestor_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +2 -153
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/client_submit_request_service_request_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/server_submit_request_service_request_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_inquiry_request_subscriber_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_submit_request_subscriber_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_inquiry_request_subscriber_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_submit_request_subscriber_must_support_test.rb +7 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_inquiry_response_task_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_submit_response_task_must_support_test.rb +5 -1
- data/lib/davinci_pas_test_kit/generator/group_generator.rb +26 -13
- data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +1 -1
- data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +9 -0
- data/lib/davinci_pas_test_kit/must_support_test.rb +6 -2
- data/lib/davinci_pas_test_kit/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35fff0ddc7e7badcd0fe5e9927f9bbafc7be123f908f4eed1f81c8f777189ef4
|
4
|
+
data.tar.gz: 36fa5c2af21fb2ca92ff958a0f96d97aed08dd45c1bdd454cce2f2a4aabe5af1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 954d086d05f047336a216d2d72947ca8d8d1ffaf944a3b29174a15ea7fd73fe75d6a9e26552af08b20d7b33917102903ec9e98f90000fd2228697ab9cb25defb
|
7
|
+
data.tar.gz: 8ed7048ddeaad521eda54110707aa8a55e2e151c0f37c2f0a35ba5a57f2823c121e4b5d97796166340afbda10242650a2a83fe6244a6981d74ae5cf9472c4537
|
@@ -20,175 +20,7 @@ module DaVinciPASTestKit
|
|
20
20
|
id :davinci_pas_client_suite_v201
|
21
21
|
title 'Da Vinci PAS Client Suite v2.0.1'
|
22
22
|
version VERSION
|
23
|
-
description
|
24
|
-
The Da Vinci PAS Test Kit Client Suite validates the conformance of client
|
25
|
-
systems to the STU 2 version of the HL7® FHIR®
|
26
|
-
[Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
|
27
|
-
|
28
|
-
## Scope
|
29
|
-
|
30
|
-
These tests are a **DRAFT** intended to allow PAS client implementers to perform
|
31
|
-
preliminary checks of their clients against PAS IG requirements and [provide
|
32
|
-
feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
|
33
|
-
on the tests. Future versions of these tests may validate other
|
34
|
-
requirements and may change the test validation logic.
|
35
|
-
|
36
|
-
## Test Methodology
|
37
|
-
|
38
|
-
Inferno will simulate a PAS server for the client under test to interact with. The client
|
39
|
-
will be expected to initiate requests to the server and demonstrate its ability to react
|
40
|
-
to the returned responses. Over the course of these interactions,
|
41
|
-
Inferno will seek to observe conformant handling of PAS requirements, including
|
42
|
-
- The ability of the client to initiate and react to
|
43
|
-
- The approval of a prior authorization request
|
44
|
-
- The denial of a prior authorization request
|
45
|
-
- The pending of a prior authorization request and a subsequent final decision
|
46
|
-
- The ability of the client to provide data covering the full scope of required by PAS, including
|
47
|
-
- The ability to send prior auth requests and inquiries with all PAS profiles and all must support elements on
|
48
|
-
those profiles
|
49
|
-
- The ability to handle responses that contain all PAS profiles and all must support elements on those
|
50
|
-
profiles (not included in the current version of these tests)
|
51
|
-
|
52
|
-
Because X12 details, including coded values indicating details like “denied” and “pended”,
|
53
|
-
are not public, Inferno is not currently able to generate a full set of responses to requests
|
54
|
-
or otherwise provide details on specific codes used to represent those concepts
|
55
|
-
and is limited to responses that look similar to the examples in the IG (e.g., [here](https://hl7.org/fhir/us/davinci-pas/STU2/Bundle-ReferralAuthorizationResponseBundleExample.html)).
|
56
|
-
Thus,
|
57
|
-
|
58
|
-
- In order to demonstrate specific workflows, namely pend and denial, users will need to provide the expected
|
59
|
-
response for Inferno to send back
|
60
|
-
- The current tests do not return to the client all PAS profiles and must support elements to confirm support.
|
61
|
-
|
62
|
-
For further details on limitations of these tests, see the *Testing Limitations* section below.
|
63
|
-
|
64
|
-
All requests and responses will be checked for conformance to the PAS
|
65
|
-
IG requirements individually and used in aggregate to determine whether
|
66
|
-
required features and functionality are present. HL7® FHIR® resources are
|
67
|
-
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
68
|
-
|
69
|
-
## Running the Tests
|
70
|
-
|
71
|
-
### Quick Start
|
72
|
-
|
73
|
-
For Inferno to simulate a server that always returns approved responses, it needs
|
74
|
-
only to know the bearer token that the client will send on requests, for which there are two options.
|
75
|
-
|
76
|
-
1. If you want to choose your own bearer token, then
|
77
|
-
1. Select the "2. PAS Client Validation" test from the list on the left.
|
78
|
-
2. Click the '*Run All Tests*' button on the right.
|
79
|
-
3. In the "access_token" field, enter the bearer token that will be sent by the client under test (as part
|
80
|
-
of the Authorization header - Bearer: <provided value>).
|
81
|
-
4. Click the '*Submit*' button at the bottom of the dialog.
|
82
|
-
2. If you want to use a client_id to obtain an access token, then
|
83
|
-
1. Click the '*Run All Tests*' button on the right.
|
84
|
-
2. Provide the client's registered id "client_id" field of the input (NOTE, Inferno doesn't support the
|
85
|
-
registration API, so this must be obtained from another system or configured manually).
|
86
|
-
3. Click the '*Submit*' button at the bottom of the dialog.
|
87
|
-
4. Make a token request that includes the specified client id to the
|
88
|
-
`<inferno host>/custom/davinci_pas_client_suite_v201/mock_auth/token` endpoint to get
|
89
|
-
an access token to use on the request of the requests.
|
90
|
-
|
91
|
-
In either case, the tests will continue from that point, requesting the user to
|
92
|
-
direct the client to make certain requests to demonstrate PAS client capabilities.
|
93
|
-
|
94
|
-
Note: authentication options for these tests have not been finalized and are subject to change.
|
95
|
-
|
96
|
-
### Complete Setup
|
97
|
-
|
98
|
-
The *Quick Start* approach does not test pended or deny workflows. To test these, provide a
|
99
|
-
json-encoded FHIR bundle in the "Claim pended response JSON" and "Claim deny response JSON" input field after
|
100
|
-
clicking the '*Run All Tests*' button. These responses will be echoed back when a request
|
101
|
-
is made during the corresponding test.
|
102
|
-
|
103
|
-
### Postman-based Demo
|
104
|
-
|
105
|
-
If you do not have a PAS client but would like to try the tests out, you can use
|
106
|
-
[this postman collection](https://raw.githubusercontent.com/inferno-framework/davinci-pas-test-kit/blob/main/config/PAS%20Test%20Kit%20Client%20Test%20Demo.postman_collection.json)
|
107
|
-
to make requests against Inferno. The following requests and example responses from that collection can be used.
|
108
|
-
|
109
|
-
- Configuration
|
110
|
-
- *Deny Response* example under the *Homecare Prior Authorization Request*: use as the value of the
|
111
|
-
"Claim denied response JSON" input field. NOTE: this contains a placeholder code `DENIEDCODE` for the
|
112
|
-
X12 code representing the denied status. Replace with the X12-specified code before providing to Inferno
|
113
|
-
to accurately replicate a denial workflow for the client under test.
|
114
|
-
- *Pend Response* example under the *Medical Services Prior Authorization Request*: use as the value of the
|
115
|
-
"Claim pended response JSON" input field. NOTE: this contains a placeholder code `PENDEDCODE` for the
|
116
|
-
X12 code representing the pended status. Replace with the X12-specified code before providing to Inferno
|
117
|
-
to accurately replicate a pend workflow for the client under test.
|
118
|
-
- Submissions
|
119
|
-
- *mock token*: for submitting a client id to get back an access token to use on the rest of the tests. Set the
|
120
|
-
collection's access_token variable to the result.
|
121
|
-
- *Referral Prior Authorization Request*: use for the "Approval" workflow test submission.
|
122
|
-
- *Medical Services Prior Authorization Request*: use for the "Pended" workflow test submission.
|
123
|
-
- *Medical Services Inquiry Request*: use for the "Pended" workflow test inquiry.
|
124
|
-
|
125
|
-
No additional requests are present to submit as a part of the must support tests, so
|
126
|
-
testers can simply click the link to indicate they are done submitting requests. Note
|
127
|
-
that the requests within the Postman client are not expected to fully pass the tests as they
|
128
|
-
do not contain all must support items.
|
129
|
-
|
130
|
-
## Testing Limitations
|
131
|
-
|
132
|
-
### Private X12 details
|
133
|
-
|
134
|
-
HIPAA [requires](https://hl7.org/fhir/us/davinci-pas/STU2/regulations.html) electronic prior authorization
|
135
|
-
processing to use the X12 278 standard. While recent CMS rule-making suggests that [this requirement
|
136
|
-
will not be enforced in the future](https://www.cms.gov/newsroom/fact-sheets/cms-interoperability-and-prior-authorization-final-rule-cms-0057-f),
|
137
|
-
the current PAS IG relies heavily on X12. As the IG authors note at the
|
138
|
-
top of the [IG home page](https://hl7.org/fhir/us/davinci-pas/STU2/index.html):
|
139
|
-
|
140
|
-
> Note that this implementation guide is intended to support mapping between FHIR and X12 transactions. To respect
|
141
|
-
> X12 intellectual property, all mapping and X12-specific terminology information will be solely published by X12
|
142
|
-
> and made available in accordance with X12 rules - which may require membership and/or payment. Please see this
|
143
|
-
> [Da Vinci External Reference page](https://confluence.hl7.org/display/DVP/Da+Vinci+Reference+to+External+Standards+and+Terminologies)
|
144
|
-
> for details on how to get this mapping.
|
145
|
-
>
|
146
|
-
> There are many situationally required fields that are specified in the X12 TRN03 guide that do not have guidance
|
147
|
-
> in this Implementation Guide. Implementers need to consult the X12 PAS guides to know the requirements for these
|
148
|
-
> fields.
|
149
|
-
>
|
150
|
-
> Several of the profiles will require use of terminologies that are part of X12 which we anticipate being made
|
151
|
-
> publicly available. At such time as this occurs, the implementation guide will be updated to bind to these as
|
152
|
-
> external terminologies.
|
153
|
-
|
154
|
-
The implications of this reliance on proprietary information that is not publicly available means that this test
|
155
|
-
kit:
|
156
|
-
|
157
|
-
- Cannot verify the correct usage of X12-based terminology: terminology requirements for all elements bound to X12
|
158
|
-
value sets will not be validated.
|
159
|
-
- Cannot verify the meaning of codes: validation that a given response conveys something specific, e.g., approval
|
160
|
-
or pending, is not performed.
|
161
|
-
- Cannot verify matching semantics on inquiries: no checking of the identity of the ClaimResponse returned for an
|
162
|
-
inquiry, e.g., that it matches the input or the original request.
|
163
|
-
|
164
|
-
These limitations may be removed in future versions of these tests. In the meantime, testers should consider these
|
165
|
-
requirements to be verified through attestation and should not represent their systems to have passed these tests
|
166
|
-
if these requirements are not met.
|
167
|
-
|
168
|
-
### Underspecified Subscription Details
|
169
|
-
|
170
|
-
The current PAS specification around subscriptions and notifications
|
171
|
-
is not detailed enough to support testing. Notably,
|
172
|
-
- There are no examples of what a notification payload looks like
|
173
|
-
- There is no instruction on how to turn the notification payload into an inquiry
|
174
|
-
|
175
|
-
Once these details have been clarified, validation of the notification workflows
|
176
|
-
will be added to these tests.
|
177
|
-
|
178
|
-
### Future Details
|
179
|
-
|
180
|
-
The PAS IG places additional requirements on clients that are not currently tested by this test kit, including
|
181
|
-
|
182
|
-
- Prior Authorization update workflows
|
183
|
-
- Requests for additional information handled through the CDex framework
|
184
|
-
- PDF, CDA, and JPG attachments
|
185
|
-
- US Core profile support for supporting information
|
186
|
-
- The ability to handle responses containing all PAS-defined profiles and must support elements
|
187
|
-
- Most details requiring manual review of the client system, e.g., the requirement that clinicians can update
|
188
|
-
details of the prior authorization request before submitting them
|
189
|
-
|
190
|
-
These and any other requirements found in the PAS IG may be tested in future versions of these tests.
|
191
|
-
)
|
23
|
+
description File.read(File.join(__dir__, 'docs', 'client_suite_description_v201.md'))
|
192
24
|
|
193
25
|
links [
|
194
26
|
{
|
@@ -3,17 +3,20 @@
|
|
3
3
|
|
4
4
|
module DaVinciPASTestKit
|
5
5
|
module DaVinciPASV201
|
6
|
-
class
|
6
|
+
class PasClaimResponseDecisionTest < Inferno::Test
|
7
7
|
# include URLs // used for attestation experiment - see below
|
8
8
|
|
9
|
-
id :
|
10
|
-
title 'Server
|
9
|
+
id :prior_auth_claim_response_decision_validation
|
10
|
+
title 'Server response includes the expected decision code in the ClaimResponse instance'
|
11
11
|
description %(
|
12
|
-
This test aims to confirm that the
|
13
|
-
the
|
14
|
-
(
|
12
|
+
This test aims to confirm that the decision in the returned ClaimResponse matches
|
13
|
+
the decision code required for the workflow under examination.
|
14
|
+
This test is not yet implemented due to limitations in the IG (see details
|
15
|
+
[here](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md#testing-limitations)).
|
16
|
+
It is currently optional and will always be skipped, but will be implemented in the future.
|
15
17
|
)
|
16
18
|
uses_request :pa_submit
|
19
|
+
optional # optional and skipped until implemented
|
17
20
|
|
18
21
|
def status
|
19
22
|
if use_case == 'approval'
|
@@ -24,6 +27,7 @@ module DaVinciPASTestKit
|
|
24
27
|
end
|
25
28
|
|
26
29
|
run do
|
30
|
+
skip
|
27
31
|
# Experiment with extraction of statuses and use in an attestation
|
28
32
|
# Not used due to the following problems:
|
29
33
|
# - no real clients to test with
|
@@ -82,27 +86,6 @@ module DaVinciPASTestKit
|
|
82
86
|
# )
|
83
87
|
#
|
84
88
|
# end of experiment with attestation code
|
85
|
-
|
86
|
-
# TODO: Implement subscription for pended: Inferno will subscribe to the server to receive notification
|
87
|
-
# when the submitted claim status will be updated.
|
88
|
-
if use_case == 'pended'
|
89
|
-
# rubocop:disable Layout/LineLength
|
90
|
-
wait(
|
91
|
-
identifier: use_case,
|
92
|
-
message: %(
|
93
|
-
Inferno has received a 'Pended' claim response as expected.
|
94
|
-
|
95
|
-
Please
|
96
|
-
**[click
|
97
|
-
here](#{Inferno::Application['base_url']}/custom/davinci_pas_server_suite_v201/resume_after_notification?use_case=#{use_case})**
|
98
|
-
when the status of this claim has been finalized to inform Inferno to resume testing.
|
99
|
-
|
100
|
-
Future versions of this test may implement automated monitoring
|
101
|
-
capabilities described in the implementation guide.
|
102
|
-
)
|
103
|
-
)
|
104
|
-
# rubocop:enable Layout/LineLength
|
105
|
-
end
|
106
89
|
end
|
107
90
|
end
|
108
91
|
end
|
@@ -14,6 +14,9 @@ module DaVinciPASTestKit
|
|
14
14
|
PAS Device Request, or PAS Nutrition Order) is observed with all of its must support elements
|
15
15
|
)
|
16
16
|
description %(
|
17
|
+
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test.
|
18
|
+
Errors encountered will be treated as a skip instead of a failure.
|
19
|
+
|
17
20
|
The PAS IG includes four profiles for providing the specifics of the service or product requested
|
18
21
|
in the prior authorization request. Any one of these profiles can be referenced in
|
19
22
|
the must support element `Claim.item.extension:requestedService`:
|
@@ -109,7 +112,7 @@ module DaVinciPASTestKit
|
|
109
112
|
@@resource_type = @resource_type = type # rubocop:disable Style/ClassVars
|
110
113
|
perform_must_support_test(resources)
|
111
114
|
end
|
112
|
-
validate_must_support
|
115
|
+
validate_must_support(true)
|
113
116
|
end
|
114
117
|
end
|
115
118
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module DaVinciPASTestKit
|
2
|
+
module DaVinciPASV201
|
3
|
+
class PasUpdateNotificationTest < Inferno::Test
|
4
|
+
id :prior_auth_claim_response_update_notification_validation
|
5
|
+
title 'Server notifies the client that the pended claim was updated.'
|
6
|
+
description %(
|
7
|
+
This test validates that the server can notify the client that a final
|
8
|
+
decision has been made about a pended claim so that the client can query
|
9
|
+
for the details. Currently, testers attest that the decision on the prior
|
10
|
+
authorization request has been finalized so that Inferno can check the rest of
|
11
|
+
the pended workflow. In the future, Inferno will validate that the server
|
12
|
+
can accept requests for a subscription and send notifications alerting the client
|
13
|
+
to the availability of updates to the prior authorization request (see details on this limitation
|
14
|
+
[here](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md#testing-limitations)).
|
15
|
+
)
|
16
|
+
|
17
|
+
run do
|
18
|
+
# rubocop:disable Layout/LineLength
|
19
|
+
wait(
|
20
|
+
identifier: 'pended',
|
21
|
+
message: %(
|
22
|
+
Inferno has received a 'Pended' claim response indicating that a final decision
|
23
|
+
has not yet been made on the prior authorization request.
|
24
|
+
|
25
|
+
Please
|
26
|
+
**[click
|
27
|
+
here](#{Inferno::Application['base_url']}/custom/davinci_pas_server_suite_v201/resume_after_notification?use_case=pended)**
|
28
|
+
when the status of this claim has been finalized to inform Inferno to resume testing.
|
29
|
+
|
30
|
+
Future versions of this test will validate subscription-based notifications as
|
31
|
+
described within the implementation guide (see
|
32
|
+
[here](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md#testing-limitations)
|
33
|
+
for more details on this current limitation).
|
34
|
+
)
|
35
|
+
)
|
36
|
+
# rubocop:enable Layout/LineLength
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,167 @@
|
|
1
|
+
The Da Vinci PAS Test Kit Client Suite validates the conformance of client
|
2
|
+
systems to the STU 2 version of the HL7® FHIR®
|
3
|
+
[Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
|
4
|
+
|
5
|
+
## Scope
|
6
|
+
|
7
|
+
These tests are a **DRAFT** intended to allow PAS client implementers to perform
|
8
|
+
preliminary checks of their clients against PAS IG requirements and [provide
|
9
|
+
feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
|
10
|
+
on the tests. Future versions of these tests may validate other
|
11
|
+
requirements and may change the test validation logic.
|
12
|
+
|
13
|
+
## Test Methodology
|
14
|
+
|
15
|
+
Inferno will simulate a PAS server for the client under test to interact with. The client
|
16
|
+
will be expected to initiate requests to the server and demonstrate its ability to react
|
17
|
+
to the returned responses. Over the course of these interactions,
|
18
|
+
Inferno will seek to observe conformant handling of PAS requirements, including
|
19
|
+
- The ability of the client to initiate and react to
|
20
|
+
- The approval of a prior authorization request
|
21
|
+
- The denial of a prior authorization request
|
22
|
+
- The pending of a prior authorization request and a subsequent final decision
|
23
|
+
- The ability of the client to provide data covering the full scope of required by PAS, including
|
24
|
+
- The ability to send prior auth requests and inquiries with all PAS profiles and all must support elements on
|
25
|
+
those profiles
|
26
|
+
- The ability to handle responses that contain all PAS profiles and all must support elements on those
|
27
|
+
profiles (not included in the current version of these tests)
|
28
|
+
|
29
|
+
Because X12 details, including coded values indicating details like “denied” and “pended”,
|
30
|
+
are not public, Inferno is not currently able to generate a full set of responses to requests
|
31
|
+
or otherwise provide details on specific codes used to represent those concepts
|
32
|
+
and is limited to responses that look similar to the examples in the IG (e.g., [here](https://hl7.org/fhir/us/davinci-pas/STU2/Bundle-ReferralAuthorizationResponseBundleExample.html)).
|
33
|
+
Thus,
|
34
|
+
|
35
|
+
- In order to demonstrate specific workflows, namely pend and denial, users will need to provide the expected
|
36
|
+
response for Inferno to send back
|
37
|
+
- The current tests do not return to the client all PAS profiles and must support elements to confirm support.
|
38
|
+
|
39
|
+
For further details on limitations of these tests, see the *Testing Limitations* section below.
|
40
|
+
|
41
|
+
All requests and responses will be checked for conformance to the PAS
|
42
|
+
IG requirements individually and used in aggregate to determine whether
|
43
|
+
required features and functionality are present. HL7® FHIR® resources are
|
44
|
+
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
45
|
+
|
46
|
+
## Running the Tests
|
47
|
+
|
48
|
+
### Quick Start
|
49
|
+
|
50
|
+
For Inferno to simulate a server that always returns approved responses, it needs
|
51
|
+
only to know the bearer token that the client will send on requests, for which there are two options.
|
52
|
+
|
53
|
+
1. If you want to choose your own bearer token, then
|
54
|
+
1. Select the "2. PAS Client Validation" test from the list on the left.
|
55
|
+
2. Click the '*Run All Tests*' button on the right.
|
56
|
+
3. In the "access_token" field, enter the bearer token that will be sent by the client under test (as part
|
57
|
+
of the Authorization header - Bearer: <provided value>).
|
58
|
+
4. Click the '*Submit*' button at the bottom of the dialog.
|
59
|
+
2. If you want to use a client_id to obtain an access token, then
|
60
|
+
1. Click the '*Run All Tests*' button on the right.
|
61
|
+
2. Provide the client's registered id "client_id" field of the input (NOTE, Inferno doesn't support the
|
62
|
+
registration API, so this must be obtained from another system or configured manually).
|
63
|
+
3. Click the '*Submit*' button at the bottom of the dialog.
|
64
|
+
4. Make a token request that includes the specified client id to the
|
65
|
+
`<inferno host>/custom/davinci_pas_client_suite_v201/mock_auth/token` endpoint to get
|
66
|
+
an access token to use on the request of the requests.
|
67
|
+
|
68
|
+
In either case, the tests will continue from that point, requesting the user to
|
69
|
+
direct the client to make certain requests to demonstrate PAS client capabilities.
|
70
|
+
|
71
|
+
Note: authentication options for these tests have not been finalized and are subject to change.
|
72
|
+
|
73
|
+
### Complete Setup
|
74
|
+
|
75
|
+
The *Quick Start* approach does not test pended or deny workflows. To test these, provide a
|
76
|
+
json-encoded FHIR bundle in the "Claim pended response JSON" and "Claim deny response JSON" input field after
|
77
|
+
clicking the '*Run All Tests*' button. These responses will be echoed back when a request
|
78
|
+
is made during the corresponding test.
|
79
|
+
|
80
|
+
### Postman-based Demo
|
81
|
+
|
82
|
+
If you do not have a PAS client but would like to try the tests out, you can use
|
83
|
+
[this postman collection](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/config/PAS%20Test%20Kit%20Client%20Test%20Demo.postman_collection.json)
|
84
|
+
to make requests against Inferno. The following requests and example responses from that collection can be used.
|
85
|
+
|
86
|
+
- Configuration
|
87
|
+
- *Deny Response* example under the *Homecare Prior Authorization Request*: use as the value of the
|
88
|
+
"Claim denied response JSON" input field. NOTE: this contains a placeholder code `DENIEDCODE` for the
|
89
|
+
X12 code representing the denied status. Replace with the X12-specified code before providing to Inferno
|
90
|
+
to accurately replicate a denial workflow for the client under test.
|
91
|
+
- *Pend Response* example under the *Medical Services Prior Authorization Request*: use as the value of the
|
92
|
+
"Claim pended response JSON" input field. NOTE: this contains a placeholder code `PENDEDCODE` for the
|
93
|
+
X12 code representing the pended status. Replace with the X12-specified code before providing to Inferno
|
94
|
+
to accurately replicate a pend workflow for the client under test.
|
95
|
+
- Submissions
|
96
|
+
- *mock token*: for submitting a client id to get back an access token to use on the rest of the tests. Set the
|
97
|
+
collection's access_token variable to the result.
|
98
|
+
- *Referral Prior Authorization Request*: use for the "Approval" workflow test submission.
|
99
|
+
- *Medical Services Prior Authorization Request*: use for the "Pended" workflow test submission.
|
100
|
+
- *Medical Services Inquiry Request*: use for the "Pended" workflow test inquiry.
|
101
|
+
|
102
|
+
No additional requests are present to submit as a part of the must support tests, so
|
103
|
+
testers can simply click the link to indicate they are done submitting requests. Note
|
104
|
+
that the requests within the Postman client are not expected to fully pass the tests as they
|
105
|
+
do not contain all must support items.
|
106
|
+
|
107
|
+
## Testing Limitations
|
108
|
+
|
109
|
+
### Private X12 details
|
110
|
+
|
111
|
+
HIPAA [requires](https://hl7.org/fhir/us/davinci-pas/STU2/regulations.html) electronic prior authorization
|
112
|
+
processing to use the X12 278 standard. While recent CMS rule-making suggests that [this requirement
|
113
|
+
will not be enforced in the future](https://www.cms.gov/newsroom/fact-sheets/cms-interoperability-and-prior-authorization-final-rule-cms-0057-f),
|
114
|
+
the current PAS IG relies heavily on X12. As the IG authors note at the
|
115
|
+
top of the [IG home page](https://hl7.org/fhir/us/davinci-pas/STU2/index.html):
|
116
|
+
|
117
|
+
> Note that this implementation guide is intended to support mapping between FHIR and X12 transactions. To respect
|
118
|
+
> X12 intellectual property, all mapping and X12-specific terminology information will be solely published by X12
|
119
|
+
> and made available in accordance with X12 rules - which may require membership and/or payment. Please see this
|
120
|
+
> [Da Vinci External Reference page](https://confluence.hl7.org/display/DVP/Da+Vinci+Reference+to+External+Standards+and+Terminologies)
|
121
|
+
> for details on how to get this mapping.
|
122
|
+
>
|
123
|
+
> There are many situationally required fields that are specified in the X12 TRN03 guide that do not have guidance
|
124
|
+
> in this Implementation Guide. Implementers need to consult the X12 PAS guides to know the requirements for these
|
125
|
+
> fields.
|
126
|
+
>
|
127
|
+
> Several of the profiles will require use of terminologies that are part of X12 which we anticipate being made
|
128
|
+
> publicly available. At such time as this occurs, the implementation guide will be updated to bind to these as
|
129
|
+
> external terminologies.
|
130
|
+
|
131
|
+
The implications of this reliance on proprietary information that is not publicly available means that this test
|
132
|
+
kit:
|
133
|
+
|
134
|
+
- Cannot verify the correct usage of X12-based terminology: terminology requirements for all elements bound to X12
|
135
|
+
value sets will not be validated.
|
136
|
+
- Cannot verify the meaning of codes: validation that a given response conveys something specific, e.g., approval
|
137
|
+
or pending, is not performed.
|
138
|
+
- Cannot verify matching semantics on inquiries: no checking of the identity of the ClaimResponse returned for an
|
139
|
+
inquiry, e.g., that it matches the input or the original request.
|
140
|
+
|
141
|
+
These limitations may be removed in future versions of these tests. In the meantime, testers should consider these
|
142
|
+
requirements to be verified through attestation and should not represent their systems to have passed these tests
|
143
|
+
if these requirements are not met.
|
144
|
+
|
145
|
+
### Underspecified Subscription Details
|
146
|
+
|
147
|
+
The current PAS specification around subscriptions and notifications
|
148
|
+
is not detailed enough to support testing. Notably,
|
149
|
+
- There are no examples of what a notification payload looks like
|
150
|
+
- There is no instruction on how to turn the notification payload into an inquiry
|
151
|
+
|
152
|
+
Once these details have been clarified, validation of the notification workflows
|
153
|
+
will be added to these tests.
|
154
|
+
|
155
|
+
### Future Details
|
156
|
+
|
157
|
+
The PAS IG places additional requirements on clients that are not currently tested by this test kit, including
|
158
|
+
|
159
|
+
- Prior Authorization update workflows
|
160
|
+
- Requests for additional information handled through the CDex framework
|
161
|
+
- PDF, CDA, and JPG attachments
|
162
|
+
- US Core profile support for supporting information
|
163
|
+
- The ability to handle responses containing all PAS-defined profiles and must support elements
|
164
|
+
- Most details requiring manual review of the client system, e.g., the requirement that clinicians can update
|
165
|
+
details of the prior authorization request before submitting them
|
166
|
+
|
167
|
+
These and any other requirements found in the PAS IG may be tested in future versions of these tests.
|
@@ -0,0 +1,150 @@
|
|
1
|
+
The Da Vinci PAS Server Suite validates the conformance of server systems
|
2
|
+
to the STU 2 version of the HL7® FHIR®
|
3
|
+
[Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
|
4
|
+
|
5
|
+
## Scope
|
6
|
+
|
7
|
+
These tests are a **DRAFT** intended to allow PAS server implementers to perform
|
8
|
+
preliminary checks of their servers against PAS IG requirements and [provide
|
9
|
+
feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
|
10
|
+
on the tests. Future versions of these tests may validate other
|
11
|
+
requirements and may change the test validation logic.
|
12
|
+
|
13
|
+
## Test Methodology
|
14
|
+
|
15
|
+
Inferno will simulate a client and make a series of prior authorization requests to the
|
16
|
+
server under test. Over the course of these requests, Inferno will seek to observe
|
17
|
+
conformant handling of PAS requirements, including
|
18
|
+
- The ability of the server to use PAS API interactions to communicate
|
19
|
+
- Approval of a prior authorization request
|
20
|
+
- Denial of a prior authorization request
|
21
|
+
- Pending of a prior authorization request and a subsequent final decision
|
22
|
+
- Inability to process a prior authorization request
|
23
|
+
- The ability of the server to handle the full scope of data required by PAS, including
|
24
|
+
- Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
|
25
|
+
- Ability to return responses that demonstrate the use of all PAS profiles and all must support elements on those profiles
|
26
|
+
|
27
|
+
Because the business logic that determines decisions and the elements populated in responses
|
28
|
+
Is outside of the PAS specification and will vary between implementers, testers
|
29
|
+
are required to provide the requests that Inferno will make to the server.
|
30
|
+
|
31
|
+
All requests and responses will be checked for conformance to the PAS
|
32
|
+
IG requirements individually and used in aggregate to determine whether
|
33
|
+
required features and functionality are present. HL7® FHIR® resources are
|
34
|
+
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
35
|
+
|
36
|
+
These tests do not currently test the full scope of the IG. See the *Testing Limitations* section below
|
37
|
+
for more details about the current scope of the tests and the reasons that some details have been left out.
|
38
|
+
|
39
|
+
## Running the Tests
|
40
|
+
|
41
|
+
### Quick Start
|
42
|
+
|
43
|
+
Execution of these tests require a significant amount of tester input in the
|
44
|
+
form of requests that Inferno will make against the server under test.
|
45
|
+
|
46
|
+
If you would like to try out the tests using examples from the IG against the
|
47
|
+
[public reference server endpoint](https://prior-auth.davinci.hl7.org/fhir) ([code on github](https://github.com/HL7-DaVinci/prior-auth)), you can do so by
|
48
|
+
1. Selecting the *Prior Authorization Support Reference Implementation* option from the Preset dropdown in the upper left
|
49
|
+
2. Clicking the *Run All Tests* button in the upper right
|
50
|
+
3. Clicking the *Submit* button at the bottom of the input dialog
|
51
|
+
|
52
|
+
You can run these tests using your own server by updating the "FHIR Server Endpoint URL" and "OAuth Credentials" inputs.
|
53
|
+
|
54
|
+
Note that:
|
55
|
+
- the inputs for these tests are not complete and systems are not expected to pass the tests based on them.
|
56
|
+
- the public reference server has not been updated to reflect the STU2 version that these tests target,
|
57
|
+
so expect some additional failures when testing against it.
|
58
|
+
|
59
|
+
## Test Configuration Details
|
60
|
+
|
61
|
+
The details provided here supplement the documentation of individual fields in the input dialog
|
62
|
+
that appears when initiating a test run.
|
63
|
+
|
64
|
+
### Server identification
|
65
|
+
|
66
|
+
Requests will be made to the `/Claim/$submit` and `/Claim/$inquire` endpoints under the url provided in the "FHIR Server Endpoint URL" field.
|
67
|
+
|
68
|
+
### Authentication
|
69
|
+
|
70
|
+
The PAS IG states that
|
71
|
+
|
72
|
+
> "PAS Servers **SHOULD** support server-server OAuth… In a future release of this guide, direction will limit the option to [require] server-server OAuth."
|
73
|
+
|
74
|
+
The PAS test kit currently assumes that the handshake has already occurred and requires
|
75
|
+
that a bearer token be provided in the “OAuth Credentials / Access Token” configuration
|
76
|
+
field. Inferno will submit this token on all requests it makes to the server as a part of
|
77
|
+
executing the tests. A complete backend server authentication handshake may be supported
|
78
|
+
in future versions of the test kit.
|
79
|
+
|
80
|
+
### Payload
|
81
|
+
|
82
|
+
All other inputs are for providing bundles for Inferno to submit as a part of the tests. To avoid placing
|
83
|
+
requirements on the business logic, Inferno does not have standard requests to send as a part of the tests
|
84
|
+
and instead relies on the tester to provide the requests that Inferno will make.
|
85
|
+
|
86
|
+
For single-request fields (e.g., “PAS Submit Request Payload for Approval Response”), the input must be a json-encoded FHIR bundle.
|
87
|
+
|
88
|
+
For multiple-request fields (e.g., “Additional PAS Submit Request Payloads”), the input must be a json array of json-encoded FHIR bundles (e.g., [fhir-bundle-1, fhir-bundle-2, …] where each fhir-bundle-n is a full bundle).
|
89
|
+
|
90
|
+
## Testing Limitations
|
91
|
+
|
92
|
+
### Private X12 details
|
93
|
+
|
94
|
+
HIPAA [requires](https://hl7.org/fhir/us/davinci-pas/STU2/regulations.html) electronic prior authorization
|
95
|
+
processing to use the X12 278 standard. While recent CMS rule-making suggests that [this requirement
|
96
|
+
will not be enforced in the future](https://www.cms.gov/newsroom/fact-sheets/cms-interoperability-and-prior-authorization-final-rule-cms-0057-f),
|
97
|
+
the current PAS IG relies heavily on X12. As the IG authors note at the
|
98
|
+
top of the [IG home page](https://hl7.org/fhir/us/davinci-pas/STU2/):
|
99
|
+
|
100
|
+
> Note that this implementation guide is intended to support mapping between FHIR and X12 transactions. To respect
|
101
|
+
> X12 intellectual property, all mapping and X12-specific terminology information will be solely published by X12
|
102
|
+
> and made available in accordance with X12 rules - which may require membership and/or payment. Please see this
|
103
|
+
> [Da Vinci External Reference page](https://confluence.hl7.org/display/DVP/Da+Vinci+Reference+to+External+Standards+and+Terminologies)
|
104
|
+
> for details on how to get this mapping.
|
105
|
+
>
|
106
|
+
> There are many situationally required fields that are specified in the X12 TRN03 guide that do not have guidance
|
107
|
+
> in this Implementation Guide. Implementers need to consult the X12 PAS guides to know the requirements for these
|
108
|
+
> fields.
|
109
|
+
>
|
110
|
+
> Several of the profiles will require use of terminologies that are part of X12 which we anticipate being made
|
111
|
+
> publicly available. At such time as this occurs, the implementation guide will be updated to bind to these as
|
112
|
+
> external terminologies.
|
113
|
+
|
114
|
+
The implications of this reliance on proprietary information that is not publicly available means that this test
|
115
|
+
kit:
|
116
|
+
|
117
|
+
- Cannot verify the correct usage of X12-based terminology: terminology requirements for all elements bound to X12
|
118
|
+
value sets will not be validated.
|
119
|
+
- Cannot verify the meaning of codes: validation that a given response conveys something specific, e.g., approval
|
120
|
+
or pending, is not performed.
|
121
|
+
- Cannot verify matching semantics on inquiries: no checking of the identity of the ClaimResponse returned for an
|
122
|
+
inquiry, e.g., that it matches the input or the original request.
|
123
|
+
|
124
|
+
These limitations may be removed in future versions of these tests. In the meantime, testers should consider these
|
125
|
+
requirements to be verified through attestation and should not represent their systems to have passed these tests
|
126
|
+
if these requirements are not met.
|
127
|
+
|
128
|
+
### Underspecified Subscription Details
|
129
|
+
|
130
|
+
The current PAS specification around subscriptions and notifications
|
131
|
+
is not detailed enough to support testing. Notably,
|
132
|
+
- There are no examples of what a notification payload looks like
|
133
|
+
- There is no instruction on how to turn the notification payload into an inquiry
|
134
|
+
|
135
|
+
Once these details have been clarified, validation of the notification workflows
|
136
|
+
will be added to these tests.
|
137
|
+
|
138
|
+
### Future Details
|
139
|
+
|
140
|
+
The PAS IG places additional requirements on servers that are not currently tested by this test kit, including
|
141
|
+
|
142
|
+
- Prior Authorization update workflows
|
143
|
+
- Requests for additional information handled through the CDex framework
|
144
|
+
- PDF, CDA, and JPG attachments
|
145
|
+
- US Core profile support for supporting information
|
146
|
+
- Inquiry matching and subsetting logic
|
147
|
+
- Inquiry requests from non-submitting systems
|
148
|
+
- Collection of metrics
|
149
|
+
|
150
|
+
These and any other requirements found in the PAS IG may be tested in future versions of these tests.
|