Patient Cost Transparency Implementation Guide
2.0.0-draft - STU 2 - Draft United States of America flag

Patient Cost Transparency Implementation Guide, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.0.0-draft built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-pct/ and changes regularly. See the Directory of published versions

Good Faith Estimate (GFE) Coordination Specification

Page standards status: Draft

Summary

The following page relates to the GFE Coordination workflow and is marked as DRAFT. This content has not yet met the requisite level of testing to be balloted as trail-use. However, this part of the specification has been reviewed by the Da Vinci PCT open community of providers, payers, and health IT vendors and was determined to be at a sufficient level of development to be included in this publication for the purposes of soliciting feedback from, and enabling testing by, the larger implementation community with the intention of bringing the content related to the GFE Coordination workflow to full STU status in a future version. Feedback is welcome and may be submitted through the FHIR change tracker indicating "US Da Vinci Patient Cost Transparency (PCT)(FHIR)" as the specification.

This section of the implementation guide (IG) defines the specific conformance requirements for systems wishing to conform to this Patient Cost Transparency (PCT) IG for GFE Coordination. It focuses on the Good Faith Estimate (GFE) Coordination Task, though it also provides guidance on privacy, security, and other implementation requirements.

The GFE Coordination workflow uses the Task resource. This resource is used to define, assign, and track activities across individuals, systems and organizations. The type of Tasks is distinguished by the Task.code. This guide defines the code gfe-contributor-task to be used as the type for each Task that is assigned to a single provider (Practitioner, PractitionerRole, or Organization) that is to contribute a GFE Bundle. Each of these GFE Contributor Task resources are part of a single set of requests and share an association through the GFE Coordination Task with a Task.code of gfe-coordinating-task and is referenced by each GFE Contributor Task resource by Task.partOf. All of the tasks are created by the GFE Coordination Requester are posted to the Coordination Platform where they will be managed throughout the rest of the workflow culminating in the GFE Coordination Requester making the $gfe-retrieve operation to collect all available GFE Bundle resources posted by the of the GFE Contributor(s) into one PCT GFE Collection Bundle

In addition to the requirements specified in this section, GFE Coordination Requesters, Coordination Platforms, and GFE Contributors SHALL meet the requirements as specified in their respective requirements CapabilityStatements and sections defined in this IG.

Task Workflow Requirements

This section describes the minimal workflow requirements and task transitions for both the coordination task and the contributor task. Except were specifically stated, this IG does not disallow other states or transitions. However, implementers should not expect other systems to recognize or understand variances from this process without prior agreement.

The Coordination Task Workflow

PCT GFE Coordination Task Workflow

  1. Start - This workflow starts with the Coordination Task, and relevant Contributor Tasks being created by the Coordination Requester, all with the same status.
  2. Draft (Optional) - The Coordination and associated Contributor Tasks, MAY optionally be placed in a draft status.
    1. Tasks in draft status SHOULD NOT trigger a notification.
    2. Contributor Tasks do not start the Contributor Task Workflow while in draft status.
    3. The Coordination Task MAY be updated by the Coordination Requester to a status of ready (3), entered-in-error (6), or cancelled (7).
  3. Ready – The GFE Coordination Requester SHALL set the status of the Coordination Task to ready to initiate the GFE coordination process.
    1. The Coordination Platform SHALL automatically change the associated Contributor Task status’ to requested and the individual Contributor Task Workflow begins.
    2. The Coordination Task MAY be updated by the Coordination Requester to a status of entered-in-error (6) or cancelled (7).
    3. The Coordination Platform MAY change the status to failed (8) in the event of a process of system failure or in-progress (4) when at least one of the associated Contributor Tasks changes to a status of accepted.
  4. In Progress – Coordination Platform SHALL automatically change the Coordination Task status to in-progress when at least one of the Coordination Task’s associated Contributor Tasks has a status change from received to accepted.
    1. The Coordination Task MAY be updated by the Coordination Requester to a status of completed (5), entered-in-error (6) or cancelled (7).
    2. The Coordination Platform MAY change the status to failed (8) in the event of a process of system failure.
  5. Completed – The Coordination Requester SHOULD change the status of an in-progress Coordination Task to completed when the necessary GFE information is collected, or the time limit is reached and the Task needs to be closed.
    1. The Coordination Requester SHALL provide a statusReason in the update to the Coordination Task.
    2. The Coordination Platform SHALL automatically update the businessStatus of the Coordination Task and all associated Contributor Tasks to closed.
    3. The Coordination Task SHALL automatically update all associated open Contributor Tasks, where the status is not complete, with a status of failed and provide a statusReason matching the statusReason the Coordination Task (that was the statusReason provided by the Coordination Requester).
  6. Entered In Error – The Coordination Requester MAY change the status of any open Coordination Task to entered-in-error.
    1. The Coordination Platform SHALL automatically update the businessStatus of the Coordination Task and all associated Contributor Tasks to closed.
    2. The Coordination Task SHALL automatically update all associated open Contributor Task status’, where the status is not complete, to entered-in-error.
  7. Cancelled - The Coordination Requester MAY change the status of any open Coordination Task to cancelled.
    1. The Coordination Requester SHALL provide a statusReason in the update to the Coordination Task.
    2. The Coordination Platform SHALL automatically update the businessStatus of the Coordination Task and all associated Contributor Tasks to closed.
    3. The Coordination Task SHALL automatically update all associated open Contributor Task status’, where the status is not complete, to cancelled.
  8. Failed – The Coordination Platform MAY change the status of Coordination Task with status of ready or in-progress to failed in the event of a system or process issue.
    1. The Coordination Platform SHALL provide a statusReason provided with an explanation of the failure with a useful description in the statusReason.text.
    2. The Coordination Platform SHALL automatically update the businessStatus of the Coordination Task and all associated Contributor Tasks to closed.
    3. The Coordination Task SHALL automatically update all associated open Contributor Task status’ to failed.

The Contributor Task Workflow

PCT GFE Coordination Task Workflow

  1. Optional Precondition(not in diagram) Prior to the start of this workflow a Contributor Task MAY exist with a draft status.
    1. Creation and editing of a draft status Contributor Task SHOULD NOT trigger a notification to the GFE Contributor it is assigned to.
    2. The GFE Contributor SHALL NOT have write access to a Contributor Task with a draft status.
    3. A draft status Contributor Task MAY be discoverable (searchable) by the assigned GFE Contributor (Task.owner), depending on business workflow needs.
  2. Start - This workflow starts with the Contributor Task being created or updated with a status of requested.
  3. Requested – The GFE Contributor Task SHALL automatically be updated by the Coordination Platform with a status of requested based on the events in the GFE Coordination Workflow.
    1. The assigned GFE Contributor (Task.owner) SHALL now have read access to the Task.
    2. Upon retrieval of the GFE Contributor Task by the GFE Contributor (Task.owner), either through a read or a search, the Coordination Platform SHALL automatically update the GFE Contributor Task status to received.
    3. The GFE Contributor Task SHALL be automatically updated by the Coordination Platform to a status of entered-in-error (7), failed (8), or cancelled (9) based on the events in the GFE Coordination Workflow.
  4. Received – The Coordination Platform SHALL automatically update the Contributor Task status to received upon first retrieval, either through read or search.
    1. The assigned GFE Contributor (Task.owner) SHALL now have write access to update the Task.
    2. The GFE Contributor Task MAY be updated by the assigned GFE Contributor to a status of accepted (4) or rejected (5).
    3. The GFE Contributor Task SHALL be automatically updated by the Coordination Platform to a status of entered-in-error (7), failed (8), or cancelled (9) based on the events in the GFE Coordination Workflow.
  5. Accepted – The GFE Contributor SHALL update the GFE Contributor Task to a status of accepted when they decide to participate in the GFE coordination process for the request and plan on providing a GFE Bundle.
    1. The Contributor Task MAY be updated by the assigned GFE Contributor (Task.owner) to a status of rejected (5), completed (6), or failed (7).
    2. The GFE Contributor Task SHALL be automatically updated by the Coordination Platform to a status of entered-in-error (7), failed (8), or cancelled (9) based on the events in the GFE Coordination Workflow.
  6. Rejected – The GFE Contributor SHALL update the GFE Contributor Task to a status of rejected if they will not participate in the GFE coordination process for the request and will take no further action on the request.
    1. The GFE Contributor SHOULD provide a statusReason for rejecting the Task.
    2. The Coordination Platform SHALL automatically update the businessStatus of the Contributor Task to closed.
  7. Completed – The GFE Contributor SHALL update the GFE Contributor Task to a status of completed when they attach the GFE bundle and it is ready to be made available to the GFE Coordinator (via gfe-retrieve operation). This is usually done after there is a sufficient level of confidence in the GFE Bundle they had attached to the Task.
    1. The GFE Contributor MAY continue to update the Contributor Task’s attached GFE Bundle if the Task’s businessStatus is not set to a value of closed.
    2. The GFE Contributor MAY update the businessStatus of the Contributor Task to closed if there will be no further changes made.
    3. The Coordination Platform MAY automatically update the businessStatus of the Contributor Task to closed if there will be no further changes made based on the events in the GFE Coordination Workflow.
  8. Entered in Error – The Coordination Platform SHALL set a GFE Contributor Task status to entered-in-error based on the events in the GFE Coordination Workflow.
    1. The Coordination Platform SHALL automatically update the businessStatus of the Contributor Task to closed.
  9. Failed – Either the GFE Contributor MAY set the Contributor Task status to failed if they were unable to complete the task or the Coordination Platform SHALL set a GFE Contributor Task status to failed based on the events in the GFE Coordination Workflow.
    1. GFE Contributor Tasks updated with a status of failure SHALL have a statusReason provided with an explanation of the failure with a useful description in the statusReason.text.
    2. The Coordination Platform SHALL automatically update the businessStatus of the Contributor Task to closed.
  10. Cancelled – The Coordination Platform SHALL set a GFE Contributor Task status to cancelled based on the events in the GFE Coordination Workflow.
    1. The Coordination Platform SHALL automatically update the businessStatus of the Contributor Task Tasks to closed.
    2. The Coordination Requester MAY change the status of any open Coordination Task to cancelled if the status is not already rejected and SHOULD update the Contributor Task statusReason.
    3. The Coordination Requester SHALL NOT change the status of a Coordination Task to cancelled if the status is rejected, and SHALL NOT update the statusReason of such a Contributor Task.

Closed Tasks

All Tasks with a businessStatus of closed SHALL not be updatable by the GFE Coordination Requester or GFE Contributors.

Coordination Workflow Requirements and Details

This section describes several requirements involved in the Coordination Workflow detailing the some of the actions necessary for each step of the process as well as providing guidance on activities that should or may take place.

Identifying all GFE Coordination Participants

The Coordination Platform is the system enabling all interactions between collaborating parties. As such, the Coordination Platform will need to manage all of the resources relating to all potentially participating parties along with their contact information and a means to notify each of Task assignments and changes in Task status.

After the GFE Coordination Requester, expectedly a Convening provider, determines that GFE collection needs to be coordinated across providers and determines the set of services and providers necessary, they will search the Coordination Platform for the references (FHIR IDs) for the providers to coordinate with. This lookup is generally done with an NPI, Tax ID or other identifying methods as supported by the Coordination Platform. For the purposes of this IG, the Coordination Platform provides a sort of “White Pages” phonebook lookup of providers. It is expected that providers largely maintain their own networks of potential care team members or have other means to find providers to work with. The “phonebook” lookup provided by the Coordination Platform is not expected to serve as a means to lookup providers by services offered or their service locations.

The Coordination Platform SHALL manage a current set of PCT Organization, PCT Practitioner, and HRex PractitionerRole resources as identified in this guide with enough data and searching capabilities to support GFE Coordination Requesters to identify and retrieve the FHIR IDs of GFE Contributors.

Creating and Submitting a GFE Coordination Request

References to Participants

The GFE Coordination Requester SHALL use the FHIR resource IDs in all references to providers in both the GFE Coordination Task and GFE Contributor Task resource(s). These references include the Task.requester and the assigned Task.owner When creating new Tasks, GFE Coordination Requesters SHALL reference only Coordination Participants where active=true. If the GFE Coordination Requester must also contribute a GFE, they SHALL also create a GFE Contributor Task assigned to themselves for that purpose. This is done to enable a full set of GFEs to be made available for the Coordination Platform to put together into a complete GFE Collection Bundle.

Associating Request Information Bundles to Tasks Once the GFE Coordination Requester has collected sufficient enough information necessary for GFE Contributors to be able to provide an accurate estimate, and places the information into one or more GFE Information Bundle resources, the information bundles SHALL be associated with the appropriate Task through the Task.input element. The GFE Information Bundle resources SHALL be fully contained, meaning all references SHALL resolve within the bundle. The information that applies to all of the tasks SHALL be identified in the GFE Coordination Task. There SHALL be at least one information bundle associated in the GFE Coordination Task. A GFE Coordination Requester MAY create GFE Contributor specific information bundles which SHALL be associated to the appropriate GFE Contributor Task.This can be done to provide specific providers only the information they need to see. To associate an information bundle with a Task in the Task.input, the GFE Contributor SHOULD encode the bundle as an attachment in Task.input.valueAttachment, though they MAY associate it through a reference in Task.input.valueReference. A GFE Information Bundle associated to a Task through a reference SHALL exist on the Coordination Platform and the Task SHALL have the Task.input.valueReference reference the instance on the Coordination Platform. Since the information bundle is fully self-contained and its relevance only extends to the Task in which it is associated, there is no need for the bundle to be written directly to the Coordination Platform. This can simplify the management of the data and has the advantage of not enabling the bundle to be modified outside of the Task. A potential disadvantage of having the information bundle contained in the Task is the size of the resource. An organization that has to manage and search through many GFE Contributor Task resources may have a notable increase in traffic volume. This may be mitigated by Coordination Platforms that support the _summary search parameter

GFE Coordination Request Submission

No special operations are defined for the submission of GFE Coordination requests and are instead performed through a standard RESTful FHIR interface.

A Coordination Platform SHALL support the ability for GFE Coordination Requesters to POST a request in a single transaction through a GFE Coordination Bundle and MAY support the ability for individual resource POSTing..

GFE Coordination Requesters SHOULD POST a GFE Coordination request though a single GFE Coordination Bundle, as opposed to posting Tasks and other resources individually. This enables the transactions to be written as a whole and rollback happens automatically if there is an issue that does not allow the transaction to be completed as a unit.

The GFE Coordination workflow is designed to allow participation of GFE Contributors that may not support this FHIR IG directly, or support FHIR at all. The Coordination Platform may provide another means to contribute data for GFE Bundle resources, such as through a delegate system or a portal. To support this, GFE Coordination Requesters SHOULD create GFE Contributor Task resources for all of GFE Contributors that a GFE Bundle is needed from if they have an active Coordination Participant Resource (Organization/Practitioner/PractitionerRole) on the Coordination Platform.

Notifications of New and Updated Tasks

Methods of notification are not defined in this IG, but may take the form of FHIR Subscription (potentially using Notified Pull), unsolicited notification, messaging or other method. Other Out of Band (OOB) transactions are also allowed.

Coordination Platforms SHALL be able to notify GFE Contributors when a new GFE Contributor Task is assigned to them or is marked as cancelled. Coordination Platforms SHALL be able to notify GFE Coordination Requesters when a GFE Contributor Task they created has had their status updated to rejected, accepted, or completed.

Searching for and Retrieving Tasks

Both GFE Coordination Requesters and GFE Contributors need to be able to search for Tasks related to their role in the GFE Coordination workflow. Searching requirements are detailed the CapabilityStatements in this guide and SHALL be followed for a system to claim conformance to this guide.

GFE Contributor Actions

GFE Contributors SHOULD NOT reject a Task because there is insufficient information to provide a GFE. Instead, the GFE Contributor SHOULD request the necessary information from the GFE Requester (the means of this communication is not defined by this specification). GFE Contributors MAY reject a Task if they are still unable to receive the necessary information after attempting to do so.

When submitting a GFE Bundle, GFE Contributors SHALL update the GFE Contributor Task with the GFE Bundle contained in Task.output.valueAttachement and SHALL set that Task.status to completed when the Task is considered complete. The GFE Contributor MAY include other types of data in output.valueAttachment, but such data SHALL be in a FHIR Resource format and fully contained with no external references that can’t be resolved internally.

Replacing Coordination Tasks or Contributor Tasks

Replacing a GFE Contributor Task

If there is a schedule change, a change to the items or services for which a GFE is being requested, or the context of which has changed such that it may materially affect the GFE of a GFE Contributor, the GFE Coordinator SHOULD cancel the GFE Coordination Task and create a new one. This new replacement GFE Coordination Task SHOULD contain the task-replaces extension with a reference to the cancelled GFE Coordination Task that the new one replaces. This will enable GFE Contributors to refer back to any previous GFE Bundle resources in the case it may assist them in addressing the new task.

The cancellation and creation of a new task, instead of updating tasks, is recommended because there is limited time to provide an estimate and the intent is to provide the best possible estimate at time of the request. There could be any number of modifications during this process that will be difficult to track during this limited time. Closing and opening a new request provides some closure/finality to the interaction that should be easier to track, particularly without requiring systems, both server and client, to support FHIR resource versioning. Modifications of existing tasks would require each GFE contributor be notified of the change, some of which may have already closed out their task, potentially causing additional disruption, avoidable re-work, and errors.

Replacing a GFE contributor, does not present the same sort of coordination challenges and is being provided as a means to reduce burden of the other GFE Contributors that are participating by not requiring them to resubmit.

Replacing a GFE Contributor

GFE Coordination Requesters SHALL be able to replace GFE Contributors regardless of the state of the status of the GFE Contributor Task as long as the GFE Coordination Task does not have a status of cancelled, failed, completed, or entered-in-error.

When replacing a GFE Contributor the GFE Coordination Requester SHALL change the target GFE Contributor Task status to cancelled if the status is not already rejected and SHOULD update the Task.statusReason. If the status = rejected it SHALL remain so and the statusReason SHALL remain unchanged.

When replacing a GFE Contributor, the GFE Coordination Requester SHALL write new GFE Contributor Task resource(s) for the GFE Contributor(s) that are replacing the previous GFE Contributor(s). The other existing Tasks SHALL remain intact (i.e., only replace the Tasks that need replacing as opposed to recreating all tasks). If more than a simple replacement GFE Contributors is required, such as a change in scheduled date or services, the GFE Coordinating Requester SHOULD cancel the GFE Coordination Task and create a new one.

Retrieving the GFE Collection Bundle and Closing the Coordination Task

Retrieval of the collection of contributed GFEs is done through the $gfe-retrieve operation. This operation collects the contributed GFE Bundle resources attached to the GFE Contributor Task resources as well as any GFE Missing Bundle resources for any GFE Contributor Task resources that do not have an attached GFE Bundle. GFE Missing Bundle resources support indication that the GFE may be missing a portion that will contribute to their overall cost. These bundles are a technical requirement in the event the GFE must be sent without all contributor estimates included.

GFE Collection Retrieval

Retrieval of a GFE Collection Bundle SHALL be available to the GFE Coordination Requester that created the associated GFE Coordination Task and SHALL be retrieved using the FHIR ID of the GFE Coordination Task.

The $gfe-retrieve operation SHALL return a single GFE Collection Bundle when a valid GFE Coordination Task FHIR ID was provided and for which the requester has access.

The GFE Collection Bundle SHALL consist of:

Completing or Cancelling the Coordination Task

When deemed appropriate, the GFE Coordination Requester SHALL close the GFE Coordination Task.status by updating the status to completed, cancelled, or failed and SHALL include a statusReason to close the request when no new GFE Contributions will be needed or accepted.

Access and Authorization

Actor based access

Coordination Participants (GFE Coordination Requesters and GFE Contributors) SHALL be able to read and update all of the Task resources they created or are assigned to (via Task.owner) while the Task does not have a status of draft and does not have a businessStatus of closed and SHOULD retain read access regardless of status or businessStatus. GFE Contributors SHALL have read access to GFE Coordination Task resources that are referenced by GFE Contributor Task resources that are assigned to and SHALL NOT have access to modify those GFE Coordination Task resources unless they are also the GFE Coordination Requester. GFE Contributors MAY access the Tasks of other participants whose assigned Task references the same GFE Coordination Task if the Coordination Platform allows it.

Task status based access

GFE Contributor Tasks SHALL NOT be able to be modified by a GFE Contributor if the status is cancelled, rejected, entered-in-error, or completed Tasks marked as completed, rejected, or entered-in-error SHOULD NOT be able to be modified by GFE Contributors..

Patient Access to GFEs

Note: Although technically possible, conveying the GFE Collection to the patient via FHIR API is optional and the workflow is contingent upon the Coordination Requester opting to expose the API to the patient. For the self-pay or uninsured patients, the GFEs must be provided to the patient, but this may be done in many ways such as via mail, the patient portal, or via an API. This specification does not currently address requirements for sharing GFE information with patients through an API.