Skip to content
FHIRVendors

EHR integration

Epic FHIR Integration: APIs, Developer Access and Integration Patterns

Epic exposes FHIR APIs to third-party developers through its public developer resources at open.epic and the Epic on FHIR site. Integrating with Epic is less about whether an API exists and more about which app type you are building, which resources and operations a given healthcare organization has enabled, and how activation works at each customer. This page summarizes the access model and the practical decisions involved. This site is independent and has no affiliation with Epic.

Epic and related product names are trademarks of their respective owners. FHIR Vendors is independent and has no partnership with or endorsement from Epic. Developer program terms change frequently — always confirm current requirements in the official documentation.

How developer access works

Epic’s public developer site, Epic on FHIR (fhir.epic.com), lets developers sign up, register client applications and test against a sandbox populated with example data. The companion site open.epic hosts interface specifications, data-sharing playbooks and guidance on connecting apps to organizations that use Epic.

  • Sign-up and client registration. You create an account, register your app, choose its audience (for example patients, clinicians or a backend system) and request the FHIR APIs and scopes it needs. Registration produces client IDs for non-production and production use.
  • Sandbox. The public sandbox lets you test API calls against synthetic patients. It is a shared test environment, not a copy of any customer’s configuration.
  • Optional Vendor Services membership. Epic also offers a Vendor Services program for developers who want additional documentation, an expanded testing sandbox and access to Epic technical guidance. Terms and fees are set by Epic; check its site for the current details.
  • Showroom. Epic’s Showroom is a directory where healthcare organizations can discover products that work with Epic. Developers can request a listing.

Program names change

Epic has renamed and restructured its developer and marketplace programs over the years. Always confirm current program names and requirements on Epic’s own sites, linked under official resources on this page.

FHIR versions and supported resources

Epic on FHIR documents APIs across DSTU2, STU3 and R4. New work should target R4, which aligns with US Core and with ONC certification requirements for standardized APIs. Epic’s documentation lists, per resource and version, which interactions are available (read, search and, for a subset, create or update), the search parameters supported and any Epic-specific behaviour.

Beyond core FHIR REST APIs, open.epic also references CDS Hooks, FHIRcast and APIs relevant to the CMS Interoperability and Prior Authorization rule (CMS-0057-F). If your use case touches clinical decision support or context synchronization, check those specifications as well. For background on resources such as Patient, Encounter and Observation, see our FHIR resources guide.

Common Epic integration patterns

PatternHow it authorizesTypical examples
Patient-facing appSMART standalone launch; patient signs in with their MyChart account and approves accessPersonal health records, care programs, research enrolment
Provider-facing embedded appSMART EHR launch from within Epic with user and patient contextSpecialty viewers, decision support, documentation helpers
Backend / system integrationSMART Backend Services: client credentials grant with a signed JWT assertionData synchronization, population management, scheduled exports
Bulk dataBackend authorization plus FHIR Bulk Data Access ($export) for defined patient groupsAnalytics, value-based care, payer and registry feeds
Epic FHIR integration patterns

Many production integrations combine FHIR with HL7 v2 interfaces or other Epic interface types for real-time events and orders. Our FHIR API integration guide and SMART on FHIR guide explain the underlying flows.

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=<signed-JWT>
Shape of a SMART Backend Services token request. The token endpoint path is discovered per organization; do not hard-code it.

Limitations to plan for

  • Customer-specific enablement. Each healthcare organization controls which apps are activated in its environment and which APIs they may call. Documentation shows what Epic supports, not what a given site has turned on.
  • Read is broader than write. Many resources support read and search; create and update are available for a narrower set and may be constrained to specific workflows.
  • Configuration differences. Two Epic customers may code the same concept differently or use different departments, flowsheets and document types. Mapping should tolerate this.
  • Sandbox is not production. Synthetic data and default configuration will not surface every real-world variation.

Activation is per organization

Plan a conversation with each customer’s Epic analysts and security team. That step, not your code, often sets the go-live date.

What drives the project timeline

  • App type: a read-only patient-facing app is typically the simplest; embedded provider apps and write-back add review and testing.
  • Whether the APIs you need are available in the sandbox and enabled at your first customer.
  • Customer-side capacity for security review, build and testing.
  • Whether you also need HL7 v2 or other non-FHIR interfaces.

For budgeting, see FHIR integration cost, which describes cost drivers and illustrative planning ranges.

What to ask an Epic integration partner

  • Which Epic customers and app types (patient, provider, backend) have you taken to production, and what did activation involve?
  • Which of our required workflows can be met with Epic’s FHIR APIs, and which need other interfaces?
  • How will you handle configuration differences between customer sites?
  • How do you manage client IDs, keys and JWKS rotation for backend apps?
  • Who supports the integration through Epic upgrades?

Browse EHR integration vendors and filter by Epic, or use find a vendor to describe your project.

Frequently asked questions

Is access to Epic’s FHIR APIs free?

Signing up on Epic on FHIR and using its sandbox is open to developers. Optional programs such as Vendor Services carry their own terms. Commercial terms with each healthcare organization are separate. Check Epic’s current terms directly.

Which FHIR version does Epic support?

Epic documents DSTU2, STU3 and R4 APIs. New integrations should target R4 and US Core.

Can an app write data back to Epic through FHIR?

Some resources support create or update, but write coverage is narrower than read and depends on what each organization enables. Some write workflows still use HL7 v2 or other Epic interfaces.

Does Epic support SMART on FHIR and Bulk Data?

Yes. Epic supports SMART App Launch for patient and provider apps, SMART Backend Services for system integrations, and FHIR Bulk Data export for population-level access, subject to customer enablement.

Do we need to be listed in Epic Showroom to integrate?

Not necessarily. Showroom is a discovery directory. Integration depends on registering your app and being activated by each organization; a listing can help with discovery.

Official developer resources

Related FHIR services

Related guides

Vendors documenting Epic integration

Based on each vendor's public materials. Confirm current scope directly with the vendor.

Need help with a Epic FHIR integration?

Tell us what you need to build or connect. We review every request and share a short list of relevant vendors from our directory — no obligation.