Health

Insights · Interoperability

FHIR vs HL7v2: which standard for which integration

FHIR is the future; HL7v2 runs the present. The common mistake is treating it as a migration. Here's which standard each integration actually calls for — and why most hospitals need both for years to come.

Field note · Interoperability

9 min
Denis Sheremetov

Denis Sheremetov

CTO

Read time

9 min

In this note

  • They solve different problems
  • What HL7v2 is still better at
  • What FHIR is better at
  • When to use HL7v2
  • + 3 more
May 6, 2026Interoperability
Denis Sheremetov
Denis Sheremetov

CTO · May 6, 2026

9 min read

Interoperability

A surprising amount of wasted effort in healthcare integration comes from a single framing error: treating FHIR and HL7v2 as old-versus-new, with a migration in between. They're not generations of the same thing. They were designed for different jobs, and in most real environments you'll run both for the foreseeable future.

They solve different problems

HL7v2 is a messaging standard: event-driven notifications flowing between systems inside (and between) hospitals. A patient is admitted → an ADT message fires. A lab result is ready → an ORU message. It's been the backbone of hospital integration since the 1990s, and it is everywhere.

FHIR is a resource-based API standard: RESTful, web-native, built for querying and exchanging discrete data (a Patient, an Observation, a MedicationRequest) on demand. It's how modern apps, patient access, and cross-organization exchange increasingly work.

What HL7v2 is still better at

  • Real-time, event-driven workflows inside a hospital (ADT, orders, results, scheduling)
  • Talking to the installed base — most hospital systems speak v2 fluently and may not expose FHIR for what you need
  • High-volume, fire-and-forget messaging with mature tooling (interface engines like Mirth)

What FHIR is better at

  • On-demand queries: "give me this patient's active medications"
  • Patient- and consumer-facing apps (SMART on FHIR, patient access APIs)
  • Cross-organization and regulatory exchange (USCDI, CMS rules, TEFCA-era flows)
  • Discrete, structured data you can reason about — versus parsing pipe-delimited segments

When to use HL7v2

Reach for v2 when the integration is an event happening inside the hospital and the systems on both ends already speak it: admissions feeds, order entry, results routing, scheduling. Rebuilding these on FHIR just because it's newer adds risk for no benefit when the v2 interface already works and is battle-tested.

When to use FHIR

Reach for FHIR when you're building something new that queries data, faces a patient or external app, or has to satisfy a modern regulatory requirement. Anything consumer-facing, anything crossing an organizational boundary, anything where you want structured resources rather than messages — that's FHIR's lane.

The both-at-once reality

The architecture we ship most often: HL7v2 interfaces feeding an internal pipeline (often through an interface engine), normalized into FHIR resources that the rest of the system — apps, analytics, external APIs — consumes. v2 at the edges where the installed base lives; FHIR in the core and at the modern surfaces. The two coexist by design, not as a half-finished migration.

A mapping gotcha

Translating v2 to FHIR is not field-for-field. v2's loose, locally-customized segments (every site uses Z-segments differently) don't map cleanly to FHIR's stricter resources. The hard part isn't the transport — it's reconciling local v2 conventions, vocabularies, and missing data into conformant FHIR. Budget for that reconciliation; it's where v2-to-FHIR projects actually spend their time.

If you're choosing a standard for a specific interface and want a sanity check, send us the data flow — we run the conformance suites (Touchstone, Inferno) and have shipped both standards across 60+ integrations.

Have a similar problem?

Most of these started as projects. Yours could too.

If something in this article sounds like the project you're scoping, send us the details. We'll come back within 1 business day.