In this article
- Why patient matching matters
- What is a master patient index?
- What is an EMPI?
- MPI vs EMPI
- How patient matching works
- Deterministic vs probabilistic
- Matching attributes
- Duplicates and overlays
- Identity management challenges
- Match-rate KPIs
- Precision, recall and thresholds
- EMPI implementation best practices
- EMPI and interoperability
- How Bonami helps
- FAQ
Key takeaways
- An MPI identifies patients inside one system or facility. An EMPI links records across many systems and facilities under one enterprise ID, and becomes necessary as soon as more than one system of record exists.
- Deterministic rules are transparent but brittle. Probabilistic matching scores imperfect data, but it needs tuning, two thresholds and a data steward queue. Most production EMPIs combine both.
- A single “match rate” hides the two errors that matter. Measure precision (how many links are right) and recall (how many true matches are found) against a reviewed sample, and track duplicates and overlays separately.
- Overlays, two people merged into one record, are rarer than duplicates but more dangerous. Tune auto-link thresholds for precision first and send the grey zone to people.
- The EMPI is integration infrastructure. HL7 v2 ADT merges, IHE PIX/PDQ and FHIR $match only work as well as the identity decisions behind them, so build it early rather than bolting it on.
Patient identity matching: why it matters more than it looks
Patient matching is the job of deciding whether two records describe the same person. Inside one hospital it happens every time someone registers; across a health system, an HIE or a data platform it happens millions of times a day, mostly without a person involved. When it goes wrong in one direction, a patient’s history is split across records and clinicians miss allergies, results and prior diagnoses. When it goes wrong in the other direction, two people’s records are combined and someone else’s history appears in the chart.
patient identification events reported by 181 healthcare organizations over 32 months, January 2013 to August 2015
ECRI Institute PSO Deep Dive, 2016match rates as low as this between organizations, even when they share the same EHR vendor
ONC Patient Identification and Matching Report, 2014, via Pew 2018of denied claims attributed to inaccurate patient identification, by respondents to a 2018 market survey
Black Book Market Research, 2018 (survey estimate)ECRI ranked patient identification errors second on its 2016 list of top patient safety concerns, and The Joint Commission requires hospitals to use at least two patient identifiers, now under goal NPG.01.01.01 of its 2026 National Performance Goals. Those rules cover the bedside. The EMPI covers the records behind it: if the chart itself belongs to two people, checking two identifiers at the bedside will not catch the error.
The problem is sharper in the United States, which has no national patient identifier, than in countries that issue one. But even with a national ID, newborns, visitors, emergency arrivals and data from systems that never captured the ID still need demographic matching. That is why every serious interoperability program eventually becomes a patient identity program.
What is a master patient index (MPI)?
A master patient index is the database inside a hospital information system or EHR that holds one entry per patient, with the identifiers and demographics used to find them. It issues the medical record number (MRN), and registration staff search it before creating a record so the same person is not registered twice.
An MPI predates electronic records: hospitals kept card indexes that pointed from a patient’s name to their paper chart. In a modern EHR, the MPI is the patient table plus the search, duplicate-check and merge functions around it. It answers one question, “Have we seen this person before, in this system?”, and it is only as good as the data captured at registration.
What a master patient index contains
Identifiers
The MRN or internal patient ID, plus any other identifiers the system stores: national ID or its last digits, insurance member ID, and IDs from other facilities.
Demographics
Legal name and other names, date of birth, administrative sex, address, phone numbers and email, ideally with previous values kept as history.
Events and history
Registration dates, merges, links and unlinks, with who did what and when. This audit trail is what lets you reverse a bad merge.
What is an enterprise master patient index (EMPI)?
An enterprise master patient index sits above many systems and facilities. It receives their patient records, matches them to each other, and assigns each person an enterprise identifier that cross-references every local ID. It is also called an enterprise master person index, because the same technique applies to members, providers and other people.
An EMPI does not replace each system’s MPI. The hospital EHR still issues its MRN, the lab system its accession-linked patient ID and the billing system its account number. The EMPI keeps the map between them, decides which local records belong together, and publishes those decisions so that every connected system, and every downstream consumer such as a FHIR data exchange or an analytics platform, sees one patient instead of three.
Two terms you will meet alongside it:
- Golden record. Some EMPIs build a “best” version of the patient’s demographics from all linked records, using survivorship rules such as “most recent verified address wins”. Others only link and leave each source record as it is.
- UMPI or community MPI. When the scope extends beyond one organization, for example an HIE or a national exchange, the index is sometimes called a universal or community master patient index. The matching techniques are the same; the governance and data-sharing rules are very different.
MPI vs EMPI: key differences and when you need each
The difference is scope. An MPI answers “have we seen this person in this system?” An EMPI answers “which records, across all our systems and facilities, belong to this person?”
- MRN 004821
- Name Jonathan A. Smith
- DOB 1984-03-07
| Dimension | MPI | EMPI |
|---|---|---|
| Scope | One facility or one system | Many systems and facilities across an enterprise |
| Identifier | Issues the local MRN | Issues an enterprise ID and cross-references every local ID |
| Main job | Find the existing record at registration; prevent duplicates inside the system | Link records for the same person across systems; resolve duplicates and overlaps enterprise-wide |
| Matching | Often simple search and rule-based duplicate checks | Deterministic and probabilistic matching, configurable weights and thresholds |
| Data stewardship | HIM team works the EHR’s duplicate list | Dedicated steward queue for uncertain pairs, merges and unmerges across systems |
| Integration | Internal to the EHR | HL7 v2 ADT, IHE PIX/PDQ, FHIR APIs to and from every connected system |
| Typical home | Built into the EHR or HIS | Standalone EMPI, integration platform module, or the EHR vendor’s enterprise identity service |
When an MPI is enough, and when you need an EMPI
One system of record
A single hospital or practice where one EHR handles registration, clinical and billing, and other systems receive patients from it rather than registering their own.
Several systems that register patients
Multiple EHRs after mergers, standalone lab, imaging or behavioral health systems, a payer and provider sharing members, or a data platform combining feeds from many sources.
You exchange data outward
Participating in an HIE, a registry or TEFCA-style exchange, or building a patient-facing app that pulls records from several sources.
Migrating or consolidating EHRs
Every acquisition brings its own MRNs and duplicates. Match them against the target index before migration, as we cover in our EHR migration vs archiving guide.
How patient matching works in healthcare systems
Whatever the algorithm, an EMPI runs the same pipeline every time a record is created or changed in a connected system.
- Capture
An ADT or FHIR event arrives from a source system.
- Standardize
Names, dates, addresses and phones normalized; junk values removed.
- Block
Pick a small candidate set, e.g. same birth year and name sound.
- Compare
Field by field: exact, fuzzy, phonetic, date-aware.
- Score
Rules fire or weights add up to a match score.
- Decide
Link, review or create, then publish to connected systems.
Records join the same enterprise ID. Connected systems receive a link or merge event.
The pair goes to a work queue with both records side by side. A person decides.
A new enterprise ID is created. The record stays a candidate for future matches.
Blocking is the step people skip in explanations and the one that decides performance. Comparing every new record with every existing one is impossible at scale, so the engine first selects candidates that share a cheap key, such as a phonetic code of the surname plus birth year. Blocking that is too narrow silently hides true matches; blocking that is too wide makes matching slow. Most engines run several blocking passes with different keys.
Standardization is the other quiet win. Converting addresses to a standard postal format, stripping titles and suffixes, normalizing phone formats and rejecting placeholder values like “BABY BOY” or 01/01/1900 improves every comparison that follows. Federal work on this is concrete: ASTP/ONC’s Project US@ published a unified specification for representing patient addresses consistently across systems in January 2022. Expect gains in finding matches, not miracles: in a 2019 JAMIA study, standardizing addresses to US Postal Service rules raised matching sensitivity by about 0.6% and 4.5% in two datasets, while overall accuracy stayed flat because specificity fell. Combined standardization lifted sensitivity in the HIE dataset from 81.3% to 91.6%.
Deterministic vs probabilistic patient matching
There are two families of patient matching algorithms, and most production EMPIs use both: deterministic rules for the clear cases and guardrails, probabilistic scoring for everything in between.
Deterministic matching
Links two records only when chosen fields agree exactly, or after defined normalization. Often run as an ordered list of rules.
THEN link
ELSE no match
- Strength
- Transparent, fast, easy to audit and explain
- Weakness
- Misses typos, nicknames, swapped dates and missing values
- Best for
- Exact identifiers, guardrails, small clean datasets
Probabilistic matching
Each field adds or subtracts a weight based on how much its agreement says about a true match. Weights sum to a score compared with two thresholds.
disagree → log2((1−m) / (1−u))
score = sum of field weights
- Strength
- Tolerates imperfect data; rare values count for more
- Weakness
- Needs tuning, labelled samples and monitoring
- Best for
- Enterprise and cross-organization matching
The probabilistic approach comes from the Fellegi–Sunter model of record linkage, published in 1969. For each field, m is the probability that it agrees when two records really are the same person, and u is the probability that it agrees by chance between two different people. Agreement on a field with a high m and a tiny u, such as a phone number or a national ID, is strong evidence. Agreement on sex, where u is about one half, is weak evidence. Modern engines add fuzzy comparators such as Jaro–Winkler for names, phonetic codes, nickname tables and date comparators that recognize swapped days and months.
Algorithm sophistication matters. AHIMA’s practice brief on patient identity in health information exchange notes that basic matching algorithms usually identify only 10 to 40 percent of existing duplicates, intermediate ones 50 to 70 percent, and advanced ones up to 98 percent.
See both methods decide the same pairs
Pick a scenario. Record A is already in the EMPI; record B is a new registration. The deterministic rule needs first name, last name, date of birth and sex to agree exactly. The probabilistic score uses illustrative weights, auto-links at 20 or more and sends 8 to 19.9 to review.
Same person, clean data
Truth: same personJonathan
Jonathan
Agree
+5.5
Smith
Smith
Agree
+6.6
1984-03-07
1984-03-07
Agree
+8.3
M
M
Agree
+1.0
77030
77030
Agree
+4.0
713-555-0142
713-555-0142
Agree
+9.6
6789
6789
Agree
+13.2
Score clears the auto-link threshold.
All four fields agree exactly.
With complete, consistent data both methods reach the right answer. Most real matching effort goes into the other cases.
Same person, registered with a nickname
Truth: same personJonathan
Jon
Close
+2.8
Smith
Smith
Agree
+6.6
1984-03-07
1984-03-07
Agree
+8.3
M
M
Agree
+1.0
77030
77030
Agree
+4.0
713-555-0142
blank
Missing
+0.0
6789
blank
Missing
+0.0
Score clears the auto-link threshold.
A second record is created for the same person.
The exact-match rule fails on “Jon”, so registration creates a duplicate. The probabilistic engine gives partial credit for a known nickname and still clears the auto-link threshold.
Same person, new address and phone
Truth: same personJonathan
Jonathan
Agree
+5.5
Smith
Smith
Agree
+6.6
1984-03-07
1984-03-07
Agree
+8.3
M
M
Agree
+1.0
77030
77005
Differ
-2.2
713-555-0142
832-555-0199
Differ
-2.0
6789
blank
Missing
+0.0
A steward should confirm the link.
All four fields agree exactly.
The rule ignores address, so it links correctly. The score drops into the review band: right outcome, but it costs a data steward’s time. Address history and standardized addresses reduce this.
Same person, day and month swapped
Truth: same personJonathan
Jonathan
Agree
+5.5
Smith
Smith
Agree
+6.6
1984-03-07
1984-07-03
Close
+3.0
M
M
Agree
+1.0
77030
77030
Agree
+4.0
713-555-0142
713-555-0142
Agree
+9.6
6789
blank
Missing
+0.0
Score clears the auto-link threshold.
A second record is created for the same person.
A transposed date of birth breaks the exact rule. Comparators that recognize day/month swaps, plus strong agreement on phone and address, keep the probabilistic score high.
Different people: same-sex twins
Truth: different peopleJonathan
Matthew
Differ
-3.3
Smith
Smith
Agree
+6.6
1984-03-07
1984-03-07
Agree
+8.3
M
M
Agree
+1.0
77030
77030
Agree
+4.0
713-555-0142
713-555-0142
Agree
+9.6
6789
blank
Missing
+0.0
Two people merged without review.
The records stay separate.
Twins share a surname, birth date, address and home phone, so a pure weight sum can clear the auto-link threshold. The result is an overlay. Production EMPIs add guardrail rules, such as “never auto-link when first names disagree on a shared birth date”, and send these pairs to review.
Different people with a common name
Truth: different peopleMaria
Maria
Agree
+5.5
Garcia
Garcia
Agree
+6.6
1990-05-12
1987-11-02
Differ
-5.1
F
F
Agree
+1.0
77030
77584
Differ
-2.2
713-555-0170
281-555-0133
Differ
-2.0
blank
blank
Missing
+0.0
Score below the review threshold.
The records stay separate.
Agreement on a common name is not enough, and both methods keep the records apart. Real engines go further and weight by value frequency: agreement on a rare surname counts for more than agreement on a common one.
Illustrative weights from assumed m and u values, not tuned for any population. Fictitious records.
Other matching approaches you will hear about
| Approach | How it works | Watch for |
|---|---|---|
| Rules-based (deterministic) | Ordered exact or normalized match rules | Brittle with real-world data entry |
| Probabilistic | Fellegi–Sunter weights, fuzzy comparators, two thresholds | Needs labelled pairs to tune and monitor |
| Referential | Compares records against an external reference database of identities | Third-party data dependency, contract and privacy terms |
| Machine learning | A classifier learns from labelled pairs which comparisons predict a match | Explainability, bias across populations, drift |
| Biometrics and identity proofing | Palm, face or verified digital identity at registration | Consent, coverage and enrolment workflow |
We help teams set up blocking, weights, thresholds and steward workflows, and test them against labelled samples before go-live.
Common patient matching attributes and identifiers
Not every field is equally useful. A good attribute is discriminating (few people share it), stable (it does not change), and usually captured. The table shows how the common ones compare in practice.
| Attribute | Discriminating | Stable | Notes |
|---|---|---|---|
| Date of birth | Strong and stable, but placeholder dates and day/month swaps are common. | ||
| Last name | Changes with marriage; hyphenated, compound and transliterated names vary. | ||
| First name | Nicknames, initials and spelling variants. Key for separating twins. | ||
| Administrative sex | Weak evidence alone; can change, so avoid using it as a hard rule. | ||
| Address | Moves often. Standardize format and keep previous addresses. | ||
| Phone number | Mobile numbers are fairly personal; household numbers are shared. | ||
| Often missing; shared family addresses exist. | |||
| National ID or its last digits | SSN last four in the US; full national IDs such as the Emirates ID or NHS number elsewhere. Not always captured. | ||
| Insurance member ID | Changes with plan; shared by dependants under some plans. | ||
| Local MRNs | Exact within their source system, meaningless outside it. |
In the US, the attributes that matter most for matching are now part of the national data standard. The 21st Century Cures Act Final Rule notes that current address, previous address, phone number, phone number type and email address were included in USCDI version 1 “for their usage in accurate patient matching”. That is useful leverage when you ask EHR vendors and exchange partners to send them consistently.
Patient deduplication: duplicates, overlaps and overlays
Health information management teams use three terms for identity errors. They need different fixes and different KPIs, so it pays to keep them apart.
DuplicateSame person, two records, one system
Created when registration cannot find the existing record. The history is split, so tests are repeated and results go missing. Fixed by merging, and prevented by better search and capture at registration.
OverlapSame person, records in different systems
Expected in any enterprise: the patient has an MRN at each facility. It becomes an error only when the records are not linked. Fixed by linking under one enterprise ID, which is the EMPI’s core job.
OverlayTwo people, one record
One person’s data written into another’s chart, through a false-positive match or the wrong patient chosen at registration. Rarer, but the most dangerous. Fixed by an unmerge and clinical review of what was documented.
Merge, link and unmerge
Within one system, two records for the same patient are usually merged: one survives, the other is retired, and in HL7 v2 the change goes out as an ADT^A40 “merge patient” message so downstream systems follow. Across systems, records are usually linked under an enterprise ID rather than merged, because each source system keeps its own record; HL7 v2 has ADT^A24 “link patient information” and ADT^A37 “unlink”. Every merge needs a tested unmerge path, because a wrong merge that cannot be reversed turns into a permanent overlay.
What a duplicate costsONC’s 2014 patient matching report quotes Intermountain putting the cost of fixing one duplicate record at $60, and Children’s Medical Center Dallas at an average of $96 per duplicate, after it cut its duplicate rate from 22% to 0.14%. Black Book’s 2018 market survey estimated duplicates cost $1,950 per patient per inpatient stay. These are self-reported and vendor-survey figures from single organizations, not industry benchmarks. We found no credible published figure for the cost of an overlay.
Common challenges in patient identity management
Most matching errors start long before the algorithm runs. GAO’s 2019 review of patient matching found that inaccurate, incomplete or inconsistently formatted demographic information was the main obstacle, and that no single effort would solve it. These are the causes we see most often, and what to do about them.
Inconsistent data entry at registrationMost common
Different staff, systems and forms capture names, dates and addresses differently: initials, missing middle names, free-text addresses, phone numbers with or without country codes.
Standardize capture in the registration UI: structured address fields with validation, required formats, and search-before-create screens that show likely matches. Measure duplicate creation by registration area.
Placeholder and default values
Emergency, newborn and unidentified patients are registered as “UNKNOWN”, “BABY BOY” or with dates such as 01/01/1900. Default phone numbers and addresses appear on thousands of records.
Maintain a list of known placeholders and exclude them from matching, so they neither help nor hurt a score. Flag temporary identities for follow-up once the patient is identified.
Twins, multiples and familiesOverlay risk
Family members share surnames, addresses, phones and sometimes birth dates. They are the classic source of false-positive matches and overlays.
Add guardrail rules: never auto-link when first names disagree on a shared birth date, or when another strong identifier conflicts. Route these pairs to review.
Names that change or vary
Marriage, divorce, transliteration from Arabic, Chinese or other scripts, compound surnames, and name order conventions all create legitimate variation.
Keep name history rather than overwriting. Use nickname and transliteration tables, compare given and family names in both orders, and test matching performance across the populations you serve.
No national patient identifier in the US
Since FY1999, appropriations language has stopped HHS from adopting the unique health identifier HIPAA called for, so US matching relies on demographics.
Capture strong identifiers where you lawfully can, such as SSN last four, insurance IDs and verified phone and email, and invest in address standardization. In countries with national IDs, validate the ID at registration.
Mergers and system consolidation
Every acquisition brings its own MRNs, duplicates and data conventions, and migrations can carry duplicates into the new EHR.
Run an identity clean-up and match against the target index before any clinical data moves. Keep the old identifiers as cross-references so historical documents stay findable.
Matching across organizations
HIEs and national exchanges see the least consistent data and cannot fix registration at the source. Privacy rules limit which attributes can be shared.
Agree the attributes and formats with exchange partners, return match confidence with results, and keep a steward process for cross-organization conflicts.
Patient match-rate KPIs: how to measure EMPI performance
“Our match rate is 98%” means little until you know what was counted. A useful KPI set covers three things: the quality of the data in the index, the accuracy of the matching decisions, and the cost of keeping it that way.
Duplicate record rate
The headline HIM metric. Measure it with a periodic duplicate-detection run, and estimate the true rate from a reviewed sample of suspected pairs.
Watch for: a low rate can just mean a tight detection algorithm. Report it with the method used.
Overlay rate
Usually found through clinician reports, unmerge requests and audits. Track every confirmed overlay as a safety event with a root cause.
Watch for: zero reported overlays often means nobody is looking.
Duplicate creation rate
Shows whether registration practice is improving. Break it down by department and channel to target training and search improvements.
Watch for: emergency and newborn registration will always run higher.
Precision (positive predictive value)
Of the pairs the EMPI linked, how many were truly the same person. Low precision means overlays. Measure auto-links separately from steward decisions.
Watch for: push precision up by raising the threshold and you lower recall.
Recall (sensitivity)
Of the pairs that truly are the same person, how many the EMPI found. Low recall means duplicates and split histories.
Watch for: recall needs a sample of true matches, including ones the engine never proposed.
F1 score
One number for comparing configurations or vendors on the same labelled sample.
Watch for: it weighs both errors equally, and in healthcare a false positive usually costs more.
Auto-link rate
How much of the work happens without a person. Useful for capacity planning, never as a goal on its own.
Watch for: raising it by lowering the threshold trades steward time for overlays.
Review queue size and age
An unworked queue means unresolved duplicates in production. Pair it with steward throughput and the unmerge rate, which shows how often decisions are reversed.
Watch for: a growing backlog is an early warning that thresholds or staffing need attention.
About published match-rate benchmarksThere is no single industry match-rate benchmark, and published numbers measure different things. AHIMA promotes a duplicate error rate of 1% or less; in its 2020 survey, 22% of respondents reported reaching that and 29% did not know their rate. Black Book’s 2018 survey reported an average of 18% duplicates before an EMPI tool was in place. The Sequoia Project’s patient identity framework recommends reporting precision rather than specificity. The proposed MATCH IT Act of 2025 mentions a 99.9% match rate, but it is a bill, not a requirement. Set targets from your own measured baseline.
False positives, false negatives, precision and recall
Every matching decision lands in one of four boxes. Precision and recall are just ratios of these boxes, and the thresholds decide how pairs are distributed between them.
One patient, one history.
Another person’s data in the chart. Safety risk.
Split history, repeat tests, denied claims.
Two people, two records.
A worked example
Suppose a data steward reviews a random sample of 1,000 record pairs and labels 300 as true matches. The EMPI linked 285 pairs: 282 of them correct and 3 wrong. It missed 18 true matches.
- Precision = 282 ÷ (282 + 3) = 98.9%. About one link in a hundred is wrong.
- Recall = 282 ÷ (282 + 18) = 94.0%. Six in a hundred true matches were missed and became duplicates.
- F1 = 2 × 0.989 × 0.940 ÷ (0.989 + 0.940) = 96.4%.
The same engine could report a “match rate” of 98.9%, 94.0% or something else entirely, depending on which ratio is chosen. Always ask for both numbers, the size of the labelled sample, and how the sample was drawn. Numbers in this example are illustrative.
Try it: move the thresholds
The chart shows 1,000 synthetic candidate pairs by match score: true matches above the line, non-matches below. Pairs above the auto-link threshold are linked automatically, pairs between the thresholds go to a data steward, and pairs below become new records. Watch what each threshold does to precision, recall and the review queue.
Synthetic data for illustration: 300 true matches and 700 non-matches, including some family members who score like matches and some true matches whose details changed. “Recall after review” assumes stewards decide review pairs correctly.
Two lessons carry over to real systems. First, there is no threshold that removes both errors when the distributions overlap; you choose which error to pay for, and in healthcare that usually means tuning the auto-link threshold for precision and accepting a review queue. Second, the review band is a staffing decision as much as a technical one. Size it to the number of data stewards you actually have.
Best practices for implementing an EMPI solution
Whether you license EMPI software, use your EHR vendor’s enterprise identity module or build matching into your own platform, the projects that succeed follow a similar order.
Baseline before you buy
Profile identity data in every source: completeness of each attribute, placeholder values, formats, and an estimated duplicate rate from a sample. This is the baseline every later KPI is compared with.
Set up governance and stewardship
Name an owner, usually HIM, define who may merge, unmerge and link, write the policies for twins, newborns, unknown patients and name changes, and staff the review queue.
Standardize capture at the source
Structured address entry, required formats, search-before-create screens and placeholder rules in every registration system. The cheapest match is the one you never have to make.
Build a labelled sample, then tune
Have stewards label a few thousand candidate pairs drawn across score ranges and populations. Use it to set blocking keys, weights and both thresholds, and keep part of it aside to measure precision and recall honestly.
Clean up history before go-live
Run the initial cross-match across all sources, work the high-score pairs first, and agree how legacy duplicates will be merged or linked in each system.
Integrate in both directions
Feed registrations and updates in, and publish links and merges back out to EHRs, ancillary systems and the data platform, so nobody keeps acting on a stale identifier.
Monitor and re-tune
Report the KPI set monthly, re-sample precision and recall at least yearly and after any source change, and investigate every overlay as a safety event.
EMPI readiness checklist
Tick items as you confirm them (progress is saved in this browser only), or print it for your steering group.
EMPI readiness checklist · Bonami Software · bonamisoftware.com/blog-empi-patient-matching
Data and baseline
Governance
Matching
Integration and operations
Buy, use the EHR’s, or build?
Most providers license a proven EMPI or use the enterprise identity service of their EHR or integration platform, then invest in configuration, tuning, stewardship and integration. Building your own matching makes sense when identity is part of your product, for example a health data platform, registry, HIE or payer system, and you need control over the logic, scale or where the data lives. Open-source options such as the HAPI FHIR server’s MDM module or OpenEMPI exist, but the engine is the smaller part of the work; governance and integration are the larger part.
How an EMPI supports EHR integration and healthcare interoperability
In an integration architecture the EMPI sits next to the interface engine. Source systems send registrations and updates in, the EMPI decides identity, and every consumer asks it which records belong together.
- Standardize
- Block and compare
- Score and decide
- Steward queue
- Cross-reference IDs
- Audit trail
Usually behind an integration engine that handles HL7 v2, FHIR and routing.
HL7 v2 ADT^A04 register, A08 update, A28/A31 add or update person; FHIR Patient create and update.
IHE PIX and PDQ, or their FHIR versions PIXm and PDQm; FHIR Patient/$match for scored candidates.
ADT^A40 merge, A24 link, A37 unlink; FHIR Patient.link (replaced-by, seealso).
| Standard | What it does for identity |
|---|---|
| HL7 v2 ADTA01, A04, A08, A28, A31 | Carries registrations and demographic updates from source systems to the EMPI. Still the most common identity feed inside hospitals. |
| HL7 v2 ADT merge and linkA40, A24, A37 | Tells downstream systems that two patient identifiers were merged, linked or unlinked, so they can follow. |
| IHE PIX / PIXmPatient Identifier Cross-referencing | Given one identifier, returns the patient’s identifiers in other domains. The EMPI acts as the cross-reference manager. |
| IHE PDQ / PDQmPatient Demographics Query | Searches patients by demographics, for example from a registration screen or an exchange partner. |
| FHIR Patient $matchhl7.org/fhir | Submits a Patient resource and returns candidate matches with a score from 0 to 1 and a match grade: certain, probable, possible or certainly-not. |
| FHIR Patient.linkreplaced-by, replaces, refer, seealso | Represents merges and links between Patient resources in a FHIR server. |
POST [base]/Patient/$match
{
"resourceType": "Parameters",
"parameter": [
{ "name": "resource", "resource": {
"resourceType": "Patient",
"name": [{ "family": "Smith", "given": ["Jon"] }],
"birthDate": "1984-03-07",
"address": [{ "postalCode": "77030" }]
}},
{ "name": "onlyCertainMatches", "valueBoolean": false },
{ "name": "count", "valueInteger": 3 }
]
}A server that supports $match returns a Bundle of candidate Patients, each with search.score and, optionally, a match-grade extension. The specification deliberately leaves the algorithm to the server, which is why a FHIR $match endpoint is usually backed by an EMPI. If you are building one, our FHIR integration and HL7 integration teams cover both sides, and the HL7 and FHIR integration guide explains how the message flows fit together.
Identity across exchanges: TEFCA, the UAE and Saudi Arabia
Exchange frameworks increasingly name the EMPI directly. TEFCA’s QHIN Technical Framework (version 2.1, October 2025) requires a QHIN to resolve patient identity through an enterprise master patient index or a record locator service, asks that addresses conform to Project US@, and says matching recommendations or requirements will follow.
In the Gulf, national IDs help but do not remove the need for matching. Dubai’s NABIDH identity management policy makes the Emirates ID the primary identification document for patients, with a passport or residency permit accepted when there is none. Abu Dhabi’s Department of Health requires the Emirates ID to be captured by card reader at every visit, noting that poor demographic capture affects patient matching in the Malaffi HIE. Saudi Arabia’s NPHIES accepts several identifier types, including national ID, Iqama, passport, visitor permit and border number. Each of these still needs an index that links visitors, newborns and legacy records correctly; see our NABIDH, Malaffi and NPHIES integration pages.
How Bonami helps with patient identity and EMPI projects
Our healthcare engineering team builds the identity layer as part of integration and data platforms: matching engines, steward workflows, and the HL7 and FHIR plumbing that carries identity decisions to every system. We have built identity resolution for a state immunization registry and for a national health services payer, so we know where the hard cases hide.
Identity data assessment
Profiling of every source, a sampled duplicate and overlay estimate, and a KPI baseline your HIM and IT teams can sign.
Matching design and tuning
Blocking, comparators, weights, guardrail rules and thresholds tuned on labelled pairs, with precision and recall reported, not assumed.
EMPI integration
HL7 v2 ADT, IHE PIX/PDQ and FHIR $match integration with your EHRs, data platform and exchanges, plus steward tooling.
Frequently asked questions about EMPI and patient matching
What is a master patient index (MPI)?
A master patient index is the database inside a hospital information system or EHR that holds one entry per patient, with the identifiers and demographics used to find them, such as medical record number, name, date of birth, sex, address and phone. Registration staff search it before creating a record, so the same person is not registered twice.
What is the difference between an MPI and an EMPI?
An MPI covers one facility or one system and usually issues the medical record number. An enterprise master patient index (EMPI) sits above many systems and facilities, matches their records to each other and assigns an enterprise identifier that cross-references every local ID. Use an MPI when one EHR is the only system of record; use an EMPI when several EHRs, labs, billing systems or acquired facilities hold records for the same patients.
What does an EMPI do?
An EMPI receives patient registrations and updates from connected systems, standardizes the demographics, compares each record against existing ones with deterministic and probabilistic matching, links records that belong to the same person under one enterprise ID, sends uncertain pairs to a data steward, and publishes merges and links back to connected systems through HL7 v2 messages, IHE profiles or FHIR APIs.
What data elements are included in an MPI?
Typically the internal patient identifier or medical record number, full legal name and other names, date of birth, administrative sex, address, phone numbers, email, and often the last four digits of a national identifier, insurance member ID, and registration dates. Enterprise indexes add the identifiers issued by every connected system and a history of merges and links.
What is the difference between deterministic and probabilistic patient matching?
Deterministic matching links two records only when chosen fields agree exactly, or after defined normalization. It is transparent but misses records with typos, nicknames or missing values. Probabilistic matching gives each field a weight based on how much its agreement or disagreement says about a true match, adds the weights into a score and compares the score against thresholds. It tolerates imperfect data but must be tuned and monitored.
What is a good patient match rate?
There is no single published benchmark that fits every organization, because match rates depend on data quality, population and how a match is counted. Measure precision and recall against a manually reviewed sample of record pairs, track duplicate and overlay rates over time, and set targets from your own baseline. Treat any vendor match-rate claim without its method as unverifiable.
What is an overlay in healthcare?
An overlay is when records for two different people are combined into one, so one patient’s allergies, results or notes appear in another person’s chart. It is the most dangerous identity error because clinicians may act on the wrong history. Overlays are usually caused by a false-positive match or a registration clerk choosing the wrong patient.
What is a duplicate medical record?
A duplicate is a second record for the same person in the same system, usually created when registration staff cannot find the existing record because a name, date of birth or address was entered differently. Duplicates split a patient’s history across records and can lead to repeated tests, missed results and claim denials. AHIMA promotes a target duplicate error rate of 1% or less of the records in the MPI.
Is there a national patient identifier in the United States?
No. HIPAA in 1996 called for a unique health identifier for individuals, but since fiscal year 1999 annual appropriations language has barred HHS from spending funds to adopt one. US organizations therefore match patients on demographics, which is why EMPIs and matching quality matter so much there. Many other countries, including the UK and the UAE, use national identifiers in healthcare.
Does FHIR support patient matching?
Yes. FHIR defines a Patient $match operation: a client sends a Patient resource with the demographics it has, and the server returns candidate matches with a search score from 0 to 1 and an optional match-grade extension of certain, probable, possible or certainly-not. The algorithm behind it is left to the server, so a FHIR $match endpoint is usually backed by an EMPI.
What is referential matching?
Referential matching compares patient records against an external reference database of identities, often built from commercial or public data, rather than only against each other. It can link records whose demographics changed over time, such as a new surname or address. It adds a third-party data dependency, so review contracts and privacy terms before using it.
Should we buy or build an EMPI?
Most organizations buy or license a proven EMPI, or use the one in their EHR or integration platform, and invest in configuration, tuning, data stewardship and integration. Building makes sense when identity is part of your product, for example in a health data platform, HIE or registry, and you need control over the matching logic, scale or deployment. Either way, the hard work is tuning, governance and integration rather than the database.
The takeaway: treat patient identity as infrastructure, and measure it
An MPI is enough while one system owns registration. The moment several systems, facilities or partners hold records for the same people, you need an EMPI, and its value depends on decisions you can see and measure: how records are standardized, how candidates are blocked, how scores become links, and who reviews the grey zone.
Start with a baseline, tune on labelled pairs, set the auto-link threshold for precision, staff the review queue, and report duplicates, overlays, precision and recall every month. Do that, and every interface, dashboard and AI model built on top inherits identity you can trust.
Duplicates, overlays or a new EMPI on the roadmap?
Tell us which systems register patients today, roughly how many records they hold, and where you exchange data. We will outline what an identity data assessment would measure and the decisions it would settle.
This article is general guidance. Matching weights, thresholds, the scenario records and the simulator data are illustrative and not tuned for any population. Statistics are quoted from the publications named in the text, with their dates; they are not benchmarks for your organization. Patient names, dates and identifiers are fictitious.