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.
| Setting | Required | Notes |
|---|---|---|
| Auth URL | Yes | The auth URL for the Epic API, e.g. https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token |
| Base URL | Yes | The base URL for the Epic API, e.g. https://fhir.epic.com/interconnect-fhir-oauth/api |
| Client ID | Yes | The client ID of the Epic app used to authenticate. |
| JKU | No | For apps using JSON Web Key Set URLs, optionally set this value to the URL you registered on your application |
| KID | No | For 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 Key | Yes | The 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.
| Input | Type | Required | Description |
|---|---|---|---|
| Patient resource ID | string | Yes | The patient’s FHIR resource ID. |
| Encounter resource ID | string | Yes | The FHIR resource ID of the related encounter. |
| Document status | string | Yes | One of: Final, Preliminary. |
| Document type | string | Yes | One of: Progress Note, Consult Note, Procedure Note, H P Note, Discharge Summary, ED Note, Patient Instructions, Nursing Note. |
| Note | text | Yes | — |
Returns:
| Data point | Type |
|---|---|
resourceId | string |
Create patient
Create a patient in Epic
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| SSN | string | Yes | The patient’s Social Security Number. |
| Family name | string | Yes | The patient’s family (last) name. |
| Given name | string | Yes | The patient's given name. May include first and middle names. |
| Birth date | date | Yes | — |
| Gender | string | Yes | One of: Male, Female, Other, Unknown. |
string | No | — |
Returns:
| Data point | Type |
|---|---|
resourceId | string |
Find patient by MRN
Find patient by MRN in Epic
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Medical Record Number (MRN) | string | Yes | — |
Returns:
| Data point | Type |
|---|---|
resourceId | string |
Get appointment
Retrieve appointment details from Epic
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Patient resource ID | string | Yes | The resource ID of the patient |
Returns:
| Data point | Type |
|---|---|
appointment | json |
appointmentStartDateTime | date |
appointmentStatus | string |
appointmentTypeCode | string |
patientId | string |
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.
| Input | Type | Required | Description |
|---|---|---|---|
| Document reference resource ID | string | Yes | Document reference resource ID of the clinical note |
Returns:
| Data point | Type |
|---|---|
binaryContentHtml | string |
binaryContentRtf | string |
documentReference | json |
Get patient
Retrieve patient details from Epic
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Patient resource ID | string | Yes | The resource ID of the patient |
Returns:
| Data point | Type |
|---|---|
birthDate | date |
officialFamilyName | string |
officialGiveName | string |
patient | json |
Match patient
Match patient to existing patient in Epic
This action can be previewed in Studio before you publish.
| Input | Type | Required | Description |
|---|---|---|---|
| Family name | string | Yes | The patient’s family (last) name. |
| Given name | string | Yes | The patient's given name. May include first and middle names. |
| Birth date | date | Yes | — |
| Gender | string | Yes | One of: Male, Female, Other, Unknown. |
string | Yes | — |
Returns:
| Data point | Type |
|---|---|
resourceId | string |
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:
- **Read: Retrieve data from Epic (e.g., patient demographics).
- Write: Send data to Epic (e.g., create a patient, create a document).
- Subscriptions/Events: Subscribe to events in Epic.
- 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.