The Argonaut project surveyed several EHR systems as part of COVID vaccine scheduling initiatives, and discovered that every participating EHR had implemented a different FHIR-based approach to scheduling appointments. This is not great from an interoperability perspective. This project hopes to resolve that divergence with more direct guidance on how appointment scheduling should be done.
Survey of FHIR Scheduling Solutions
The Argonaut survey results are here: Scheduling Building Blocks
Here are some other scheduling approaches encountered in the wild:
- NHS Booking
- https://fhir.org/guides/argonaut/scheduling/index.html
- http://www.hl7.fi/fhir-ajanvaraus-paikallistaminen-tyotila/
- https://simplifier.net/guide/isik-terminplanung (National IG for Germany, mandatory for all EHRs starting in 2024, closely based on Argonaut Scheduling)
Mulesoft developed a layer to interact with different EHR approaches:
- IHE / IHI Project:
- FHIR IG (inspired by Argonaut Scheduling IG)
- Use case and actor definition is this quarter (CY Q2 2022)
- Standard selection and details will be CY Q3 2022
- https://github.com/IHE/ITI.Scheduling (shell project now, but will get fleshed out over time)
Workflow Model for Scheduling
There are a few primary activities involved in scheduling an appointment.
- Validation of prerequisites
- Identify which resources (people, rooms, machines, etc.) should be involved.
- Discover available time slots
- Book the appointment
There are of course other activities that occur after the booking of the appointment, but those are left out of scope for this summary. This workflow model is intended to describe the complexity that must be accounted for in medical scheduling.
Prerequisite validation
Prior to starting scheduling activities, there are often some prerequisites that must be validated.
- If the service requires a referral, the referral must be created or discovered.
- If prior authorization is required, it may be collected either before or after the appointment is scheduled.
- Many types of visits have service-specific prerequisites. For example, vaccine appointments may required the recipient be in a specific priority group, or of an eligible age.
Resource Identification
Identifying the resources needed for an appointment can be one of the most complicated steps. Some factors that contribute to the complexity:
- Some practitioners may have limits on the number of visits of a certain type that can be scheduled in a given period. For example, a primary care provider may only accept 2 new patient visits per day. These new patient visits can occur anytime throughout the day, but once two such visits are scheduled, no more are allowed.
- Some systems may have questionnaires or decision trees that help schedulers determine which resources are appropriate. For example, for an orthopedic visit, you might have a decision tree that uses the chief complaint to prefer elbow specialists vs. knee specialists, though a knee specialist might still get appointments for elbow issues if the elbow specialists are all booked.
- Often in-network coverage checks are used to identify preferred practitioners.
- Patients may have provider preferences, such as preferring a provider that speaks a certain language or is a specific gender.
- Often it is desirable to prefer providers that have an existing relationship with the patient.
- Some resources must be scheduled in groups. While office visits often don't book specific rooms for an appointment, surgeries will often need room and staff be scheduled as a group.
Timeslot Discovery
One the relevant resources are identified, gathering the available timeslots for those resources typically involve gathering the availability of healthcare system managed resources (e.g. practitioners, locations, machines). That availability is presented to the patient (possibly via a scheduler user).
Timeslot gathering can involve:
- Patients may prefer a specific date range. For example, an appointment next week.
- Patients may prefer a specific time of day. For example, any morning appointment next week, or any time after 4pm in the next two weeks.
- Patients may prefer a specific location, or set of locations, near their home or work.
- Patients may have SDOH needs that intersect with the preferences above. For example, they need an appointment at a location near a bus route, and during the time that bus route runs.
Full fidelity timeslot discovery by publishing static "slots" is often not practical due the dynamic nature of resource identification. The Argonaut IG defined the $find operation to dynamically expose slots based on common criteria for resource identification.
Booking the Appointment
Booking the appointment is often the easiest step. This step can involve more than just recording the appointment however. Activities can also include:
- Creating the patient record, if the patient does not already exist.
- Depending on the payment model, payment information may need to be collected. For example, in the US:
- A guarantor account may need to be created.
- Insurance information may need to be collected. For existing patients, this can mean selecting the relevant coverage from the list of coverages the patient has on file. Patients can have multiple insurance policies that cover different conditions, so in general, an end user will need to identify which insurance is appropriate for a specific appointment.
- Real time eligibility queries are commonly used to verify insurance.
- Self-pay is usually an option, which would still need account creation, but not insurance collection and verification.
Some common post-booking activities include:
- Signing the patient up for a patient portal so they can view and manage the appointment online.
- Registering patients on a wait list so they can get notifications if there are appointments sooner than their booked time.
- Collecting authorization for the service from the insurance company.