Linkage — detail: federated MPI and HIE deduplication
Operational tooling for Master Patient Indexes and Health Information Exchanges: which Patient resource is source of truth? Linkage answers this question.
Federated MPI patterns
In an HIE (Health Information Exchange) or a federated MPI, the same patient appears under multiple identifiers in different systems. Linkage attaches to a canonical source patient its alternates (equivalent identifiers) and its historical records (former identifiers).
item.type
| Code | Semantics |
|---|---|
source | Master resource. At least 1 per Linkage. |
alternate | Equivalent resource, still active. |
historical | Former archived resource, kept for traceability. |
Linkage vs Patient.link vs Person.link
- Patient.link — internal usage within a system (replace, replaced-by, refer, seealso). Cardinality limited to Patient + RelatedPerson.
- Person.link — multi-domain aggregation (Patient + Practitioner + RelatedPerson). Person serves as cross-role MPI pivot.
- Linkage — external usage, run by a steward (HIE manager, MPI team), able to point to any FHIR resource.
Example: 3-system HIE deduplication
{
"resourceType": "Linkage",
"id": "hie-mpi-link-marie-dupont",
"active": true,
"author": { "reference": "Organization/hie-mpi-team" },
"item": [{
"type": "source",
"resource": { "reference": "Patient/hospital-a-MR12345" }
}, {
"type": "alternate",
"resource": { "reference": "Patient/hospital-b-MR67890" }
}, {
"type": "alternate",
"resource": { "reference": "Patient/clinic-c-PT-2024-0042" }
}, {
"type": "historical",
"resource": { "reference": "Patient/old-system-archived-MR-99999" }
}]
} Common pitfalls
- No source — a Linkage must have at least one
type=source. - Circular Linkage chains — Linkage A references B, B references A: avoid.
- Unversioned Linkage — historise via Provenance to be able to reconstruct the merge.
- Audit missing — every Linkage create/update should emit an AuditEvent.