Reference

Epic

Epic is an Electronic Health Records (EHR) system for healthcare organizations, hospitals and large practices.

Epic is an Electronic Health Records (EHR) system for healthcare organizations, hospitals and large practices.

Category: EHR Integrations. Adds 7 actions to a care flow.

What to configure

Set these once, on the extension in Awell Studio. An action fails at run time if a required setting is missing.

SettingRequiredNotes
Auth URLYesThe auth URL for the Epic API, e.g. https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token
Base URLYesThe base URL for the Epic API, e.g. https://fhir.epic.com/interconnect-fhir-oauth/api
Client IDYesThe client ID of the Epic app used to authenticate.
JKUNoFor apps using JSON Web Key Set URLs, optionally set this value to the URL you registered on your application
KIDNoFor apps using JSON Web Key Sets (including dynamically registed clients), set this value to the kid of the target public key from your key set
Private KeyYesThe private key of the Epic app used to authenticate. Stored as a secret.

Actions

Epic adds these 7 actions to a care flow. Add one to a step, then fill in its inputs.

Create clinical note

Create a clinical note in Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Patient resource IDstringYesThe patient’s FHIR resource ID.
Encounter resource IDstringYesThe FHIR resource ID of the related encounter.
Document statusstringYesOne of: Final, Preliminary.
Document typestringYesOne of: Progress Note, Consult Note, Procedure Note, H P Note, Discharge Summary, ED Note, Patient Instructions, Nursing Note.
NotetextYes

Returns:

Data pointType
resourceIdstring

Create patient

Create a patient in Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
SSNstringYesThe patient’s Social Security Number.
Family namestringYesThe patient’s family (last) name.
Given namestringYesThe patient's given name. May include first and middle names.
Birth datedateYes
GenderstringYesOne of: Male, Female, Other, Unknown.
EmailstringNo

Returns:

Data pointType
resourceIdstring

Find patient by MRN

Find patient by MRN in Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Medical Record Number (MRN)stringYes

Returns:

Data pointType
resourceIdstring

Get appointment

Retrieve appointment details from Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Patient resource IDstringYesThe resource ID of the patient

Returns:

Data pointType
appointmentjson
appointmentStartDateTimedate
appointmentStatusstring
appointmentTypeCodestring
patientIdstring

Retrieve details of a specific appointment using its FHIR resource ID. The action returns the full FHIR Appointment resource.

Get clinical note

Retrieve clinical note details from Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Document reference resource IDstringYesDocument reference resource ID of the clinical note

Returns:

Data pointType
binaryContentHtmlstring
binaryContentRtfstring
documentReferencejson

Get patient

Retrieve patient details from Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Patient resource IDstringYesThe resource ID of the patient

Returns:

Data pointType
birthDatedate
officialFamilyNamestring
officialGiveNamestring
patientjson

Match patient

Match patient to existing patient in Epic

This action can be previewed in Studio before you publish.

InputTypeRequiredDescription
Family namestringYesThe patient’s family (last) name.
Given namestringYesThe patient's given name. May include first and middle names.
Birth datedateYes
GenderstringYesOne of: Male, Female, Other, Unknown.
EmailstringYes

Returns:

Data pointType
resourceIdstring

Setup and notes

Epic is an Electronic Health Records (EHR) system for healthcare organizations, hospitals and large practices.

Introduction

Integration landscape

Epic provides a comprehensive range of interfaces for integration. We've grouped them into four key categories:

  1. **Read: Retrieve data from Epic (e.g., patient demographics).
  2. Write: Send data to Epic (e.g., create a patient, create a document).
  3. Subscriptions/Events: Subscribe to events in Epic.
  4. Embedded Apps: Embed applications within Epic, SSO launch, and more (typically via SMART-on-FHIR).

Each category offers multiple interfaces tailored to specific workflows and use cases.

We seamlessly integrates with Epic across all categories using industry-standard protocols like HL7, FHIR, and proprietary APIs. We prioritize trust and flexibility, supporting both REST and non-REST interfaces to meet your organization's needs.

The Epic extension

The Epic Extension** is designed to support Read and **Write integrations via SMART Backend Services. These integrations are server-to-server (backend) and do not require direct user interaction—whether from patients or practitioners.

The extension supports a variety of REST-based interfaces, including:

  • Vendor Services API
  • FHIR R4
  • FHIR DSTU2
  • FHIR STU3

In addition to REST interfaces, Epic also supports non-REST standards like HL7, enabling tasks such as querying patient demographics (ADR A19) or creating documents (ORU messages). Awell supports these non-REST standards as well. However, the Epic Extension focuses specifically on REST-based interfaces.

Setup

To set up the Epic Extension in Awell, you’ll need to configure the following:

  • Base URL: The Epic instance's base URL (e.g., https://fhir.epic.com/interconnect-fhir-oauth/api/).
  • Auth URL: The URL for obtaining access tokens (e.g., https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token).
  • Client ID: The client ID of Awell’s registered Epic application.
  • Private Key: The private key for the application, formatted as a single string with new lines explicitly indicated by \n.

Example of Private Key Format: -----BEGIN PRIVATE KEY-----\naaaaaaa\nbbbbb\n-----END PRIVATE KEY-----

Get patient (R4)

Retrieve a patient’s details using their FHIR resource ID. This action returns the full FHIR Patient resource.

Match patient (R4)

Find a patient using demographic data. The action returns a matching Patient resource only if a single high-confidence match is found.

  • If multiple high-confidence matches or no matches are found, the action fails.
  • This uses the Patient.$match (R4) operation, recommended for backend-to-backend integrations (learn more: Epic Documentation).

The action will return the FHIR resource ID of the matched patient.

Create patient (R4)

Add a new patient to Epic using demographic information. Required fields include:

  • SSN
  • Given name
  • Family name
  • Gender
  • Birth date

While optional, including an email address is highly recommended to improve accuracy when matching patients in the future.

The action will return the FHIR resource ID of the created patient.

Create clinical note (R4)

Create a clinical document in Epic. Required fields include:

  • Patient resource ID: The patient’s FHIR resource ID.
  • Encounter resource ID: The related encounter’s FHIR resource ID (currently required; Pre-Charting support is coming February 2025).
  • Document status: The status of the document.
  • Document type: The type of the document.
  • Document content**: The content of the document.

The action will return the FHIR resource ID of the created document.

Find patient by MRN (R4)

Leverages the Patient.search (R4) operation to find a patient by their MRN. The action will return the FHIR resource ID of the patient.

Changelog

Epic changelog

Where this page comes from

The settings, actions, inputs, outputs and webhooks above are generated from the extension's own code, at @awell-health/awell-extensions v2.1.159. They match what the platform actually does rather than a description of it.

Field-level detail also appears in Awell Studio when you configure the action. Something wrong or missing? Email support@awellhealth.com.

On this page