Written by Daniel Ashcraft — 12+ years building HIPAA-compliant software for healthcare organizations, including EHR integrations (Epic, Cerner), telemedicine platforms, and clinical decision support systems.
This article is informed by hands-on healthcare software development experience. For legal compliance decisions, consult qualified healthcare compliance counsel.
A single one-direction HL7 v2 interface costs $10,000 to $20,000 to build and $3,000 to $15,000 a year to maintain, according to one integrator's March 2026 published estimate. EHR vendors and most interface engine vendors don't publish list prices, so their fees, plus the hospital's own analyst time, usually come on top and need separate quotes.
Those ranges come from Taction Software's EHR integration cost guide, dated March 26, 2026, which cites no outside data. Treat them as one firm's planning numbers. The sections below cover each line item and where a published price exists. For the broader method behind integrations like this, see our guide to integrating legacy systems with reverse engineering and AI.
What is an HL7 interface?
An HL7 interface is a live feed that moves HL7 v2 messages between two systems, usually over a TCP connection, so that an event in one system (a patient admitted, an order placed, a result filed) shows up in the other. Each message is plain text made of segments, with fields separated by pipes.
Hospital event feeds for admissions, orders and results typically use HL7 version 2. Epic, for example, publishes HL7v2 specifications for each of those feed types. The standard says the segment terminator is always a carriage return (hex 0D), the field separator is the fourth character of the MSH segment, and the other delimiters are declared in MSH-2 (HL7 v2.5.1, chapter 2). Here is a synthetic ADT^A01 (admit) message in v2.5.1, the kind an EHR sends to a lab or bed-board system when a patient is admitted:
MSH|^~\&|ADT_SRC|GENHOSP|LAB_APP|GENHOSP|20270114083215||ADT^A01^ADT_A01|MSG00000412|P|2.5.1
EVN||20270114083000
PID|1||4400123^^^GENHOSP^MR||SAMPLE^JANE^Q||19800202|F|||100 MAIN ST^^OKLAHOMA CITY^OK^73102
PV1|1|I|4W^412^A^GENHOSP||||1234567890^WELBY^MARCUS^^^^^^NPI^L|||MED|||||||||V000981234|||||||||||||||||||||||||20270114081500
The line breaks above are for display. On the wire, every segment, including the last, ends with a carriage return, and the whole message is wrapped in a lower layer protocol, usually MLLP over TCP.
- MSH-3 to MSH-6 name the sending and receiving application and facility. MSH-9 is
ADT^A01^ADT_A01: message type, trigger event, and message structure. MSH-10 is the control ID the receiver echoes back in its acknowledgment, MSH-11Pmeans production, and MSH-12 is the version. - EVN-2 is the recorded date and time of the event. EVN-1 is kept only for backward compatibility, so it is empty here.
- PID-3 holds the medical record number with its assigning authority and identifier type
MR. PID-5 is the name, PID-7 the birth date, PID-8 the administrative sex and PID-11 the address. - In PV1, field 2 (
I) is the inpatient class and field 3 the unit, room and bed. Field 7 is the attending physician with NPI as the assigning authority, then come the hospital service (10), visit number (19) and admit time (44).
Those positions match the v2.5.1 segment definitions for PV1 and PID. In the full ADT_A01 structure, MSH, EVN, PID and PV1 are required and around twenty more segments (NK1, PV2, OBX, AL1, DG1, IN1 and others) are optional. Sites fill those optional segments differently, which is a large share of what mapping work deals with. Allergies might arrive in AL1 from one hospital and in a site-specific Z segment from another.
What line items make up an HL7 interface cost?
Plan for six cost lines: the EHR vendor's fee, the interface engine license, build and mapping labor, testing and validation, network connectivity, and ongoing support. Build and maintenance have published estimates. The EHR vendor and engine lines usually have to be quoted.
| Line item | Who bills it | Published reference | What moves the number |
|---|---|---|---|
| EHR vendor interface license or fee | EHR vendor, to the hospital or practice | No dollar amounts published by Epic or Oracle Health. Oracle's certification cost disclosure lists interface licenses and setup fees as required costs for some HL7 feeds. | Contract terms, interface type, whether the vendor's team does the build |
| Interface engine | Engine vendor, or nobody for open source | NextGen: flat annual fee per server, no per-interface charge, price on request. iNTERFACEWARE and Rhapsody: negotiated. | Servers, environments (production, test), support tier |
| Build and mapping | Integrator or in-house team | Published estimate: $10K to $20K and 3 to 6 weeks one direction; $25K to $45K and 6 to 12 weeks bidirectional (Taction, 2026) | Message types, optional segments, Z segments, code set translation |
| Testing and validation | Integrator plus hospital analysts | Often folded into build quotes. Hospital staff time is rarely priced. | Test environment availability, number of scenarios, sign-off rounds |
| Connectivity | Your cloud or network provider, plus the hospital network team | AWS Site-to-Site VPN base charge: $0.05 per connection hour (about $36 a month always on), before IP address and data transfer charges | VPN vs private link, firewall change windows, redundancy |
| Maintenance | Integrator, engine vendor, in-house team | Published estimate: $3K to $15K per interface per year (Taction, 2026) | EHR upgrades on either side, message volume, alert handling |
The build ranges are from Taction's guide, which also lists one-direction Epic HL7 v2 builds at $12K to $22K and Oracle Health at $10K to $18K. VPN pricing is from AWS's Site-to-Site VPN page, using its US East (Ohio) example. The VPN fee is small. Getting a firewall change approved at the hospital can take weeks.
The EHR vendor row is the least transparent. Oracle Health's certified health IT cost disclosure lists a Vaccinations Outgoing Interface license as a required cost for immunization registry reporting, says setup fees and support services are required for its HL7 2.5.1 public health feeds, and offers custom quotes for ADT pass-through. It gives no dollar figures. ONC's 2015 report to Congress found "wide variation in the fees developers charge" for interfaces and exports. That report predates the information blocking rules.
Budgets also tend to leave out the hospital's own analyst time. Someone on their side has to read your mapping spec, configure the outbound feed, give you test patients and sign off. If their interface team is booked for the next quarter, your start date usually moves with it, and paying more rarely changes that. Plan for change work as well: when either side upgrades its EHR or engine, the feed needs retesting.
What does a worked HL7 interface budget look like?
Using only the published midpoints, a single one-direction ADT feed into a cloud application costs roughly $15,000 to build, $9,000 a year to maintain and about $430 a year in base VPN charges. That puts the first year near $24,000 and three years near $43,000, before EHR vendor and engine fees.
| Line | Year 1 | Years 2 and 3 (each) | Basis |
|---|---|---|---|
| Build, one direction (midpoint of $10K to $20K) | $15,000 | $0 | Taction published estimate |
| Maintenance (midpoint of $3K to $15K) | $9,000 | $9,000 | Taction published estimate |
| VPN base connection charge (12 x $36) | $432 | $432 | AWS published price |
| EHR vendor interface fee | Quote | Quote | Not published |
| Interface engine license | Quote, or $0 for an open-source fork | Same | Not published |
| Subtotal of published lines | $24,432 | $9,432 | Three-year total: $43,296 |
It is a hypothetical built from published numbers, useful for checking whether a quote is in a sane range. If you are adding a second feed to an engine and VPN you already run, the engine and connectivity lines are shared, and the marginal cost is mostly build and maintenance.
How did the 2025 Mirth Connect licensing change affect interface costs?
It ended free updates for the engine many small teams and integrators ran. NextGen announced on March 19, 2025 that it was moving from a dual open-source and commercial model to a single commercial, proprietary license starting with Mirth Connect 4.6. It named 4.5.2, published September 23, 2024, as the last open-source version, which is still the latest release on its public GitHub.
NextGen's Mirth product page describes "simple flat-fee annual licensing for each server" across three tiers and says it does not charge per interface or data source. It publishes no prices. Extensions are only available with a license, and a complimentary Mirth Connect for Research license covers active studies at non-profit research institutions.
If you run 4.5.2 today, there are four options, and the last one is the one to avoid:
- Buy a NextGen license and upgrade. You keep your channels and get patches. Price it per server, including test servers.
- Move to an open-source fork. Open Integration Engine describes itself as an open source fork of "the now closed-source Mirth Connect", is licensed MPL-2.0, and released v4.7.0 on October 21, 2026. BridgeLink from Innovar Healthcare is also MPL-2.0. There is no license fee, but nobody sells you support by default, so your team carries security patching and upgrade risk.
- Migrate to another engine. Rhapsody's Corepoint prices by "organization's size, deployment model, and specific needs", and Rhapsody offers complimentary scoping for Mirth migrations. iNTERFACEWARE negotiates Iguana licensing with each customer instead of publishing tiers.
- Stay on 4.5.2 indefinitely. NextGen won't patch it, and it sits on a hospital VPN with PHI flowing through it, which security reviewers flag.
What do Epic and Oracle Health charge for HL7 interfaces?
Neither publishes what it charges its customers to license or build an HL7 v2 interface. Those fees sit in each health system's contract. What they do publish is the developer side: specs, sandboxes and, in Oracle's case, API fees.
Building Healthcare Software?
Get a free architecture review for your HIPAA-compliant application. We've built 20+ healthcare systems.
Download: 2026 HIPAA Compliance Checklist
14-page developer-focused checklist covering Privacy Rule, Security Rule, and Breach Notification requirements — plus 10 AI prompts for executive compliance verification.
Epic posts its HL7v2 interface specifications on open.epic, covering incoming and outgoing patient administration, orders, results and documentation (MDM) feeds, and says it offers over 750 no-cost APIs and interfaces. Epic's Vendor Services program is optional and its page lists no fee. In practice, a third party builds an HL7 v2 feed with an Epic customer's interface team, and whatever Epic charges that customer for the interface is between them.
Oracle Health publishes developer fees for its certified APIs: $500 a year for Oracle PartnerNetwork membership, a $3,000 annual line the table labels only as available with OPN membership, and $5,000 a year for Millennium Platform environment access. Oracle says these services "are not required to develop and deploy apps." They apply to FHIR API work, not to HL7 v2 feeds. Its developer program also describes OPENLink as its interface engine for creating and monitoring interfaces.
The information blocking rules give you a basis for questioning fees. To fall under the fees exception in 45 CFR 171.302, a vendor's fee for accessing or exchanging electronic health information must rest on objective criteria applied uniformly and be reasonably related to its costs. It may include a reasonable profit, but it cannot be based on whether you compete with the vendor. A fee outside the exception is not automatically information blocking, but it loses that protection. Our post on information blocking and getting your data out of an EHR covers how to raise it. This is not legal advice; review your license agreement and MSA with counsel.
Is an HL7 v2 interface cheaper than FHIR?
For event feeds, HL7 v2 is often cheaper when the hospital already runs a similar feed it can copy. For reading a chart from an app, FHIR avoids site-by-site mapping, but it has its own fees. Oracle Health charges providers a $10,000 setup fee plus an annual fee for certified API access.
Oracle's certified API fee schedule sets the provider's annual single-patient API fee at $15,000 to $30,000 for standalone Millennium environments, depending on patient record volume, on top of that one-time $10,000 setup. Taction's guide, for its part, puts a read-only FHIR build at $15K to $30K against $10K to $20K for a one-direction HL7 v2 interface.
| HL7 v2 | FHIR R4 | |
|---|---|---|
| Format | Pipe-delimited text segments | JSON or XML resources |
| Transport | Usually a persistent TCP connection over VPN | HTTPS REST with OAuth 2.0 (SMART App Launch) |
| Pattern | Push: the EHR sends a message when something happens | Mostly pull: your app queries when it needs data |
| Regulatory status | No certification API requirement | Health IT certified to 45 CFR 170.315(g)(10) must support FHIR 4.0.1, US Core 6.1.0 and SMART 2.0.0 (adopted in 170.215) |
| Typical uses | ADT, orders, results, scheduling, charges, documents | Patient and clinician apps, chart reads, bulk export |
| Who you work with | The hospital's interface team | The EHR vendor's developer program, then the hospital for activation |
| Main cost driver | Mapping variation between sites, Z segments, hospital queue | Provider API fees, app registration, write-back limits |
Standards versions are from 45 CFR 170.215. FHIR R4 itself is a mix of normative and trial-use content, so some resources still change between versions. For running both standards in one system, see our guide to FHIR and HL7 integration for HIPAA-compliant healthcare.
Where can AI cut HL7 interface cost?
AI can shorten the labor lines: reading specs, drafting mappings, writing transformer code and generating test messages. It doesn't touch vendor fees, the hospital's queue, or validation against real patient data, and on many projects those set the schedule.
Where it helps:
- Drafting the mapping spec. Given a vendor's interface spec and a set of de-identified sample messages, a model can produce a first-pass field map (source field, target field, transform, code set). An analyst still checks every row.
- Generating test messages. You need A01, A03, A08 and merge messages with edge cases such as missing middle names or repeating identifiers in PID-3. A model can produce hundreds of synthetic messages from a short description. Run each one through a parser before you trust it.
- Decoding Z segments. HL7 reserves every segment ID starting with Z for local use and defines none of them (v2.5.1, section 2.5.2), so a site's ZPV or ZIN segment may have no documentation at all. A model can propose what each Z field holds from a few hundred de-identified samples, which is reverse engineering. The site's interface analyst still has to confirm the meaning.
- Writing transformer code. Mirth and its forks use JavaScript transformers, which a model can write quickly once the mapping is settled.
We used an enumerate, probe, validate, abstract method on an undocumented vendor CRM API, where schema validation caught three vendor-side changes. Z segments call for the same habit. Once the meaning is confirmed, write a validator that fails loudly when the sender changes the segment's shape.
AI won't help with the hospital interface team, network team and EHR vendor schedules, which all run on their own queues. Validation stays manual too: someone with clinical context has to confirm each result landed on the right patient, and a model can draft that test plan but can't sign it off. Go-live work (parallel runs, replaying the backlog, on-call coverage) still takes staff time. And do not paste production messages into an AI tool unless the provider has signed a business associate agreement with you; our post on BAAs for software developers covers what that agreement needs.
How do you estimate your own HL7 interface cost?
Count interfaces by message type and direction, then price each line item separately. A single "per interface" quote hides the parts that vary most. Collect these answers before you ask anyone for a quote:
- List each feed as message type, trigger events and direction, for example ADT A01/A02/A03/A08 outbound from the EHR, ORU R01 inbound to the EHR.
- Get a sample of de-identified messages from the actual sending system, not just the vendor's spec. Count the optional segments in use and any Z segments.
- Ask the hospital what its EHR vendor charges for a new outbound or inbound interface, and whether its contract already covers it.
- Decide on the engine: the hospital's existing engine, a licensed engine you run, or an open-source fork you patch yourself.
- Confirm connectivity: site-to-site VPN, private link or the hospital's own gateway, and the lead time for a firewall change.
- Ask whether a test environment with test patients exists, and how many validation rounds the hospital requires.
- Agree who monitors the feed, who gets paged at 2 a.m., and who handles retesting after upgrades on either end.
- Ask every bidder to itemize what their number includes, so you don't pay twice for testing or support.
The cheapest interface is usually a copy of one that already works: same engine, same VPN, same message type, a new destination. Once you have the answers above, our custom software cost calculator gives a rough labor figure, and the published ranges above give a sanity check for the rest. If you are retiring a system rather than adding a feed, the MEDITECH MAGIC end-of-life guide covers the archive side.
Start by exporting the channel list from your current engine and tagging each channel with its message type, partner and last error date. If you want help pricing the rest, our EHR integration team can review it with you, or reach us through our contact page.
Download: 2026 HIPAA Compliance Checklist
14-page developer-focused checklist covering Privacy Rule, Security Rule, and Breach Notification requirements — plus 10 AI prompts for executive compliance verification.