HomeProductMedical Table Extraction
EXTRACT DATA FROM LAB REPORTS

Lab grids and billing tables, read as data — not images.

Extract data from lab reports, med lists, and billing grids as structured rows — vision AI sees the grid, not just the glyphs, and parses complex medical tables into data you can query rather than view. Every lab value and billing line becomes queryable, and each extracted number stays tied to the table it came from.

Adams, T. — right knee · Case #IME-4812 342 pages
Lab report — extracted rows
TestStatusSource
Hemoglobin in range p.118
Glucose, fasting out of range p.118
Creatinine in range p.119
Smudged cell — unreadable FLAGGED
Rows extracted from a scanned grid · every value cited to its table and page
Rows, not pixels
Lab grids parsed into structured, queryable data
342 pages
Tables found and extracted across one whole file
Every value cited
Each row keeps its source table and page

Vision AI sees the grid, not just the glyphs.

Plain OCR flattens a table into word soup: headers drift away from their values, merged cells collapse, units vanish. A vision model detects the table itself — header rows, row spans, units columns — and reads each cell in its place.

Multi-page and merged-cell tables handled as one grid
Rotated or degraded scans flagged when a cell can’t be read
Flat OCR output
Hemoglobin Glucose 13 ref range fasting mg/dL H creatinine…
Extracted rows
TestStatusCite
Hemoglobinin rangep.118
Glucose, fastingout of rangep.118
every hemoglobin result
Apr 02 · lab panelin rangep.86
May 30 · pre-op labsin rangep.118
Jun 12 · follow-up panelflagged on reportp.201
One analyte, every report — lined up with citations.

Every lab value becomes something you can query.

Once a grid is rows, questions get answers. Pull every result for one analyte across the whole file, sort it by date, and see the trend instead of hunting page by page. Extracted rows feed Search, Chat, and Smart Lists automatically.

Ask for any analyte across every report in the file
Results lined up chronologically, each row cited

Med lists and billing grids, read the same way.

Medication tables become drug, dose, and frequency rows; billing grids become line items you can total and trace. The same table engine powers billing verification and cost roll-ups downstream, so the data only has to be read once.

Medication grids structured into queryable rows
Billing line items ready for roll-ups and audits
MEDICATIONS BILLING
naproxen — oral, twice dailyp.212
cyclobenzaprine — as neededp.171
acetaminophen — discontinuedp.298
same engine as billing verification
Extracted row · provenance
Glucose, fasting — row lab grid · p.118
Billing line — row statement · p.301
Smudged cell flagged, not filled
Click any value → the original grid, highlighted.
Source-linked data

A number without its table is just a claim.

Every extracted row cites the table and page it came from: click a value and land on the original grid. Cells the model can’t read cleanly are flagged, not filled. That discipline is what makes the data audit-grade — it survives cross-examination because it traces to source.

See Verifiable AI Citations

From scanned grid to queryable rows.

Tables are found, parsed, and cited automatically — nothing to mark up, nothing to re-key.

01
Upload the file

Lab reports, med lists, and billing statements go in as they are — scans, faxes, and photographed pages included.

02
Tables detected and parsed

A vision model finds every grid, reads its structure, and extracts each cell into a structured row with its citation.

03
Query the rows

Search one analyte across the file, filter medication rows, or send billing lines downstream to roll-ups and audits.

Who pulls data out of tables with it.

Anyone whose questions are trapped inside a scanned grid somewhere in the file.

FAQ

Table extraction, answered.

A vision model detects each table on the page, reads its structure — header rows, units columns, merged cells — and extracts every cell into a structured row. Each row keeps a citation to the exact table and page it came from, so any value can be verified at the source in one click.

Yes. Medication tables become structured rows with drug, route, and frequency, and repeated mentions across documents are linked together. The rows feed Smart List View, so the file's full medication picture is one screen, not a hunt through scans.

Plain OCR reads characters left to right and flattens a grid into word soup, so values detach from their headers and units. Vision AI reads the table as a table: it understands which cell belongs to which row and column, including multi-page and merged-cell grids, and flags cells it can't read instead of guessing.

Yes. Once grids are rows, you can pull every result for one analyte across every report in the file and see them in date order, each with its citation. The same rows are available to Search and to Medical Records Chat.

Every row stores the document, page, and table it was read from. Clicking a value opens the original scanned grid with the cell in view, which is what makes the extracted data defensible rather than merely convenient.

Related capabilities

Adjacent features on the same platform — every output source-linked and cited to page.

See your ugliest table, structured.

Upload one file with real lab grids or billing tables and get queryable, cited rows back. Handled under our BAA; never used to train a model.