Extract Test Name, Result, and Reference Range from Health Checkup Report Screenshots
Retyping one checkup report into a spreadsheet takes about 3 minutes by hand. Upload two years of report screenshots and the AI fills the same columns in 5-10 seconds per screenshot.
5-10s per screenshot · Up to 99% accuracy on clear screenshots
What You Can Pull from a Health Checkup Report Screenshot
A health checkup report bundles dozens of tests across blood count, liver, lipid, and glucose panels, and every provider prints them with its own column order, labels, and units. With Custom Column Extraction, you type the fields you need and the AI reads them by meaning, not position, whether the report is in English or Chinese.
The marker name exactly as the report prints it, whether that is "Glucose, Serum", "ALT (SGPT)", 葡萄糖, or 甘油三酯. Read regardless of position.
The numeric measurement, such as 102 mg/dL, 5.7%, or 140 g/L. Handles flagged values like "185 H" where the flag is merged into the cell.
The lab's normal range, such as "65-99 mg/dL" or "70-100 mg/dL", kept as its own field so results from different labs stay comparable.
mg/dL, mmol/L, g/L, g/dL, or %. The unit is preserved as a distinct field, so a hemoglobin of 140 g/L on one report is not confused with 14 g/dL on another.
Out-of-range markers as the report shows them: "H" for high, "L" for low, or the ↑ and ↓ arrows used on Chinese checkup reports. Extracted as a separate column.
Two Years of Checkup Results, Same Tests in Different Layouts
Why Year-over-Year Comparison Is Painful
Every lab and checkup app uses a different column order. Quest, Labcorp, and 美年大健康 all arrange Test, Result, Reference Range, and Flag differently. Comparing two reports by hand means reordering columns by eye.
Reference ranges differ between providers for the same test. Each lab calibrates its own range, so an identical glucose value can sit inside the range on one report and outside it on another. As one Reddit user noted, "nothing worse than having to reformat everything because one lab uses mg/dL and another uses mmol/L."
A report on screen is not a spreadsheet. A portal may let you download a PDF of one result's history, and some checkup apps show a built-in year-to-year chart, but neither gives you a row-per-test table you can sort, filter, or share with your doctor. A screenshot is often the only portable copy you have, and traditional OCR still cannot align two different layouts into a single table.
How Semantic Extraction Aligns Any Layout
Name the fields and the AI reads them by meaning, not position. Define "Test Name, Result, Reference Range, Unit." Whether Reference Range appears left of Result (Labcorp) or right (Quest), the AI locates it by its semantic role.
Batch both years into the same column set. Upload last year's Quest screenshot and this year's Labcorp screenshot into one batch. The same five columns apply to both, and the output is one unified spreadsheet.
Reference range is captured as its own field. Traditional OCR merges "65-99 mg/dL" into the result cell or drops it. Keeping Reference Range separate preserves the lab-specific context you need for an accurate comparison.
From Two Years of Screenshots to One Comparison Spreadsheet
Screenshot Both Years' Reports
Open last year's results in your checkup or lab app, whether that is MyQuest, 美年大健康's mini-program, or the 爱康 app, and take a screenshot. Do the same for this year's report. Each capture holds the full test table: names, values, ranges, units, and flags. The layout can differ between years; that is expected. Drag both into a single upload.
Name the Fields Once
Type the column names: Test Name, Result, Reference Range, Unit, Flag. The AI reads each screenshot independently. On a Quest report it locates glucose by its label, captures the reference range, and notes any flag. On a 美年大健康 report it does the same, even though the report is in Chinese, uses ↑ and ↓ instead of H and L, and orders the columns differently.
Download a Side-by-Side Comparison
Processing takes 5-10 seconds per screenshot. The output is one XLSX file with rows from both years aligned under the same column headers. Row 1: last year's glucose, 102 mg/dL, range 70-100. Row 2: this year's glucose, 98 mg/dL, range 65-99. That is roughly 18x faster than typing one report by hand (~3 min per report vs 5-10s).
When It Works Best, and When to Be Cautious
Knowing these boundaries helps you get consistent results when comparing checkup values across years and providers.
When It Works Best
Clear, full-resolution screenshots of checkup report tables. Machine-rendered lab values achieve up to 99% accuracy.
Mixed providers in a single batch. Upload screenshots from Quest, Labcorp, 美年大健康, and 爱康国宾. The AI outputs one spreadsheet with consistent headers, even when the source reports use different languages, units, and flag styles.
Year-over-year comparison with reference range context. Reference Range is captured as a separate field, making results from different labs comparable.
When to Be Cautious
Heavily compressed or forwarded screenshots. A screenshot of a screenshot loses resolution on small reference range text. Use the original when possible.
Scrolling screenshots that truncate the table. If the report requires scrolling, take multiple screenshots to cover the full list.
Visible data only, with no clinical interpretation. The tool extracts what the report displays. It does not interpret medical significance or diagnosis. Share the spreadsheet with your healthcare provider for review.
Frequently Asked Questions
Can I compare results from Labcorp and Quest in the same spreadsheet?
Yes. Define columns like Test Name, Result, Reference Range, and Unit. Labcorp and Quest display results in different column orders, but Custom Column Extraction reads each value by what it means, not where it sits. A glucose result from either report lands in the same Result column, and the Reference Range column keeps each lab's own range beside it.
Can I batch last year's and this year's screenshots together?
Yes. Upload last year's report and this year's report into the same batch, even if they come from different providers. Define your columns once, such as Test Name, Result, Reference Range, Unit, and Flag, and the AI reads each screenshot independently. The output is one spreadsheet where both years sit side by side.
What if the reference range is different between this year and last year?
The Reference Range column captures the exact range printed on each report. If one report shows "70-100 mg/dL" for glucose and another shows "65-99 mg/dL", both are preserved, so you can see why an identical value is flagged on one report and not the other.
Does the AI handle Chinese test names and units from 美年大健康 or 爱康国宾?
Yes. The AI reads Chinese and English test names alike, including 葡萄糖, 甘油三酯, and 谷丙转氨酶 (ALT). It also captures units such as g/L on Chinese reports and mg/dL or g/dL on Western ones, and reads the ↑ and ↓ arrows those reports use in place of H and L.
Should I use my provider's own download instead of a screenshot?
If your provider offers a structured export of your results, use it. Many portals let you download a PDF of a single test's history, which is useful for reading but not for sorting or combining tests. Screenshot extraction is for the cases where the report only exists on screen, such as a checkup-chain app or a report someone shared with you. Either way, the tool only reads what the report displays and does not interpret clinical meaning.
How accurate is extraction for lab values from a checkup report screenshot?
For clear screenshots of machine-rendered report tables, accuracy on numerical values reaches up to 99%. Compressed or forwarded screenshots reduce accuracy on small reference range text. The tool extracts visible text only and does not interpret clinical meaning.
Deep dives into checkup and lab report extraction: Batch processing health app screenshots including checkup reports into a single structured spreadsheet · General guide to extracting data from screenshots including lab results and health summaries
Return to the health and fitness app overview for vitals, workout data, and period tracker scenarios.