Lab Tests
Upload a PDF from your lab, check what was read out of it, and keep the values as trends you can follow across years and across labs.
Uploading
Go to /labs and choose Upload a report. Drop a PDF on the page or pick one with the button.
- A PDF exported from your lab's portal reads best. A photo of a screen usually fails.
- Scanned reports work too. They take longer, because the pages have to be read as images.
- Up to 20 MB per file, and up to 20 uploads an hour.
Before the first upload you are asked to agree to three things, and the file is not accepted until all three are ticked. They are separate on purpose: one covers importing the report, one covers the external AI processor that reads it, and one is your confirmation that the results are yours to upload.
What happens to the file
- The text layer is pulled out on our own infrastructure first.
- An external AI processor turns that text into marker rows, and reads the pages directly when a scan has no text to pull. This is a transfer outside the EU and is named on the upload screen and in the privacy policy.
- The PDF is deleted once the read finishes, whether it succeeded or not.
- Nothing reaches your trends until you approve it.
Reviewing
A parsed report opens a review screen listing every row that was found. Nothing is stored as a result until you approve, and you can change any of it first:
- The marker each row is filed under, from a catalog of nearly three hundred, or a marker of your own if none fit.
- The value, unit and reference range, if a number was misread. The in-range or out-of-range status is recomputed against the range as you type, using the bounds your report printed.
- A positive or negative result is picked from a list rather than typed. Leaving it alone keeps the wording your report used.
- Reject a row that is not a result at all.
Rows that could not be matched are still shown, with the reason. They stay on the report and join no trend. If we work out later what one of them is, the report asks you to approve again.
Trends
/labs lists every marker you have results for, grouped by panel, with the latest value and whether it sits inside the range that report printed.
Each marker has its own page showing every result over time against its reference range. Dashed lines mark the limits each report printed, so a step in a dashed line means a lab changed its cut-off.
- Results measured in different units are never converted or plotted on one line. The page says so instead, and you can correct a unit.
- Results that are words rather than numbers, such as a serology panel, are listed rather than charted, and the page tells you whether the latest one changed.
- A single result is shown on its own, with no trend claimed from one point.
Markers of your own
If a row matches nothing in the catalog you can add it as your own marker, naming it as you add it. Only you see it. It can be renamed, moved to a panel, given a unit and a typical range, or declared a positive-or-negative marker, from its own page.
Renaming never changes the marker's address, so results already filed under it stay where they are. Deleting one removes its results as well, and says how many before it does.
Deleting
- Delete a single report and its values leave your trends immediately.
- Delete every lab result from the data controls page.
- Your export includes lab results alongside everything else.
Troubleshooting
- Nothing was read. Photos of a screen and heavily compressed scans often fail. Export the report from your lab's portal instead.
- A value looks wrong. Correct it on the review screen before approving, or on the marker page afterwards. Every result keeps the source line it came from, so you can check it against the report.
- A marker is missing. It will be listed as unmatched with the name your report printed. Add it as your own marker, or tell us the name and we will add it to the catalog.
- The report is still reading. A long or scanned report can take several minutes. The page checks by itself and tells you when it is done.