Healthcare platform teams debate frameworks while production clinics drown in duplicate patient rows. The failure mode is predictable: scheduling mints identifier A, the chart opens B, and every HL7 ORU or FHIR DiagnosticReport becomes a reconciliation ticket. Fixing that is not a bigger bus — it is a stricter identity model before you publish the first REST endpoint.
Patient as the spine, not the payload
FHIR’s Patient resource is often treated as metadata wrapped around real work. In clinic platforms it should be the aggregate root: Encounters, ServiceRequests, Observations and DiagnosticReports reference one internal UUID mapped to a stable external identifier. HL7 v2 can remain at the edge; the monolith must not allow second writers to fork identity.
Bounded contexts still matter — appointments, clinical documentation, orders, billing — but they share an identity service with idempotent create and merge rules. Nightly deduplication jobs are an admission that write paths were wrong on day one.
Events clinicians can trust









