Internet Explorer is no longer supported. To avoid issues, switch to Chrome, Edge, or Firefox.
  • FHIR
  • API Specifications
  • Build Apps
  • Documentation 
    • App Developer Guidelines
    • App Creation & Request Process Overview
    • App Creation & Request Process Step-by-Step
    • User Context
    • Requesting a Listing in Showroom
    • Designing an Efficient Application
    • OAuth 2.0 Specification
    • FHIR Tutorial
    • App Default FHIR Version
    • ID Types for FHIR APIs
    • Sandbox Test Data
    • Patient-Facing Apps Using FHIR
    • Search Parameters
    • FHIR Bulk Data Access Tutorial
    • CDS Hooks Tutorial
    • Troubleshooting
    • Sex, Gender, & Names
    • Vaccine Credentials
    • International Patient Summary Specification
  • Jump To 
    • Showroom
    • open.epic
    • Open@Epic Conference
  • Login 
    Log in with
    Epic UserWebEpic UserWeb
    or

We couldn't find any APIs that match your search criteria.

API logo

Select an API to get started.

With Epic's publicly available HL7® FHIR® standard APIs, you can design your software to interoperate with the Epic comprehensive health record at clinics, hospitals, and health systems worldwide. No purchase is necessary to access the specifications or work with an Epic customer that licenses API technology and services.

General Information
HTTP Method:
URL Template:
Supported OAuth 2.0 User Types:
Supported User Types:
Subset of USCDI API Type:
API Group:

Description

This API may behave differently when used in a patient-facing context. See the Patient-Facing Apps Using FHIR document for more information.
Request:

		
		
		
Name Description Is Optional Is Array
( )

Native Request Elements

Name Description Is Optional Is Array
() () () conditional 

Post-filter Request Elements

Starting in the May 2024 version of Epic, the following search parameters that use a post-filtering mechanism are available. When responding to a request, the Epic FHIR server first retrieves all results that match your search (using any native search parameters you’ve provided), then filters down those results based on the additional post-filtered parameters you’ve specified.

For more information about post-filter parameters and related considerations, refer to the General Considerations section of the FHIR Search Parameters document.

Name Description Is Optional Is Array
() () () conditional 

Post-filter Request Elements

Starting in the May 2024 version of Epic, the following search parameters that use a post-filtering mechanism are available. When responding to a request, the Epic FHIR server first retrieves all results that match your search (using any native search parameters you’ve provided), then filters down those results based on the additional post-filtered parameters you’ve specified.

For more information about post-filter parameters and related considerations, refer to the General Considerations section of the FHIR Search Parameters document.

Name Description Is Optional Is Array
() () () conditional 

Native Request Elements

Name Description Is Optional Is Array
() () () conditional 
Response:

		
		
		
Name Description Is Optional Is Array
( )
Name Description Is Optional Is Array
() () () conditional 

Types:

Name Description Is Optional Is Array
() () () conditional 

Types:

Name Description Is Optional Is Array
( )

Remarks:

Errors

When things go wrong, the API will respond with an error code and a human-readable description to describe the incorrect submission. Currently, the error code is not included in the REST version of the specification, but it is provided here for your reference. These codes are meant for developer use only - they should not be presented to end users. Instead, your application should interpret the codes and provide user-friendly resolution steps when data cannot be filed.

FHIR Errors come in two flavors:

  • Fatal Errors cause the response to contain no results and are usually due to requests from the client processed as invalid - missing or invalid data in the request, unauthorized access, or expired content in the system.
  • Warning Errors accompany a successful response and are used to indicate that part of a request could not be fulfilled - for example, if a status is unknown, but the request can be fulfilled, the API will return the data and indicate that part of the request couldn't be understood.

FHIR Error Codes

Error CodeSeverityDescriptionExample
4100FatalThe resource request contained an invalid parameterInvalid parameter such as a nonexistent patient ID: AllergyIntolerance?patient=foo
4101WarningResource request returns no resultsA request for data that was otherwise valid but no information was documented or found (i.e. a patient with no pertinent implanted devices, or a demographic search where no patients met the search criteria).
4102FatalThe read resource request contained an invalid IDInvalid Resource ID: AllergyIntolerance/foo
4103FatalThe resource requested has been deletedA read request for a resource that was deleted in the system
4104FatalA required FHIR element was not available to send in the responseFailed to determine a SNOMED code for the smoking status.
4107 FatalThe read resource request has been mergedRequesting a Patient which has been merged - in this event, in addition to the error response, we will respond with an HTTP Redirect status. To browsers and many HTTP clients, the redirect will be transparent.
4110FatalNo parameters are provided in the search requestAn invalid search request such as : AllergyIntolerance?
4111FatalRequired search parameter missing from requestA request missing a required parameter (such as the patient): Condition?category=diagnosis
4112FatalThe resource request contained an invalid combination of parametersA search containing multiple different patient ID: AllergyIntolerance?patient=[ID 1]&patient=[ID 2]
4113FatalSession ID for cached search results has expired. Making a request for previously accessed paginated search results after the search has expired.
4115FatalRequired search parameter has an invalid valueAn invalid parameter required for searching: Condition?Patient=[ID]&category=foo
4116FatalInvalid query for session. This error only applies to DSTU2 version paging functionality.Called in paging context if the user has gone to the next page of the same session but changed the original query:
AllergyIntolerance?patient=[ID 1] <-- original query
AllergyIntolerance?patient=[ID 1]&page=2&session=123 <-- valid
AllergyIntolerance?patient=[ID 2]&page=2&session=123 <-- error is logged.
4117WarningNo CVX code for Immunization resourceRequest for an Immunization resource without a documented CVX code.
4118FatalUser not authorized for requestRequest data that the authenticated user is not allowed access to view (i.e. a patient asking for data about a stranger's allergies).
4119WarningAdditional data may be present for patientRequest data while authenticated as an authorized patient or patient proxy. Inidicates that data available to the patient may not be the complete medical record within the system.
4122WarningAn unknown query parameter was supplied by the clientA request with dateWritten on a resource for which the parameter is ignored.
A request with parameter zzzzzz on any resource.
4127FatalAdditional data may existThis error is logged whenever Patient.Search exceeds 100 results.
4130FatalBreak-the-Glass security does not authorize you to access the selected patient/resourceThe patient has a sensitive psychiatric visit and you are not part of the psychiatric or care team. This is returned when you would attempt Encounter.Read on this encounter.
Note: these checks are configured by each health system and may vary based on their security policies.
4131FatalThe patient you are attempting to access is restricted. You must break the glass to access patient data.The patient is a hospital employee so extra protection is in place such that only those who have provided a reason to access the chart can access all data. This is returned when you attempt a Patient.Read on that patient.
Note: these checks are configured by each health system and may vary based on their security policies.
4134InformationThe patient you are attempting to access is resctricted. You must Break-the-Glass to view patient data.The patient is a hospital employee so extra protection is in place such that only those who have provided a reason to access the chart can access all data.
Note: these checks are configured by each health system and may vary based on their security policies.
4135FatalPlease try again tomorrowMaximum document queries has been reached for the day.
40000FatalIncoming table mapping errorWhen calling the FamilyMemberHistory API, a relationship type is not mapped.
59100InformationContent invalid against the specification or a profile./api/FHIR/MedicationStatement?patient=el5.bHVk3kkdaA-5ezLMCHQ3&stat=1 where "stat" is an unknown parameter.
59101WarningContent invalid against the specification or a profile./api/FHIR/R4/MedicationRequest?patient=eHtj-Tb68iBKA8ZsY8Ioq7w3&category=homemeds where "homemeds" is an unknown category value.
59102FatalContent invalid against the specification or a profile./api/FHIR/R4/MedicationRequest?patient=fakepatientid where the patient ID is invalid.
59105FatalA structural issue in the content.Invalid json syntax.
59108FatalRequired {element name} missing/api/FHIR/STU3/Observation?patient=eTtVpZg2-.J.yFIP1qJbK4A3 where either the category or code parameter must be specified
59109InformationOptional {element name} invalid: {element value}/api/FHIR/STU3/Encounter?patient=e63wRTbPfr1p8UW81d8Seiw3&class=math where the optional class parameter is not a valid category option
59111FatalRequired {element name} invalid: {element value}/api/FHIR/R4/Observation?patient=e63wRTbPfr1p8UW81d8Seiw3&category=labresults where the required category parameter is not a valid category option
59133InformationProcessing issues.This error is logged when fewer data elements than required are included in the request or when the search exceeds 100 results.
59141FatalAn attempt was made to create a duplicate record.AllergyIntolerance.Create was used to add an allergy to bees, but an allergy to bees already exists in the patient's chart.
59144FatalThe reference provided was not found./api/FHIR/STU3/Binary/eKqBNFDq6lyQ5SoH5lVu3oNUw1qX1ux2nVAxvjy9qQ9GqOvhmga08hSScb7nvH9ismBvLErBhIFIjKWeEpwa6kiO6w1ZAm5wt.LozW5CSo3s3 when this ID is not found.
59159FatalThe content/operation failed to pass a business rule, and so could not proceed.A request missing a required parameter (such as the patient): Condition?category=diagnosis
59177FatalAn unexpected internal error has occurred.Failed to file the LDA.
59187FatalFailed to find any patient-entered flowsheets.When using FHIR Observation.Create in a patient-facing app, the patient does not have any Patient-Entered Flowsheets assigned.
59188FatalFailed to find one vital-signs flowsheet row by given codes.When using FHIR Observation.Create, no single flowsheet row can be found by the codes provided in the request body. It can also be logged if the flowsheet row found is not mapped to the vital sign LOINC code (8716-3).
59189FatalFailed to file the reading.When using FHIR Observation.Create, the API fails to file any readings to the patient's chart.

Faults:

Code Severity Description Example

Change Log:

Product Information

Products:
First Available Version:

That API was not found. It may have moved or you may not have access to it.

We use cookies to improve our website. By accepting, you will receive these cookies from Epic on FHIR. Decline if you wish to use Epic on FHIR without these cookies. Read our privacy policy here.

Frequently Asked Questions (FAQs)
Contact
Terms of Use
Privacy Policy
1979 Milky Way, Verona, WI 53593
© 1979-2025 Epic Systems Corporation. All rights reserved. Protected by U.S. patents. For details visit www.epic.com/patents.
HL7®, FHIR® and the FLAME mark are the registered trademarks of HL7 and are used with the permission of HL7. The use of these trademarks does not constitute a product endorsement by HL7.
Epic, open.epic, and Epic on FHIR are trademarks or registered trademarks of Epic Systems Corporation.

Due to inactivity you will be logged out in 60 seconds.

Saving
Loading
False