Back to all insights
EHR Interoperability 2026-04-30 6 min read

FHIR vs HL7 v2: Which Should Healthcare Software Teams Use in 2026?

A practical comparison of FHIR R4 and HL7 v2 for healthcare software engineers — when to use each, what the tradeoffs are, and why most real integrations need both.

The Short Answer

If you're building a new custom healthcare application in 2026, design for FHIR R4. If you're connecting to existing hospital infrastructure built before 2015, you will encounter HL7 v2. Understanding both is not optional.

What Is HL7 v2?

HL7 v2 is a pipe-delimited, line-based messaging protocol developed in 1987. A typical ADT message looks like:

MSH|^~\&|SENDING_APP|FACILITY|RECEIVING_APP|FACILITY|20260101||ADT^A01|MSG001|P|2.5.1
PID|1||12345^^^HOSP^MR||Smith^John||19800101|M
PV1|1|I|2North^201^01||||004777^Smith^Attending|||SUR||||ADM|A0

Every major hospital system in the US — Epic, Cerner, MEDITECH, Allscripts — emits HL7 v2 ADT feeds. The problems with HL7 v2 for modern integrations: no REST API (messages go over Mirth Connect or MLLP), no standard schema validation (every vendor's implementation differs), and it's not browser-compatible.

What Is FHIR R4?

FHIR R4 is a RESTful JSON API standard where clinical concepts are structured resources accessible via standard HTTP:

GET  /Patient/12345
GET  /Patient/12345/Observation?code=29463-7
POST /Appointment

FHIR is browser-compatible, toolchain-friendly, and far easier to integrate with modern applications. All major EHRs now expose FHIR R4 endpoints — with varying completeness.

The Decision Framework

| Criterion | HL7 v2 | FHIR R4 | |---|---|---| | Legacy system compatibility | ✅ Universal | ⚠️ Varies by vendor | | Modern app integration | ❌ Needs TCP bridge | ✅ Standard REST | | Real-time event streaming | ✅ Via ADT feeds | ⚠️ Subscriptions vary | | Standardization | Low (vendor variations) | Moderate (still maturing) |

Use FHIR when building new integrations and the target EHR has a mature FHIR endpoint.

Use HL7 v2 when receiving real-time ADT event streams from existing hospital infrastructure.

Use both when connecting to systems spanning multiple eras — which is almost always the case at multi-location groups. In practice, this means a middleware translation layer that ingests HL7 v2 feeds and exposes a FHIR interface to modern applications. See the HL7 to FHIR migration guide for the full pipeline.

One important nuance: FHIR R4 is a standard, but each EHR vendor extends it with their own profiles. Epic's Patient resource has different required extensions than Cerner's. See the Epic EHR FHIR integration challenges guide and the Cerner FHIR API guide for vendor-specific details.

The Data Interoperability service handles both HL7 v2 and FHIR R4 — building the translation layer so your applications don't need to care which protocol the hospital uses.

Related Service

Data Interoperability (HL7/FHIR)

Deep-dive into our engineering approach, capabilities, and technical specifications.

View Engineering Specs →
SA

Written by Sheharyar Amin

Founder & Lead Engineer, Opexia