Book a Strategy Call
← Back to Blog
FHIR EHR Integration Healthcare Software Interoperability HL7

FHIR and EHR Integration: A Practical Guide

Sabyrix Team September 22, 2026

If you are planning a patient portal, a telehealth platform, or any healthcare application that needs to read or write clinical data, you will run into FHIR almost immediately. FHIR (Fast Healthcare Interoperability Resources) is the standard that most modern EHR systems now use to expose data through APIs, and understanding it before you scope a project will save you from expensive surprises later. This guide explains what FHIR actually is, why EHR integration matters for healthcare software, what the current regulatory landscape requires, and what a realistic integration project looks like from an engineering standpoint.

What FHIR Actually Is

FHIR was created by HL7 International as a successor to older messaging standards like HL7 v2 and the document-based CDA format. Instead of sending large, loosely structured messages between systems, FHIR represents healthcare data as discrete, well-defined "resources": Patient, Encounter, Observation, Condition, MedicationRequest, DocumentReference, and dozens of others. Each resource has a consistent structure, and each is exposed through a RESTful API that returns JSON or XML.

This matters practically because it means an EHR integration built on FHIR looks more like integrating with any modern web API than like parsing legacy pipe-delimited HL7 v2 messages. You authenticate, you call an endpoint like GET /Patient/{id} or GET /Observation?patient={id}&code=..., and you get back structured data you can validate against a published schema. That said, FHIR is a specification, not a guarantee of easy integration. Two EHR vendors can both claim FHIR support and still expose meaningfully different implementations, which is why the US Core Implementation Guide exists: it constrains the base FHIR specification into a consistent profile that certified US health IT systems are expected to follow. If you are integrating with any EHR sold in the United States, you should be reading the US Core Implementation Guide alongside the base FHIR spec, not instead of it.

Why EHR Integration Matters for Healthcare Software

Most healthcare software eventually needs to talk to an EHR because the EHR is where the clinical record of truth lives. A few common scenarios illustrate why this comes up so often:

  • A telehealth platform needs to pull a patient's medication list and allergies before a visit, and push a visit note or care plan back after the encounter.
  • A patient engagement app needs to display lab results, immunization history, or upcoming appointments without asking the patient to re-enter data that already exists in their provider's system.
  • A remote monitoring product needs to send device-generated observations (blood pressure, glucose readings, weight) into the EHR so a clinician sees them in context.
  • A care coordination tool needs to exchange referrals, discharge summaries, or care plans across organizations that use different EHR vendors.

In each of these cases, building a one-off, vendor-specific interface is possible but expensive to maintain, especially once you need to support more than one EHR. FHIR does not eliminate that work, but it standardizes enough of it that the second and third integrations are meaningfully cheaper than the first.

The Regulatory Backdrop You Need to Know

FHIR adoption in the United States is not just a technical trend, it is also a regulatory requirement in specific contexts. Two rule sets matter most for anyone planning an integration:

ONC certification and information blocking. Under the 21st Century Cures Act, the Office of the National Coordinator for Health IT (ONC, now operating as ASTP/ONC) requires certified health IT products to expose a standardized FHIR-based API using FHIR Release 4 and the US Core profiles. The related information blocking rules restrict how a healthcare provider, EHR vendor, or health information network can limit access to electronic health information. If a vendor or provider is unreasonably restricting your legitimate integration, that can implicate information blocking rules, which is useful context when a negotiation over API access stalls. See ONC's FHIR interoperability program page for the current program details.

CMS interoperability rules for payers. On the payer side, CMS has finalized rules requiring Medicare Advantage plans, state Medicaid and CHIP programs, and Qualified Health Plan issuers to expose Patient Access, Provider Access, Payer-to-Payer, and Prior Authorization data through FHIR APIs, with the most recent set of requirements (CMS-0057-F) phasing in through January 2027. If your product touches insurance data, eligibility, or prior authorization workflows, these rules directly affect which APIs will exist for you to consume. Details are in the CMS interoperability and prior authorization fact sheet.

None of this means a specific piece of software is automatically compliant just because it uses FHIR. Compliance depends on how you implement authentication, consent, data minimization, audit logging, and your organization's broader administrative and technical safeguards, not on the data format alone. This article is not legal advice, and any regulatory obligations specific to your product should be reviewed with qualified counsel.

Common EHR Integration Approaches

In practice, teams end up choosing between a few different integration patterns, often combining more than one:

  • Direct FHIR API integration. You connect directly to the EHR vendor's FHIR endpoint, typically through an app registered in that vendor's developer portal (Epic's App Orchard, Oracle Health's developer program, and similar programs from other vendors). This is the cleanest path for read access to standard resources and is what ONC certification requirements are built around.
  • HL7 v2 interfaces. Many EHRs, especially in inpatient settings, still rely heavily on HL7 v2 messaging (ADT feeds, ORU results, SIU scheduling messages) delivered over an interface engine. FHIR has not fully displaced v2 in every workflow, so a realistic integration plan sometimes needs to handle both.
  • Integration engines and middleware. Tools like Mirth Connect, Rhapsody, or cloud-native equivalents sit between your application and one or more EHRs, handling protocol translation, message routing, and transformation. These are common when you need to support multiple EHR vendors without writing bespoke code for each one.
  • Health information exchanges and networks. Frameworks like Carequality, CommonWell, and TEFCA allow query-based access to records across organizations rather than a direct point-to-point connection to a single EHR. These are worth evaluating if your use case is broader record retrieval rather than integration with one specific system.

The right approach depends on whether you need read access, write access, real-time data, or batch data, and on how many different EHR systems your customers actually use. A single-EHR pilot with a direct FHIR connection looks very different from a multi-tenant product that needs to support Epic, Oracle Health, and half a dozen smaller EHR vendors simultaneously.

Architecture and Implementation Considerations

A few technical decisions tend to determine whether an EHR integration project stays on schedule or drags on for months:

  • Authentication and authorization. Most production FHIR APIs use SMART on FHIR, an OAuth2-based authorization framework built specifically for healthcare apps. You will need to decide between patient-facing app flows (where the patient authorizes access to their own record) and backend system-to-system flows (where your application authenticates as a trusted system). These have different registration processes, different consent implications, and different security review requirements from EHR vendors.
  • Sandbox testing before production access. Every major EHR vendor provides a sandbox environment with synthetic patient data. Budget real time for this step: getting production API access typically requires passing a vendor's technical review, and sandbox behavior does not always match production behavior exactly.
  • Data mapping and normalization. Even within US Core, coding systems vary (LOINC for labs, SNOMED CT for conditions, RxNorm for medications), and not every EHR populates every field consistently. Plan for a normalization layer rather than assuming resources will arrive complete and clean.
  • Rate limits and pagination. FHIR search results are paginated, and vendor APIs commonly enforce rate limits that are tighter than a typical commercial API. Bulk data needs (populating a new patient's history, for example) often require the FHIR Bulk Data Access ($export) operation rather than repeated individual queries.
  • Error handling and partial data. Real-world EHR responses include missing fields, inconsistent date formats, and occasional malformed resources. Defensive parsing and clear fallback behavior in the UI matter more here than in most integrations, because the data represents clinical information a user may act on.

Common Pitfalls Worth Planning Around

A few mistakes show up repeatedly in EHR integration projects:

  • Assuming "FHIR support" means plug-and-play. Vendor implementations vary in which resources they expose, which search parameters they support, and how strictly they follow US Core. Confirm the specific vendor's FHIR capability statement before committing to a timeline.
  • Underestimating the access approval process. Getting production credentials from a major EHR vendor can take weeks and usually involves a security and use-case review, not just a signup form. Build this into your project plan early.
  • Treating consent and data minimization as an afterthought. Just because a resource is technically accessible does not mean your application should request or store it. Requesting only the data your workflow actually needs reduces both your compliance exposure and your breach impact if something goes wrong.
  • Skipping audit logging. Every access to protected health information pulled through an integration should be logged in a way that supports later review. This is both a security best practice and typically an expectation under the HIPAA Security Rule's audit control requirements.
  • Not planning for multiple EHR vendors from the start. If there is any chance your customer base will span more than one EHR, design your internal data model around FHIR resources rather than one vendor's quirks, so adding a second EHR is a mapping exercise rather than a rewrite.

Security and Compliance Notes

Because FHIR integrations almost always involve protected health information, the usual healthcare security fundamentals apply on top of the integration itself: encryption in transit and at rest, role-based access control, session management appropriate to the sensitivity of the data, and a signed business associate agreement with the EHR vendor or intermediary where required. None of this is automatic just because an API uses FHIR, and none of it substitutes for a broader security program covering your infrastructure, staff training, and incident response process. If you want a fuller picture of what a security-conscious build looks like, our security and compliance overview covers the administrative and technical safeguards that sit around an integration like this. This section is general information, not legal advice, and specific regulatory questions should go to qualified counsel familiar with your situation.

Frequently Asked Questions

What is the difference between FHIR and HL7 v2?

HL7 v2 is an older messaging standard built around pipe-delimited text messages exchanged between systems, commonly used for admissions, discharges, transfers, and lab results. FHIR is a newer, REST and JSON-based standard built around discrete, well-defined resources and modern web API patterns. Many healthcare organizations run both simultaneously, since not every workflow has migrated to FHIR yet.

Do I need to use FHIR to integrate with an EHR?

Not always, but it is usually the right default for new projects in the United States. Certified EHRs are required to expose FHIR-based APIs, and building around FHIR resources gives you a more standardized foundation than proprietary or legacy interfaces, even if you also need to support HL7 v2 for certain workflows.

What is SMART on FHIR?

SMART on FHIR is an authorization framework built on OAuth2 that defines how healthcare apps request and receive access tokens to call FHIR APIs, including patterns for both patient-facing apps and backend system integrations. Most major EHR vendors require SMART on FHIR for third-party API access.

How long does an EHR integration project typically take?

It depends heavily on scope: the number of EHR vendors involved, whether you need read-only or read/write access, and how long each vendor's application and security review process takes. A single-vendor, read-only integration is a materially smaller effort than a multi-vendor integration with bidirectional data flow, and vendor approval timelines are often the longest pole in the schedule rather than the engineering work itself.

Planning Your Integration

FHIR gives healthcare software teams a real, standardized path into EHR data, but it is a foundation to build on rather than a finished solution. The projects that go smoothly are the ones where the integration approach, authentication model, data mapping strategy, and compliance requirements are scoped before development starts, not discovered halfway through. If you are evaluating an EHR integration for a telehealth platform, patient portal, or care coordination tool, our EHR and EMR integration team can help you assess the right approach for your specific EHR vendors and workflows, and our broader healthcare software development practice covers the surrounding application architecture. If your integration supports a telehealth product specifically, it's worth reading our related post on what HIPAA requires for telemedicine app development as well. You can also book a strategy call to talk through your specific integration scope before committing to a timeline.