One patient, one visit. The visit produces a progress note in the EHR, a pathology report in the lab system, a prior authorization in the payer portal, and an explanation of benefits (EOB) that arrives six weeks later. Four documents, four systems, four clocks. A pipeline that reads documents one at a time returns four extractions and no record.
Medical record abstraction is the work of turning those artifacts into one reviewable statement about one episode of care. Extraction is the easy half. The hard half is deciding that these documents describe the same episode, in what order their claims became true, and what it means that a fifth document has not arrived.
This is the layer above the document types themselves. Our healthcare document AI page covers what comes out of a clinical note, a medical bill or an authorization packet. This article is about what you build once those outputs exist and the question becomes which visit they belong to.
Four documents, four different facts
It is tempting to treat a clinical bundle the way a logistics packet is treated. In our air waybill reconciliation article, the waybill, the packing list and the customs declaration all assert the same facts — weight, quantity, consignee — so the work is agreement testing, and a disagreement is a finding.
A clinical episode does not behave that way. The note asserts what a clinician observed. The pathology report asserts a result the note may predate. The authorization asserts what a payer permitted before any of it happened. The EOB asserts what was paid afterwards. They barely overlap, and where they do, disagreement is frequently correct: the authorization says three units because three were approved, and the EOB says two because one was denied. Comparing those two numbers for equality manufactures a finding out of a normal outcome.
So the operation is not reconciliation. It is assembly: place each claim on a timeline, keep it attached to the source that made it, and let the record carry the disagreement instead of resolving it into a single blended value.
The join key is inferred, not given
Almost no clinical document carries an encounter identifier. What it carries is a set of identifiers scoped to whichever system produced it: a medical record number that is unique inside one facility, an accession number that is unique inside one lab, an authorization number issued by one payer, a claim number that only exists after adjudication, a date of service, a rendering provider NPI, and a patient name and date of birth.
Assembling an episode is therefore record linkage under partial identifiers, and it needs written rules rather than a similarity score:
- Never link on patient identity alone — the same patient can have three encounters in one week, and two of them can share a diagnosis.
- Prefer a shared scoped identifier — when two documents live in the same system, the order ID or accession number is a real key and should be used before any heuristic runs.
- Cross-scope links need a composite — patient plus service window plus rendering provider, where the window is an interval rather than a point. A specimen collected on Monday and resulted on Thursday is one episode with two dates.
- Record which rule fired — a link made on an exact authorization number and a link made on a name-and-date approximation are not the same quality of fact, and only one of them should be allowed to drive a payment decision.
That last rule is the one most often skipped, and it is the one that makes the record defensible later. The linkage rule is part of the evidence, not part of the plumbing.
The minimum episode record
An abstraction is only useful if its shape is fixed enough to query and audit. The minimum this record needs:
- Episode identity — an identifier the assembler generates and owns, never borrowed from a source document whose scope may collide with another system's.
- Patient identity with its scope — the identifier, the system it is unique within, and the document it was read from.
- Encounter frame — start and end at the granularity the evidence actually supports, plus the rendering provider, ordering provider, facility and payer, each with its identifier type named.
- Clinical assertions — each carrying both an observation time and an assertion time, because when something was true and when a document said so are different facts.
- Payer state — what was requested, what was approved and for how many units, then billed, allowed, paid, patient responsibility and any denial reason codes as issued.
- Provenance on every value — document, page, region, extraction confidence, and the linkage rule that attached that document to this episode.
- Completeness state — which expected artifacts are present, which are absent, and as of when the question was asked.
The last two entries are what separate an abstraction from a summary. Our lease abstraction article makes the same argument in commercial real estate, but the problems are not symmetric: a lease has one governing document and its amendments, so supersession is ordered and the join key is given. Here no document governs the others, and the key has to be inferred before any field means anything.
A field can be correct and still land on the wrong episode
Field-level confidence does not see the error that matters most here. In our handwriting recognition article, abstention happens at the field: the model declines to commit to a value it cannot read. The failure mode in abstraction is the opposite shape. Every character is read correctly, every confidence is high, and the pathology report is attached to last month's visit.
The resulting record is complete, internally consistent and false — the most dangerous combination a chart can have, because nothing in it looks uncertain. A pipeline that reports only extraction accuracy is not reporting the quantity that causes harm.
Linkage therefore needs its own confidence, its own threshold and its own error budget, measured against a reference set rather than inherited from the extractor underneath it.
Abstention belongs to the link, not only to the field
Give the assembler three outcomes rather than two:
- Linked — a declared rule fired at a strength the policy accepts for the decision this episode will support.
- Held — the document is fully understood and deliberately unattached, waiting in an unassigned pool alongside its candidate episodes and their scores. Held is a normal operating state, not an error.
- Split — the evidence supports two episodes and the assembler refuses to choose, surfacing both candidates together rather than picking the higher score by a margin nobody set.
Holding costs latency. A wrong link costs a corrected chart and, sometimes, a corrected claim. Write the threshold down as policy with both costs named, so it can be argued about in advance instead of being discovered during an incident review.
Clinical review and document review are different jobs
A transposed digit in a member ID is a clerical correction: anyone trained on the source system can fix it by looking at the document. Whether a pathology addendum changes the working diagnosis is a clinical judgment. Sending both to the same desk asks a records clerk to practice medicine, and it is the quiet way an abstraction pipeline acquires a liability it never named.
Separate them by design. Two paths, different skills, different permissions, different audit trails. When a clinical assertion changes, the record should show who changed it, under what credential, and against which document — because that trail is the reason the chart exists at all. Route only what needs judgment into your clinical review path; a queue that receives everything stops being a control and becomes a backlog.
Absence is a value
A missing EOB does not mean no payment. It means not adjudicated as of the moment you looked. An episode with an empty financial block is indistinguishable from one that was denied unless absence is written down explicitly, with an expectation and an as-of time.
For each artifact the episode type expects, carry three things: whether it is expected at all for this kind of episode, whether it has arrived, and when the question was last asked. That turns incomplete into a measured state with an age, and lets a consumer decide whether a 2-day gap and a 90-day gap mean the same thing. They rarely do.
Addenda supersede claims, not documents
An addendum does not replace the note it amends. It changes one assertion inside it while every other assertion stays valid. A corrected laboratory result supersedes the value but not the collection time, and not the fact that a different value was reported first.
So supersession belongs at the claim level, with both versions retained and the transition timestamped. Overwriting the value destroys the evidence that the record once said something else, which is precisely the evidence a retrospective review, a payer appeal or a quality audit needs to read.
What to measure
- Linkage precision and recall — against a manually assembled reference set, never against the pipeline's agreement with itself.
- Held rate and hold age — how many documents wait, and for how long. A pool that only grows is a threshold problem wearing the costume of a volume problem.
- Wrong-link discovery lag — the time between a bad link and its detection. This is the number that predicts harm, and it is almost never instrumented.
- Completeness at decision time — what fraction of expected artifacts were present at the moment somebody acted on the record.
- Clinical-review yield — how often clinical judgment actually changes an assertion. A yield near zero means the routing threshold is too loose and review is being used to launder confidence.
Six questions before you abstract a chart
- What generates the episode identity, and why is it not borrowed from a source document?
- Which rule linked this document, and is that rule strong enough for the decision it will drive?
- For each assertion, what is the gap between when it was observed and when it was asserted?
- Which expected artifacts are absent, and as of when was that checked?
- Which claims have been superseded, and can both versions still be read?
- Who is permitted to change a clinical assertion, and where is that permission recorded?
A chart is not a stack of files that happen to share a name. It is a claim about one episode of care, assembled from sources that disagree about time, scope and completeness — and it only exists once something decides that these documents, and not those, describe the same visit.
