Custom Software

HL7 ADT Integration Services

HL7 ADT integration builds the admission, discharge and transfer feeds that tell every downstream system where each patient is and who they are. The work covers trigger event handling across A01 to A62, patient merge logic including A40, master patient index reconciliation, acknowledgement and retry design, and validation against production message samples. A single ADT feed typically costs $15,000 to $30,000. ADT distribution across multiple downstream systems runs $30,000 to $70,000.

ADT is the interface everything else depends on. When a results feed files an observation against the wrong encounter, the fault is almost never in the results interface. It is in an ADT feed that missed a merge, processed events out of order, or quietly stopped. Taction has completed 250+ healthcare and EHR integrations since 2013, and ADT is the message family we work with most.

Certification

Tell Us Your Requirements

Our experts are ready to understand your business goals.

100% confidential & no spam

Trusted Partners

Trusted by Industry Leaders Worldwide

Recognition

Awards & Recognitions

Clutch AI Award
Top Clutch Developers
Top Software Developers
Top Staff Augmentation Company
Clutch Verified
Clutch Profile
Enterprise Grade

Our HL7 ADT Integration Services

We build, remediate and support ADT feeds as fixed-scope engagements with a stated price and timeline. Scope is set after reviewing actual message samples from your environment, because ADT specifications and ADT production output routinely differ, and an estimate based on the specification alone will be revised during delivery. A Business Associate Agreement is executed before any work touches an environment containing protected health information.

A review of your existing feed, message samples, error queues and downstream reconciliation state, delivered as a written findings and remediation plan you can act on independently.

Trigger event handling, transformation, acknowledgement and retry logic, and routing to each downstream consumer, validated against captured production traffic before go-live.

One inbound feed fanned out to several downstream systems, each with its own filtering, transformation and error handling, managed centrally rather than duplicated per connection.

Reconstructing identity state where merges were missed or misapplied, then implementing the handling that prevents recurrence. Frequently the highest-value work we do on an existing estate.

Translating v2 ADT into FHIR Patient and Encounter resources for systems that expect a modern API rather than a message feed. See our healthcare integration solutions.

Queue depth, throughput and error rate monitoring with defined escalation, covered under our published Mirth Connect support tiers.

What HL7 ADT Integration Actually Involves

An ADT feed looks simple in a diagram and behaves badly in production. The message structure is standard, the trigger events are documented, and yet ADT is consistently the interface that causes the most downstream damage when it drifts. The reason is that ADT carries identity and encounter context rather than clinical content, so its failures do not surface as errors. They surface weeks later as a result filed against the wrong visit, a duplicate patient record, or a downstream system quietly holding a patient who was discharged in March.

ADT Carries Identity, Not Clinical Data

The message tells downstream systems who the patient is and what is happening with their visit. Every clinical interface depends on that context being correct and current.

Event Ordering Matters More Than Volume

Messages arriving out of sequence produce state that is internally inconsistent. Handling ordering explicitly is what separates a feed that works from one that appears to.

Not Every Trigger Event Needs Handling

There are more than fifty ADT trigger events and most integrations act on a subset. Deciding which to handle, and what to do with the rest, is an early design decision rather than an afterthought.

Downstream Systems Behave Differently

The same ADT stream feeds a lab system, a billing platform and a monitoring vendor, each interpreting it differently. One feed, several sets of expectations.

Acknowledgement and Retry Design

An unacknowledged message is an undelivered message. AA, AE and AR handling with retry logic and an inspectable error queue determines whether failure is visible or silent.

Where the Interface Engine Sits

Centralizing ADT through an engine means transformation and routing live in one place rather than spread across point-to-point connections. We build this on Mirth Connect.

ADT Event Coverage: A01 Through A62

The HL7 v2 standard defines ADT trigger events from A01 through A62, though a working integration typically acts on a core subset and acknowledges the rest. In US hospital environments the events you will encounter within minutes of connecting are A01, A02, A03, A04, A08, A11, A12, A13, A28, A31 and A40. Everything else appears occasionally, in site-specific configurations, or not at all. Scoping should state explicitly which events are handled, which are acknowledged and ignored, and what happens to anything unexpected.

01

Admission and Registration Events

A01 admit, A04 register for outpatient and emergency visits, A05 pre-admit and A14 pending admit. The distinction between A01 and A04 is the one most frequently mishandled by downstream systems.

02

Transfer and Discharge Events

A02 transfer, A03 discharge and end of visit, plus A06 and A07 for status changes between outpatient and inpatient. Location changes drive bed management and device association.

03

Update Events

A08 update patient information and A31 update person information, both extremely high volume. Systems that treat A08 as optional accumulate stale demographics within weeks.

04

Cancellation Events

A11 cancel admit, A12 cancel transfer and A13 cancel discharge. Ignoring cancellations leaves downstream systems holding a state that no longer reflects reality.

05

Person and Identity Events

A28 add person, A29 delete person, A24 link and A37 unlink. These operate at person level rather than encounter level, which is a distinction that matters for identity handling.

06

Legacy and Deprecated Events

A18, A30, A34, A35, A36 and A46 have been superseded by newer triggers. They still appear from older systems, and a feed should handle them rather than reject them outright. Our ADT event type guide covers the full set.

Patient Merge and A40 Handling

Merge is where ADT integration is genuinely difficult, and where the consequences of getting it wrong are clinical rather than technical. When a hospital discovers that one patient exists twice in its system, it merges the records and sends an A40. Every downstream system must then reconcile its own copy of that patient, reassign historical data and retire the surviving identifier correctly. Systems that acknowledge A40 without acting on it create a permanent divergence, and the divergence is invisible until someone looks at the wrong chart.

What A40 Actually Instructs

Merge patient by patient identifier list. The message carries both the surviving identifier and the one being retired, and the receiving system is expected to reassign everything associated with the retired identifier.

Related Merge and Move Events

A39 merges at person level, A41 merges accounts, A42 merges visits, and A43 to A45 move rather than merge. Treating all of them as equivalent produces incorrect reassignment.

Downstream Systems That Cannot Merge

Many receiving systems have no merge capability at all. The interface must then decide between queuing for manual reconciliation or flagging the conflict, and doing neither is the common failure.

Historical Data Reassignment

A merge is not just an identity update. Results, documents and encounters associated with the retired identifier must follow, or the record is split rather than merged.

Unmerge and Correction

Merges are sometimes performed in error and reversed. A feed with no path for unmerge leaves downstream systems permanently wrong after a correction upstream.

Detecting Missed Merges

Periodic reconciliation against the source identity list surfaces merges that were acknowledged but not applied, which is otherwise undetectable from logs alone.

MPI Reconciliation and Patient Identity

A master patient index is the authority on who a patient is across systems, and ADT is the mechanism that keeps it current. Where an MPI exists, ADT feeds must respect its identifier hierarchy rather than treating any single system’s identifier as canonical. Where no MPI exists, the ADT feed frequently becomes the de facto identity mechanism by accident, which works until the first merge or the first patient registered twice at two facilities. Establishing which system holds identity authority is a design decision, not a technical detail.

Identifier Hierarchy and Assigning Authority

PID-3 carries an identifier list, each with its own assigning authority. Interfaces that read only the first identifier break as soon as a second facility joins the estate.

Enterprise Versus Facility Identifiers

A facility medical record number and an enterprise identifier are different things. Confusing them is the root of a large share of duplicate-record problems in multi-site organizations.

Reconciliation Against the Source

Periodic comparison between downstream identity state and the source of truth, catching drift that no error log reports. This is the check most estates do not have.

Duplicate Detection and Prevention

Interfaces can surface probable duplicates as they arrive rather than waiting for a data quality project to find them months later.

Handling Unknown and Unmatched Patients

Trauma registrations, unidentified patients and downtime records all enter the feed and later resolve to a real identity. The feed needs a defined path for this.

Identity Across Organizational Boundaries

Patients treated at more than one organization carry no shared identifier. Cross-organization matching is a different problem and should not be solved inside an ADT interface.

Testing and Validation Approach

ADT interfaces pass testing and fail in production more often than any other message family, because test extracts are clean and real registration behavior is not. Trauma cases, downtime entries, corrected records and out-of-sequence events do not appear in a sanitized sample set. We test against captured production traffic and deliberately exercise the paths that are normally assumed rather than verified, because an interface that has never seen a merge is an interface whose merge handling is unproven.

Testing With Real Message Samples

Captured production traffic rather than vendor examples, because the deviations that break interfaces are exactly the ones sanitized samples remove.

Exercising Failure Paths Deliberately

Malformed messages, unknown trigger events and unreachable endpoints injected on purpose, to confirm the interface fails loudly rather than silently.

Out-of-Order and Duplicate Events

Replaying events out of sequence and resending duplicates, because both happen in production and neither should corrupt downstream state.

Merge Scenario Testing

Merge, move and unmerge exercised end to end across every downstream consumer, since this is the scenario least likely to have been tested and most likely to cause clinical harm.

Volume and Performance Testing

Sustained throughput at expected peak, because a feed that keeps up at average volume and falls behind at admission peak is a feed that will fall behind.

Reconciliation Evidence for Sign-Off

Message-level comparison between source and destination, documented so clinical and compliance stakeholders approve go-live on evidence rather than assurance.

Common ADT Failure Modes

ADT problems cluster into a small number of recognizable patterns, and in newly assessed environments we usually find several of them at once. What they share is invisibility: none produces an obvious error, and all of them are discovered downstream, often by a clinician rather than by IT. Knowing the patterns is most of the diagnosis, which is why an assessment on an existing feed routinely returns findings within the first day.

01

The Feed That Stopped Quietly

A channel stops and nothing alerts, because monitoring watches server uptime rather than message flow. Downstream systems simply stop learning about new patients.

02

Merges Acknowledged but Not Applied

The most damaging failure and the hardest to detect. Downstream identity diverges permanently from the source, and nothing in any log reports it.

03

A08 Treated as Optional

Updates dropped or deprioritized, producing demographics that are correct at registration and progressively wrong afterward.

04

Cancellations Ignored

A11, A12 and A13 unhandled, leaving downstream systems holding admissions, transfers and discharges that were reversed upstream.

05

Only the First Identifier Read

PID-3 parsed as a single value rather than a list, which works at one facility and breaks the moment a second assigning authority appears.

06

Error Queue Nobody Watches

Failed messages accumulating in a queue that has no alerting and no owner, discovered during an unrelated investigation months later.

ADT Interface Cost and Timelines

ADT work is priced by scope rather than by hour. The drivers are the number of downstream consumers, whether merge and identity handling are in scope, how cleanly the source system follows specification, and how deep the validation requirement runs. Remediating an existing feed is frequently cheaper than organizations expect and delivers more immediate value than a new build, because the highest-impact findings usually exist already and are simply unseen.

  1. Why Downstream Count Drives Cost

    The inbound feed is built once. Each downstream consumer adds its own filtering, transformation, error handling and testing, and that is where effort accumulates.

  2. Merge Handling as a Cost Driver

    Implementing merge correctly across every downstream system, with reconciliation, is a meaningful share of any full ADT programme. Skipping it is why estates need remediation later.

  3. Source System Quality

    Systems that follow the specification cleanly are cheap. Systems adding Z-segments, deviating under load or sending inconsistent identifiers are where the hours go.

  4. Validation Depth

    Engineering test evidence and clinically reviewed message-level reconciliation cost differently for identical engineering. Agree the requirement before scoping, not after.

  5. Remediation Versus Rebuild

    Most drifting feeds can be remediated rather than replaced. We assess before recommending a rebuild, because rebuilding a working feed is rarely the cheapest correct answer.

  6. Estimate Your Own Project

    Our cost calculator gives a starting estimate, and a feed assessment produces a firm number.

    Cloud infrastructure, engine licensing and third-party connectors are quoted separately from engineering effort and never absorbed silently into a build estimate.

FAQs

Frequently Asked Questions

An ADT interface carries admission, discharge and transfer messages from a source system, usually the EHR or hospital information system, to every downstream system that needs to know patient identity and encounter status. It is the foundation most other clinical interfaces depend on.

The HL7 v2 standard defines ADT trigger events from A01 through A62. Most production integrations act on a core subset: A01, A02, A03, A04, A08, A11, A12, A13, A28, A31 and A40, acknowledging the remainder without processing them.

A40 instructs a receiving system to merge two patient records identified in the patient identifier list, retiring one identifier and reassigning its associated data to the surviving one. Handling A40 correctly across every downstream system is the hardest part of ADT integration.

A single ADT feed from one source to one destination typically runs $15,000 to $30,000. Distribution across multiple downstream systems runs $30,000 to $70,000. Remediating an existing feed usually runs $9,000 to $25,000.

Yes. A feed assessment reviews message samples, error queues and downstream reconciliation state, and typically returns findings within the first day. Silent failures are the most common finding and rarely appear in any log.

Yes. HL7 v2 ADT maps to FHIR Patient and Encounter resources for systems expecting a modern API. Identity handling still has to be resolved correctly, because the mapping does not solve merge semantics on its own.

Send us your source system, the downstream systems consuming the feed, and what is going wrong. You will speak with an HL7 interface engineer rather than a salesperson. If your feed can be remediated rather than rebuilt, we will tell you, and we do not quote a build before reviewing real message samples. Start through our contact form.

Ready to Discuss Your Project With Us?

Your email address will not be published. Required fields are marked *

What's Next?

Our expert reaches out shortly after receiving your request and analyzing your requirements.

If needed, we sign an NDA to protect your privacy.

We request additional information to better understand and analyze your project.

We schedule a call to discuss your project, goals. and priorities, and provide preliminary feedback.

If you're satisfied, we finalize the agreement and start your project.