Every clinician knows the file. A patient forwards their bloodwork — a PDF from the lab, a scan of a printout, a fax someone re-faxed. Somewhere on page two is the one number you actually wanted: the A1c, the ferritin, the TSH, the vitamin D. You find it, you read it, you make a call. Then three months later another report lands, and you're flipping between two documents trying to remember whether that number was better or worse last time.

That flipping is the whole problem. The data exists. It's just trapped in a format you can read but your software can't.

A single lab value tells you where a patient is. The trend tells you whether what you're doing is working. Most software only shows you the first one.

Why "buried in the PDF" is more than an annoyance

In primary care and across allied health — dietetics, naturopathic and functional medicine, nutrition and weight-management clinics, anyone managing something chronic — the work is longitudinal by nature. You're not treating a lab result. You're treating a direction. Is the A1c coming down since you changed the plan? Is ferritin actually responding to the iron protocol, or just sitting there? Did vitamin D climb back into range after a season of supplementation?

None of those questions can be answered by one report. They need several, lined up in order, with the reference range drawn behind them so "in range" and "out of range" are obvious at a glance.

The honest reason most clinicians don't do this today: it's manual. To see a trend you either keep every PDF open at once and eyeball it, or you transcribe values into a spreadsheet by hand — which is slow, error-prone, and so tedious that it mostly doesn't happen. So the trend goes unseen, and a patient who's quietly improving (or quietly not) looks the same as one you saw last week.

Why is it hard to track lab results over time in most EHRs?

Lab results usually arrive as unstructured documents — PDFs, scanned printouts, or faxes — rather than discrete, machine-readable values. Most EHRs store the file but can't read the numbers inside it, so to compare results across visits a clinician has to open multiple documents side by side or manually re-type values into a spreadsheet. Because that work is slow and easy to get wrong, longitudinal trends often go untracked even when the underlying data is sitting in the chart.

What we built

Lab Results extraction lives right inside a progress note. You don't leave the chart, open a separate module, or learn a new screen. It's three steps.

1. Drop a Lab Result block into the note. Type /lab and pick it from the menu — a structured block for tests, reference intervals, and the report's details.

The /lab slash command in a progress note surfacing the Lab Result block option

2. Attach the report and let the AI fill it in. Point the block at the source document — the lab PDF the patient sent — and choose Select & Fill Using AI. No source document attached yet just means there's nothing for the AI to read; once you attach one, it goes to work.

The Lab Result block's source-document row showing the Select & Fill Using AI button before a document is attached

3. Get back structured data, not a blob of text. The AI reads the report and populates the fields a lab result actually has: panel kind, lab or vendor, panel name, collection date, result date, specimen type, and status. Then it builds the test table — each test with its value, units, and reference low and high, flagged Within range or out of it. The original PDF stays attached, so anyone can open the source and check the AI's work against it.

A filled Lab Result block: report details extracted from a December 2025 PDF, plus a tests table with WBC, RBC, Hemoglobin, Hematocrit and MCV values, units, reference ranges and range flags

The point of all that structure isn't tidiness. It's that once a value is a real field — A1c is 5.7, units %, reference 4–5.6, collected on this date — the software can finally do something with it.

And then it charts itself

Because every result is now structured and dated, Oli can line them up. Open Lab Results, switch to Graph, and pick one analyte at a time. Each chip — 25-OH vitamin D, ferritin, hemoglobin A1c, TSH — draws its own trend across every report you've extracted, with the reference band shaded behind the line so you can see at a glance when a value crossed in or out of range.

The Lab Results graph view: Hemoglobin A1c plotted across three results from February 2025 to May 2026, with the 4–5.6% reference range shaded

Three reports across more than a year, one line, one glance. That's the question a clinician was always trying to answer — which way is this going? — and it used to take three open PDFs and a good memory to get there.

How does Oli Health extract lab results from a PDF?

Inside a progress note, you insert a Lab Result block, attach the lab report (such as a PDF), and choose "Select & Fill Using AI." Oli reads the document and populates structured fields — panel kind, lab or vendor, panel name, collection and result dates, specimen type, and status — plus a test table where each test has its value, units, and reference range, flagged as within range or out of range. The original document stays attached so the extracted values can be verified against the source.

Who this changes the day for

A dietitian following a patient through a metabolic reset can see whether A1c and triglycerides are actually moving, not just guess from the latest printout. A naturopathic or functional-medicine clinician running iron, B12, or vitamin D protocols can show the patient the line bending back toward range — which is its own kind of motivation. A primary-care provider managing thyroid, lipids, or pre-diabetes across years of visits gets the longitudinal picture without keeping a personal spreadsheet on the side.

In every one of those settings the data already existed. It was just sitting in documents no one had time to retype. Extraction turns "I'll pull up the old report" into a line you can read in a second — and, just as importantly, a line you can turn the screen around and show the patient.

Extract a value once. Chart it forever.

A quick, honest note on the AI: it reads the document, but it doesn't get the final say. The source PDF stays attached and every extracted value sits in an editable field, so the clinician reviews and corrects before anything is trusted. The AI does the tedious transcription; you keep the clinical judgment.

If you're shopping for a modern EMR, test this first

If you're comparing EMRs or weighing a move off the one you have, this is exactly the kind of capability worth putting through its paces on day one. Most legacy systems treat a lab report as an attachment — they'll store the PDF, but they can't read the numbers inside it, so the trending still falls to you. A modern, AI-first EHR reads the document and turns it into structured, chartable data instead.

It's the same shift we've written about in traditional vs AI-first practice management and in the real cost of not switching your EMR: the price of staying isn't the monthly subscription, it's the hours of manual work the old software quietly hands back to you every week.

Can a modern EHR automatically extract and chart lab results over time?

Yes. A modern, AI-first EHR like Oli Health can read an uploaded lab report — a PDF, scan, or fax — extract each test into structured fields with its units and reference range, and chart any analyte across every report on file, with the reference band shown behind the line. Most legacy EMRs store the lab document as an attachment but cannot read the values inside it, so lab trends have to be tracked manually by comparing documents side by side or re-typing results into a spreadsheet.

What should I look for in a modern EMR for lab result tracking?

Look for an EMR that reads lab reports rather than just storing them: automatic extraction of test values, units, and reference ranges from PDFs or scans; structured, dated results that can be charted per analyte over time; built-in reference ranges with out-of-range flagging; and an audit trail that keeps the original document attached so every extracted value can be verified against the source. Those features are the practical difference between a legacy EMR and a modern, AI-first one — they turn unstructured lab documents into longitudinal data a clinician can actually act on.

Try it on a real report

The fastest way to understand this is to feed it one of your own lab PDFs and watch the trend draw itself.

You can do that on Oli Health for free. Practitioners who create an account before August 31, 2026 get the complete platform free for the life of the account — Lab Results extraction included, not behind an upgrade.

Create your free-forever account and try it on a real report — or book a live demo and we'll walk you through it.