-
Notifications
You must be signed in to change notification settings - Fork 4
Server Walkthrough
This document provides a step-by-step guide for running the Da Vinci PAS Test Kit to test a server system (payer). In this scenario, Inferno acts as the PAS client.
This example uses pre-configured inputs to test against the public Da Vinci PAS reference implementation. This is useful for understanding the test flow.
- Navigate to Inferno: Open your Inferno instance and select "Da Vinci Prior Authorization Support (PAS) v2.0.1" test kit.
-
Create a Test Session:
- Choose the "Da Vinci PAS Server Suite v2.0.1".
-
Select Preset:
- From the "Preset" dropdown menu (usually located in the top-left of the test suite page), select "Prior Authorization Support Reference Implementation".
- This action will automatically populate various input fields, such as the FHIR server endpoint and sample request payloads, with values appropriate for the public reference server.
-
Run All Tests:
- Click the "Run All Tests" button (typically found in the top-right).
-
Submit Inputs:
- A dialog will appear showing the pre-filled inputs from the preset. You can review them if you wish.
- Click the "SUBMIT" button (usually at the bottom-right of the dialog).
-
Monitor Execution:
- Inferno will begin executing the test sequences against the configured reference server. This process includes:
-
Subscription Setup: Inferno sends a
Subscriptionresource (defined in the preset inputs) to the server. The server is expected to process this and be ready to send notifications to an Inferno-hosted endpoint when relevant events occur. -
Core Workflows (Approval, Denial, Pended, Error): Inferno sends various
$submitand$inquireFHIR Bundle requests (also from preset inputs) to the server. It then validates the server's responses for conformance and correctness according to the expected workflow outcome. - For the pended workflow, after sending a request that should result in a pended status, Inferno will wait for a notification from the server (triggered by the earlier
Subscription) before proceeding with a$inquirerequest to get the final decision.
-
Subscription Setup: Inferno sends a
- Inferno will begin executing the test sequences against the configured reference server. This process includes:
-
Review Results:
- Once all tests have completed, Inferno will display the results.
- Note: The public reference server may not always be perfectly aligned with the STU2 version of the PAS IG that these tests target. Therefore, some failures or warnings might be observed when testing against it. This is normal and primarily serves to demonstrate the test execution flow.
This section details how to configure and run the tests against your own PAS server implementation.
- Navigate to Inferno: Open your Inferno instance and select "Da Vinci Prior Authorization Support (PAS) v2.0.1" test kit.
-
Create a Test Session:
- Choose the "Da Vinci PAS Server Suite v2.0.1".
-
Configure Inputs:
- When you select a specific test group (e.g., "Approval Workflow") or click "Run All Tests", an input dialog will appear. You must provide the following information tailored to your server:
-
FHIR Server Endpoint URL: The base FHIR URL of your PAS server (e.g.,
https://your-pas-server.com/fhir). Inferno will append/Claim/$submit,/Claim/$inquire, and/Subscriptionto this base URL. -
OAuth Credentials / Access Token: If your server requires OAuth 2.0 authentication for its PAS endpoints, provide a valid Bearer token here. Inferno will include this token in the
Authorizationheader of all requests it makes to your server. -
PAS Submit Request Payload for Approval Response: A complete JSON-encoded FHIR Bundle. This bundle should be a
$submitrequest that, when sent to your server, is expected to result in a prior authorization approval. -
PAS Submit Request Payload for Denial Response: A JSON FHIR Bundle for a
$submitrequest that should lead to a denial from your server. -
PAS Submit Request Payload for Pended Response: A JSON FHIR Bundle for a
$submitrequest that should cause your server to return a pended status. -
PAS Inquire Request Payload for Pended Claim: A JSON FHIR Bundle for a
$inquirerequest. This request should be for the claim that was previously pended, and your server is expected to return the final decision (e.g., approval or denial). -
PAS Submit Request Payload for Error Response (Optional but Recommended): A JSON FHIR Bundle for a
$submitrequest that is malformed or should otherwise cause your server to return an error (typically anOperationOutcome). -
Additional PAS Submit Request Payloads (Optional): A JSON array of JSON FHIR Bundles (e.g.,
[bundle1, bundle2]). These are used to test must-support elements more comprehensively by submitting varied requests. -
Additional PAS Inquire Request Payloads (Optional): Similar to the above, but for
$inquireoperations. -
Pended Prior Authorization Subscription: A JSON FHIR
Subscriptionresource body. Inferno will POST this to your server's/Subscriptionendpoint. ThisSubscriptionshould be crafted so that your server sends notifications to Inferno when the pended prior authorization request (from "PAS Submit Request Payload for Pended Response") is updated with a final decision. Inferno will automatically modify thechannel.endpointin this providedSubscriptionto its own dynamically generated notification listener URL. -
Notification Access Token: If your server, when sending a notification to Inferno's endpoint, requires an
Authorizationheader with a Bearer token, provide that token here.
-
FHIR Server Endpoint URL: The base FHIR URL of your PAS server (e.g.,
- When you select a specific test group (e.g., "Approval Workflow") or click "Run All Tests", an input dialog will appear. You must provide the following information tailored to your server:
-
Run Tests:
- After configuring the inputs, select a specific test group or "Run All Tests".
- Click the "RUN TESTS" button.
- If you haven't already, fill in all required inputs in the dialog.
- Click "SUBMIT".
-
Monitor and Ensure Server Readiness:
- Inferno will begin sending requests to your server. Ensure your server is running, accessible from the Inferno instance, and correctly configured to handle PAS requests.
-
For the Pended Workflow:
- Your server must successfully process the
Subscriptionresource POSTed by Inferno. - When the claim submitted via "PAS Submit Request Payload for Pended Response" is finalized by your server's internal logic, your server must send a notification (as per the active
Subscription) to the endpoint Inferno provided (visible in the test execution logs orSubscriptionresource details). - Inferno will wait for this notification before sending the "PAS Inquire Request Payload for Pended Claim".
- Your server must successfully process the
-
Review Results:
- After the tests complete, carefully review the results in Inferno. Pay close attention to any failures or warnings, as they indicate potential non-conformance with the PAS IG. The details of each test execution, including requests sent and responses received, can be inspected.
Refer to the Server Test Suite Description for more in-depth explanations of each input field, authentication, and specific testing limitations.
Test kit documentation is stored within the ./docs folder of
this repository and is automatically synchronized to this wiki with each update
to the main branch using the Publish Docs Wiki
workflow. Do not change content
within this wiki directly as changes will be overwritten.
Using this Test Kit
Client Suite
Server Suite
Contributing to this Test Kit
Reference Documents & External Links