Da Vinci Prior Authorization Support (PAS) FHIR IG
2.1.0-preview - STU 2 United States of America flag

Da Vinci Prior Authorization Support (PAS) FHIR IG, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.1.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-pas/ and changes regularly. See the Directory of published versions

Formal Specification

Page standards status: Informative

Previous Page - HIPAA Regulations

This section of the implementation guide defines the specific conformance requirements for systems wishing to conform to this Prior Authorization Support implementation guide. The bulk of it focuses on the Claim $submit operation, though it also provides guidance on privacy, security and other implementation requirements.

Context

Pre-reading

Before reading this formal specification, implementers should first familiarize themselves with two other key portions of the specification:

  • The Use Cases & Overview page provides context for what this formal specification is trying to accomplish and will give a sense of both the business context and general process flow enabled by the formal specification below.

  • The Technical Background page provides information about the underlying specifications and indicates what portions of them should be read and understood to have the necessary foundation to understand the constraints and usage guidance described here.

Conventions

This implementation guide uses specific terminology to flag statements that have relevance for the evaluation of conformance with the guide:

  • SHALL indicates requirements that must be met to be conformant with the specification.

  • SHOULD indicates behaviors that are strongly recommended (and which may result in interoperability issues or sub-optimal behavior if not adhered to), but which do not, for this version of the specification, affect the determination of specification conformance.

  • MAY describes optional behaviors that are free to consider but where there is no recommendation for or against adoption.

Systems

This implementation guide sets expectations for two types of systems:

  • Client systems are electronic medical records, pharmacy systems (for drugs that are part of a medical benefit) and other clinical and administrative systems responsible for requesting prior authorizations
  • Payer systems are systems run by insurers, clearing houses and other organizations that are responsible for relaying or responding to requests for prior authorization

Profiles

This specification makes significant use of FHIR profiles and terminology artifacts to describe the content to be shared as part of prior authorization requests and responses.

The full set of profiles defined in this implementation guide can be found by following the links on the Artifacts page.

Integration with other Implementation Guides

  • Along with the profiles defined in the PAS implementation guide, implementations SHALL also support the US Core R4 profiles for Condition, Observation, and Procedure. They SHOULD support any other profiles relevant to the types of prior authorizations they process.
  • Clients and Servers supporting this implementation guide SHOULD also comply with the Da Vinci Coverage Requirements Discovery (CRD) and Documentation Templates and Rules (DTR) implementation guides.
  • Every system claiming conformance to this IG SHALL comply with the Security and Privacy page in the Da Vinci HRex guide. The FHIR implementer's Safety Checklist helps implementers be sure that they have considered all the parts of FHIR that impact their system design regarding privacy, security, provenance, and safety.
  • Implementers of this IG SHOULD support the endpoint discovery mechanism defined in the HRex specification to allow discovery of the endpoints used in this IG - specifically the davinci_pas_submission_endpoint which is used for $submit and $inquire operations.

Detailed Requirements

Summary

NOTE FHIR uses a pair of resources called Claim and ClaimResponse for multiple purposes - they are used for actual claim submission, but they are also used for managing prior authorizations and pre-determinations. These are distinguished by the Claim.use code. All references to Claim and ClaimResponse in this implementation guide are using it for the prior authorization purpose. In any element description, where tense is part of the description, it should be interpreted in the context of a prior authorization.

The primary interaction supported by this implementation guide is submitting a prior authorization request and receiving back a response. To perform this, a PASBundle resource is constructed by the client (EHR) system. That Bundle will contain a Claim resource (which FHIR uses to submit prior authorization requests), together with various referenced resources needed to support the population of the 5010 version of the ASC X12N 278 prior authorization request and the 6020 version of the ASC X12N 275 additional documentation transactions.

PAS Bundle Content
Figure 5.1 - PAS Bundle Content

This Bundle will then be sent as the sole payload of a Claim submit operation. The system on which the operation is invoked will convert the Bundle into an ASC X12N 278 and 0..* additional unsolicited 275 transactions and execute them all against the target payer system. It will then take the resulting 278 response and convert it into a response FHIR Bundle containing a ClaimResponse and associated resources. All of this SHOULD happen synchronously with a maximum of 15 seconds between the user initiating the prior authorization request and seeing the resulting response - i.e. including network transmission time for request and response. (Less time is better.)

In the event that the prior authorization cannot be evaluated and a final response returned within the required timeframe, a response in which one or more of the requested authorization items are 'pended' will be returned. A subscription-based mechanism can then be used by the client to be informed of updates to the authorization. As well, the client (or other interested systems - e.g. patient, caregiver or performing provider systems) can use the Claim inquire operation to query for the final results. During this period of time, the same Claim submit operation can be used to request cancellation or modification of the prior authorization.

PAS Submission Sequence Diagram
Figure 5.2 - PAS Submission Sequence

Prior Authorization Submission

The Claim submit operation is executed by POSTing a FHIR Bundle to the [base url]/Claim/$submit endpoint. When an EHR configures itself to support a payer's PAS service, it will need to identify which Payer(s) the service supports such that it can ensure that the EHR only sends service calls to PAS services that the patient has current coverage for. The payer endpoint is responsible for any internal routing based on which processing organization handles the decisions. For this purpose, payer means 'The organization listed on the member's insurance card'. Provider and EHR Vendor organizations MAY leverage the [payer registry] developed by PDex (which will eventually fold into the national directory under FAST) as a means of determining which endpoints exist for which payers as candidates for configuration.

The Bundle SHALL be encoded in JSON. The first entry in the Bundle SHALL be a Claim resource complying with the profile defined in this IG to ensure the content is sufficient to appropriately populate an X12N 278 message. Additional Bundle entries SHALL be populated with any resources referenced by the Claim resource (and any resources referenced by those resources, fully traversing all references and complying with all identified profiles). Note that even if a given resource instance is referenced multiple times, it SHALL only appear in the Bundle once. E.g., if the same Practitioner information is referenced in multiple places, only one Practitioner instance should be created - referenced from multiple places as appropriate. Bundle.entry.fullUrl values SHALL be:

  • the URL at which the resource is available from the EHR if exposed via the client's REST interface; or
  • the form "urn:uuid:[some guid]"

All GUIDs used SHALL be unique, including across independent prior authorization submissions - with the exception that the same resource instance being referenced in distinct prior authorization request Bundles can have the same GUID.

In addition to these core elements needed to populate the 278 message, any "supporting information" resources needed to process the prior authorization request (whether determined by DTR processes or by other means) must also be included in the Bundle. Relevant resources referenced by those "supporting information" resources SHALL also be included (e.g. prescriber Practitioner and Medication for a MedicationRequest). Any such resource that has a US Core profile SHALL comply with the relevant US Core profiles. All "supporting information" resources included in the Bundle SHALL be pointed to by the Claim resource using the Claim.supportingInfo.valueReference element. To attach non-FHIR instnace data such as PDFs, CDAs, JPGs, a DocumentReference instance should be used. The Claim.supportingInfo.sequence for each entry SHALL be unique within the Claim.

All resources SHALL comply with their respective profiles. FHIR elements not marked as 'must support' MAY be included in resources within the Bundle, but client systems should have no expectation of such elements being processed by the payer unless prior arrangements have been made. Systems that do not process such elements SHALL ignore unsupported elements unless they are 'modifier' elements, in which case the system MAY treat the presence of the element as an error.

Details on how to map the FHIR Bundle to the relevant X12N 278 and 275 messages are expected to be published by ASC X12N. The mapping for the 278 Request and Response will be whatever is currently mandated by HIPAA and the mapping for the 278 Inquiry and Response will be the compatible version. The system is responsible for performing full conversion of all mapped elements, including execution of terminology translations when necessary. In addition, the system SHALL make the entire PAS FHIR Bundle available to the intended payer. The method may be based on the X12 275 or another method that trading partners have agreed to use. This serves two purposes - it provides full audit traceability for the payer and it also allows the payer to directly process the FHIR content, potentially extracting elements not present in the X12 messages if needed. (Note: there is no requirement that payers take any such action.). If the X12 275 is used for this purpose, the 275 BDS01 Filter ID Code element SHALL be set to "B64". Since the 275 binary segment doesn't contain a field for the binary data MIME type, any system reading that field will have to parse out the first few characters to determine whether the FHIR resources are encoded using XML or JSON syntax. 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. All the data required for an X12N 278 is included in the FHIR Bundle request and response, to stay in compliance with HIPAA transaction requirements.

The mapping of Claim.item is driven by the X12 workflow with the use of identifiers on claim items. Although X12 allows this, the Financial Management workgroup has not seen this in other standards and other jurisdictions. This Implementation Guide uses extensions for the various item identifiers, but should this pattern be found to predominate then this may be promoted to an element in the base resource.

This IG treats everything that happens beyond the defined operations endpoint receiving the FHIR bundle as a black box. This black box includes any business associate(s), clearinghouse(s), payers, contracted review entities, and other intermediaries that may be involved in the PA request and response. It is up to that black box to ensure that any regulatory requirements are met and to perform all processing within the allowed timeframe.

Processing Prior Authorization Submissions under the CMS Exception

The following confluence page is still being worked on and may not be complete at this time.

There is an HL7 Confluence Page that is intended to provide guidance for how to process Prior Authorization submissions under the CMS Exception.

Prior Authorization Response

The response to the prior authorization is processed in the reverse order as the request. The system is responsible for converting the ASC X12N 278 response into a FHIR Bundle. The Bundle SHALL start with a ClaimResponse entry that contains information mapped from the 278 response. Just like for the prior authorization request, additional Bundle entries must be present for all resources referenced by the ClaimResponse or descendent references. When converting additional Bundle entries, the conversion process SHALL ensure that only one resource is created for a given combination of content. E.g. if the same Practitioner information is referenced in multiple places, only one Practitioner instance should be created - referenced from multiple places as appropriate. 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.

It is possible that the incoming prior authorization Bundle can not be processed due to validation errors or other non-business-errors. In these instances, the receiving system SHALL return OperationOutcome instances that detail why the Bundle could not be processed and no ClaimResponse will be returned. These errors are NOT the errors that are detected by the system processing the request and that can be conveyed in a ClaimResponse via the error capability.

The resulting Bundle is returned as the HTTP body of the POST response.

Prior Authorization Request and Response Example

This is an example of a standard Referral Request / Response sequence between a Primary Care Provider and a Utilization Management Organization. The request example will show how a PCP can request a referral to a specialist for a patient from a UMO. The response example will also show the response.

Joe Smith is a subscriber to Maryland Capital Insurance Company. During a regular physical, Dr. James Gardener, Joe’s primary care physician, diagnoses a potential heart problem. Dr. Gardener determines that it would be best to refer Joe to Dr. Susan Watson, a cardiologist, for a consultation.

Dr. Gardener is required by Maryland Capital Insurance to submit a request for review seeking approval to refer Joe to Dr. Watson.

After review, Maryland Capital approves the referral and responds.

Prior Authorization Transaction Error Handling

This section was added in the May 2022 ballot of PAS and we are seeking balloter feedback on it.

The need for predictable exchanges of transaction error conditions with PAS to exchange information between providers, intermediaries and payers cannot be overstated. This section describes the various error conditions the PAS exchange may encounter and the appropriate method of reporting them to the initiating provider. 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.

Business errors that are a part of the processing of the 278 payload, eg. in the AAA segments, are represented in the mapping to the response bundle.

All transactions in PAS are synchronous and SHALL require one of the following HTTP responses:

HTTP Responses
  • 2XX – transaction submission succeeded
  • 4XX – transaction failed – bad request - failures are not recoverable by resubmission of the transaction. There will be an OperationOutcome returned that can be reviewed to determine the actual failure
  • 5XX – transaction failed – service unavailable or timeout - failures that may be temporary and resubmission may result in successful processing. NOTE that no OperationOutcome will be returned in this instance

If an OperationOutcome is received, it may have information regarding errors that should be addressed in the future, but did not cause the transaction to fail. NOTE: These errors should not be returned to the provider but should be reviewed and addressed by technical staff.

OperationOutcome Data Elements
Element Cardinality Datatype Information
Severity 1..1 code fatal, error, warning, information
Code 1..1 code IssueType
Details 0..1 CodeableConcept additional code that clarifies the issue type
Diagnostics 0..1 string addl information (response from validation, TA1, 999)
Expression 0..* string FHIRPath of element(s)

See the OperationOutcome resource for more information.

Prior Authorization Workflow Diagrams

Here are two workflow diagrams that show the sending of a request, the receiving of a response, and optional error handing. The diagrams show an optional second intermediary.

PAS Two Intermediaries Workflow
Figure 5.3 - PAS Workflow with Two Intermediaries
PAS Pended Transactions Workflow
Figure 5.4 - PAS Workflow for pended transactions

Prior Authorization Inquiries

The prior authorization inquiry operation allows for inquiries about prior authorization submissions. This inquiry can be used for checking on updates to 'pended' authorization responses (see below), for other systems checking the status of a request (see below), and for generic inquiries. Providers are expected to perform the same query-by-example inquiry even under the CMS exception. This Implementation Guide does not specify a different way of searching for prior authorizations in the exception case.

Clients SHALL perform this operation in an automated/background manner no more than every 5 minutes for the first 30 minutes and and no more frequently than once every hour after that. Clients SHALL support manual invocation of the query by users. There are no constraints on frequency of manual queries.

The parameter to the inquiry operation is a PAS Inquiry Request Bundle which has a Claim Inquiry profile instance as well as any referenced resources if needed. The operation is basically a query-by-example where the incoming Claim resource provides elements that will match existing prior authorizations. Any authorizations that match the incoming resource elements will be returned by the operation. The rules for how the included data elements are matched are specified in the X12 278 inquiry TR3 specification.

In the base FHIR specification, the item.productOrService is mandatory. For the use of this IG, this element is bound to an value set that has the X12 product and service codes along with "not-applicable" from the Data Absent Reason code system. If an inquiry is being done that does not want to specify a specific service, then this code can be used.

NOTE: The inquiry operation must contain a requesting provider organization, a payer organization, and a patient for the inquiry. The operation does not allow inquiries that do not identify a specific patient, such as an inquiry for all prior authorization requests submitted on a specific date.

The information in the Bundle is mapped to a 278 Health Care Services Review Information - Inquiry transaction (278i request). The 278 Health Care Services Review Information - Response (278i response) is then mapped to a PAS Inquiry Response Bundle with the results of the inquiry contained in the Bundle.

Notes:

  • the returned ClaimResponse SHALL include the current results for all submitted items, including any items changed or canceled since the original authoriation request. (See Updating authorization requests below.)
  • the returned ClaimResponse will be a subset if the request was for a subset of information
  • if the authorizationresponseid submitted is not the 'current' authorization response identifier (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. 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.
  • 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. 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.

Pended Authorization Responses

When the ClaimResponse.reviewaction.code is the X12 code for 'pended', it means that the payer requires additional time to make a final determination on all items within the prior authorization request. In this situation, the client system will need to retrieve the prior authorization response at a later point once a final decision has been made. To retrieve the response at a later point, implementers SHALL support subscriptions.

Note: There are use-cases for multiple systems potentially needing to check on the status of a 'pended' prior authorization. In addition to the provider who submitted the prior authorization request, the status might also be of interest to:

  • the provider(s) who will be involved in delivering the service for which authorization was sought
  • the patient
  • the patient's caregivers
  • other members of the patient's care team

As a result, queries seeking the status of the prior authorization response may come from multiple systems. Servers SHALL permit access to the prior authorization response to systems other than the original submitter. 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.

We recognize that knowledge of the Patient member or subscriber identifier may not be sufficient access-control for subsequent queries. We are looking for implementer feedback on this, in particular, on how to pass information through the X12 inquiry mechanism to the payer that helps attest to the 'right to know'.

Subscription

Implementers SHALL support the R4 Subscriptions referenced in the Subscriptions for R5 Backport Implementation Guide.

There is need for 'topic discovery' as there is only one topic of interest - PAS Subscription Topic - for this implementation guide.

When using the subscription retrieval mechanism, the Client will POST a new Subscription instance to the Server's [base]/Subscription endpoint. The subscription is created at the level of the requesting provider organization and not at the level of each individual prior authorization request. The Subscription parameters SHALL be identifier = [requesting provider organization id]. PAS Clients and Intermediaries SHALL support subscriptions with content='id-only' but MAY by mutual agreement and with appropriate security arrangements in place for push notifications containing PHI also support content='full-resource'. Intermediaries SHALL ensure that subscriptions to monitor a particular organization's prior authorizations are only created or modified by that organization.

  • Servers supporting subscriptions SHALL expose this as part of the Server's CapabilityStatement
  • Servers SHOULD support rest-hook and MAY support websocket channels
  • Additional information about creating subscriptions can be found here

Once the subscription has been created, the Server SHALL send a notification over the requested channel indicating that a prior authorization response submitted by the requesting provider organization has changed. This may happen when the response is complete, but may also occur when information on one or more of the items has been adjusted but the overall response remains as 'pended'. The id that is returned in the subscription notification is the requesting provider's TRN (i.e. the Claim.identifier).

Upon receiving a notification, the Client SHALL execute a query using the TRN that is included in the notification as well as other required information needed to identify the claim (such as a requesting provider organization, a payer organization, and a patient for the inquiry). The timing of the query does not to be immediate but can be when convenient.

Checking Status

Systems other than the requesting system may choose not to subscribe to the prior authorization response but instead to check the status at the request of a user. There are no retry limits for user-initiated status checks.

Updating Authorization Requests

In some cases, the needs associated with a prior authorization may change after the prior authorization request was submitted. This might be a change to one of the services needed, the timeframe over which the service is provided, the quantity of the service or product, or even the elimination of the need for a given service.

Since submitting an update for a new authorization is frequently player/plan-specific, this IG recommends that an update is attempted first. If that is rejected or the provider knows in advance that an update will not succeed, the a new authorization request should be made.

There are four types of changes possible:

  • Canceling the entire prior authorization (including all contained items)
  • Items within the request can be canceled. Canceling an item means that the service is no longer required and no authorization is required. Systems SHALL communicate a cancellation of an item if the corresponding order is canceled and a final authorization determination has not yet been received for that item. The objective is to avoid expending resources reviewing requests that are no longer needed. Items may also need to be canceled if a new item is being added that replaces them. (E.g. to avoid issues with a payer having concerns about duplicated therapy.)
  • Certain elements can be revised within a previously submitted item. Specifically, the Claim.billablePeriod, Claim.item.serviced[x], Claim.item.quantity and Claim.item.net. This may occur for claims that are pended or claims for which a final authorization decision has been made. Typically this will be done if there's a need to extend the time-period and/or increase the quantity. Other types of changes are accomplished by canceling an existing item and adding a new item.
  • Additional items and/or supporting documentation can be added to the prior authorization request. This is appropriate if the added items share the same context and should be evaluated in conjunction with the other items in the previously submitted authorization request. It is also appropriate if the new supporting documentation helps provide justification for the request.

For all of these cases, the update is requested by creating a new Bundle containing a new Claim resource with its own unique Claim.identifier and posting it using the $submit operation. That resource will point to the previous Claim using the Claim.related element. The relationship type SHALL be 'prior'. The new claim resource instance will comply with the Revised Prior Authorization profile. NOTE: The previous Claim.identifier is not specified on the X12 update. The Trace Number on the update will be the new Claim.identifier. As well, the previous authorization number and previous administration reference number that were returned in the response SHOULD be set on the new updated Claim.

From an X12 perspective, only those items/attachments that are being added/cancelled/revised need to be present. From an HL7 perspective, resources are generally represented as a cohesive whole, not a set of deltas from a previous resource.

To support the updating of a request, the following points need to be considered:

  • All items and supporting information is included in the Bundle - including items that have not changed at all. Changed information is flagged as follows:
  • Any items within the Claim that have been canceled (where the cancellation is at the item level, not at the whole prior authorization level) will be flagged with the cancelled modifierExtension. This indicates that the item is no longer actually part of the prior authorization request and is included only to distinguish it as 'canceled'. Note that if an item was canceled previously, it will still have a 'canceled' modifier extension, even though the cancellation is not new. The Certification Type extension with the appropriate code is used to indicate that each item previously requested is being canceled (using the code '3' - Cancel).
  • All items and supportingInfo elements that have been added or changed (including flagging them as cancelled) must be marked with a changed extension that indicates that the element was changed and what type of change has happened. (Newly marking an item as canceled is considered a 'change'.) Only the items that have changed in this submission will be marked with the 'changed' extension. Elements that were previously added, modified or canceled will not be marked as changes unless they have been further changed in this version of the prior authorization.

The intermediary will create 278 and/or 275 submissions that instantiate the changes (by looking for those items and supportingInfo elements) and will ignore the unchanged items.

The benefit of this approach is that it is consistent with the way the prior authorization would need to be passed around if it is ever shared in a RESTful manner. However, it can be bandwidth intensive if the prior authorization contains a large number of items, but only a small number of those have changed.

Updated Request Example

An example of a updated request can be found at Updated Homecare Request along with the original Homecare Request.

Responses to Changed Prior Authorization Requests

Just as the submission of a changed prior authorization request can be submitted in two different modes, a payer can choose to respond in two different modes. Some payers may include responses for all items in the authorization. Others might only include responses for those items that were specifically changed. (In theory, some payers could also return the items that were changed as well as those that are still pended and thus considered 'open'.)

The intermediary would populate the ClaimResponse Bundle based on the approach the payer had chosen in their 278 response.

NOTE: When querying for the current status of a prior authorization, the prior authorization response SHALL include all items, even if the identifier queried against corresponds to a prior authorization response whose synchronous response was a differential. For example, if a prior authorization revision was submitted changing one item out of four, the synchronous prior authorization response might only contain one item (and a subsetted flag). However, a subsequent query for the status of that prior authorization would always return a prior authorization resource that contained all four items.

Additional Notes

  1. PAS systems SHALL ensure that prior authorizations that were initially pended remain available for query for at least 6 months after the anticipated completion of the services whose authorization was requested.

  2. If the prior authorization response is a denial, it is not permitted to send an 'update' to the request. Instead, a new request must be initiated.

  3. Note that data submitted by client systems will comply with US Core profiles, meaning that codes for medications, conditions, etc. will be those used for clinical purposes, not billing. The intermediary will be responsible for performing any necessary mappings (e.g. SNOMED diagnosis codes to ICD10).

Testing Requirements

It is the intent of this implementation guide to provide specifications for the exchange of prior authorization in a way that is conducive to developing test scripts and a reference implementation (RI) that can be used to validate/exercise the IG at connectathons and during piloting and production deployment. It is also the intent of this guide that any test scripts will include testing of:

  1. resources and profiles defined in this guide
  2. artifacts used from referenced IGs such as DTR and CRD
  3. testing of conformance to the underlying FHIR standards for the associated release (e.g. FHIR R4)

Next Page - Privacy