MuleSoft Accelerator for Healthcare icon

MuleSoft Accelerator for Healthcare

(1 review)

Use case 4 - Appointment scheduling

Streamline the appointment scheduling process via pre-built APIs


Appointments are at the center of all key patient engagement touch-points and appointment scheduling, in particular, provides critical value to patients. It is also a source of high revenue leakage for providers due to no-shows, cancellation, wrong visit type, or long wait times while booking an appointment.

Historically the process to schedule an appointment has been time-intensive for staff and frustrating for patients due to its manual nature. Organizations are now seeking ways to automate this process through the use of APIs to power an improved staff and patient experience.

Use case description

This use case provides customers with pre-built APIs and implementation templates to surface appointment information from EHR systems to consuming applications like Salesforce Health Cloud. By establishing these integrations, call center agents using Salesforce can identify available slots, schedule, and cancel appointments as needed on behalf of the patient. The solution has been designed to support customers leveraging Epic and/or Cerner as their EHR and Salesforce Health Cloud’s Intelligent Appointment Management functionality; however, the solution can be extended as needed.

Functional view

Appointment Scheduling Functional View


IAMHealth Cloud Intelligent Appointment Management system provides a patient appointment booking experience in Salesforce for call center agents and care coordinators.
EHRAn Electronic Health Record is a digital version of a patient's paper chart. It contains the patient's medical history, diagnoses, medications, treatment plans, immunization dates, allergies, radiology images, and laboratory test results.
FHIRFast Healthcare Interoperability Resources is an HL7 specification for healthcare interoperability. It is a JSON-based standard describing data formats, elements and an application programming interface for exchanging electronic health records.

High-level architecture

Appointment Scheduling High Level Architecture v2


End-to-end scenarios

  • Call center agents or care coordinators from Salesforce IAM fetch the slot information and confer with the patient to identify desired time, location, etc.
  • Upon identification of desired appointment slot, book appointment from Salesforce and status updated accordingly in EHR
  • In a situation where a patient is seeking to cancel their appointment, call center agent is able to cancel from Salesforce IAM (and schedule a new appointment when necessary).

Processing logic

The Appointment Scheduling Process API supports the following workflow:

  1. Query the /Slot resource to search for available slots which orchestrates calls to the backend EHRs (Epic and Cerner) via Generic FHIR Client System API to query for available time slots that can be booked.
  2. Invoke the /Slot resource to get the status of the selected slot from the EHR system.
  3. If the slot is available, invoke the /Appointment resource to book an appointment, which sends a request to the appropriate system API to book the appointment.
  4. To cancel an appointment, invoke the /Appointment resource with the appropriate status.

The above workflow steps have been tested with Epic and Cerner EHRs, see the table below for supported functionality:

Search SlotsSupportedSupported
Check Slot StatusPartially supported*Supported
Book AppointmentSupportedSupported
Get Appointment by IdSupportedSupported
Cancel AppointmentNot supportedSupported
Search Appointments for PatientSupportedSupported

* Although Epic provides the endpoints to /Slot Read, unable to validate the status of the slot via publicly available sandbox as it does not return a response payload.

Sequence diagram

Appointment Scheduling Sequence diagram v2

Success conditions

Upon successful, the following conditions will bet met:

  • Fetch available slots from the EHR system and display on IAM
  • Book an appointment and manage it

Assumptions and constraints

  • Supports Epic Open APIs STU3 implementation
  • Cancellation of appointments is not supported for Epic
  • Supports Oracle Cerner Millennium APIs R4 implementation
  • IAM supported filter options have limitations when retrieving slots from EHRs (e.g. Epic does not support the ability to filter slots by a practitioner, sub-specialty nor plan type via Open APIs and Cerner doesn’t support the ability to filter slots by a sub-specialty nor plan type via Millennium APIs)

Before you begin

bulb.png The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications.

Downloadable assets

Process APIs

System APIs

MuleSoft Direct assets

For Salesforce Health Cloud customers interested to deploy MuleSoft applications via MuleSoft Direct, access the assets and documentation below:


Here are some links to related and supporting documentation.


Interested to see these assets in action, check out this demo recording highlighting this use case!

back to top


Published by
MuleSoft Solutions
Published onMay 14, 2024
Asset overview

Asset versions for 2.23.x

Asset versions