No more squinting
Every parameter, value, and unit appears as clean, readable text instead of a crooked photograph of a printed slip that needs zooming in row by row to make sense of.
Available now
In build
The whole team
Nineteen specialists, each with a defined job and an honest status label.
See all nineteenThe person can see a lab report's parameter names, values, units, and reference ranges as clean text instead of squinting at a scanned PDF.
Works with
What it does
The user uploads a lab report PDF or photo, and Doctor extracts each parameter row (name, value, unit, reference range as printed on the report) into a readable table, matching Tata 1mg's published digitization approach. The extracted table always displays next to the original document image so every value can be checked against the source.
A lab report handed over at a small-town collection centre often comes as a slightly crooked photograph of a printed slip — parameter names in one column, values in another, reference ranges squeezed into a third — and reading it properly means squinting at a phone screen, zooming in on each row one at a time.
Lab report digitization pulls that same information into a clean, readable table: parameter name, value, unit, and the report's own printed reference range, exactly as they appear on the original. The extracted table sits right next to the source document so every figure can be checked against it, because this capability transcribes what a report already says — it never adds a verdict about what any of it actually means for the person's health.
Doctor runs this directly on the platforms your customers already use — no separate app for them to install.
How it works
Add a PDF or photo of the report, whether it's a text-based file from a city lab or a photographed printout from a local collection centre — either format works exactly the same way through the pipeline.
Doctor reads each parameter row — name, value, unit, and the report's own printed reference range — and lays it out as a clean table, transcribing exactly what the report states, with nothing added on top of it.
The extracted table displays next to the source document image at all times, so every transcribed value can be checked directly against the report it came from before it's ever treated as final and confirmed.
A confirmation step asks whether the extracted values match the original document, and any row extracted with lower confidence is flagged clearly so it gets a closer look before anyone relies on it fully at all.
Why it matters
Every parameter, value, and unit appears as clean, readable text instead of a crooked photograph of a printed slip that needs zooming in row by row to make sense of.
A standardised parameter name means the same test from two different labs can eventually be tracked together, rather than treated as two unrelated entries because the labs printed the name differently.
The table shows exactly what the report itself states — no colour, no flag, no verdict layered on top — so what you see is a faithful copy of the original, not anyone's opinion of it.
The detail
This is the single highest-stakes transcription task in the whole product, because a misread numeral looks exactly like clinical information even though nothing has actually been interpreted. A '1.2' misread as '12' would be a data-integrity failure with real consequences if trusted blindly, which is why every extracted row carries a visible confidence indicator and a mandatory confirmation step against the source image before any value is treated as saved.
The line this capability holds most carefully is between transcribing a reference range and commenting on it. Reproducing the report's own printed range as text is filing; calculating or highlighting whether a value falls inside or outside that range — even with a colour — is a judgement about what the number means, and that judgement belongs to a clinician, not this table. So there is no colour, no flag, no 'high' or 'low' label anywhere on this screen, regardless of how far a value sits from the printed range.
A standardisation step maps differently worded parameter names to one canonical name, purely so the same test can later be tracked across reports for the trend-charting capability — this mapping carries a risk if done carelessly, since merging two genuinely different tests under one name would corrupt that later view. Every extracted field is stored with field-level encryption befitting sensitive personal data under the DPDP Act, and the confidence flag exists precisely so a family relying on this table for a father's diabetes monitoring knows which rows deserve a closer look.
Industry use cases
1 industries where Doctor applies this directly.
More from Doctor
The person sees every report, prescription, and visit they've uploaded laid out in date order instead of as a loose pile of files.
Learn moreThe person adds a paper prescription or report to their record in seconds by taking a photo, instead of typing it in by hand.
Learn moreOne person — often a caregiver — can organize records for their parents, children, or in-laws separately, without mixing up whose test is whose.
Learn moreA person managing an elderly parent's records can invite a sibling to view or help, and can cut off that access instantly if circumstances change.
Learn moreThe person can see how one specific lab value has moved across multiple visits without manually flipping between old reports.
Learn moreThe person keeps a simple record of when they saw which doctor or facility, for their own reference and to bring to a future visit.
Learn moreQuestions
No — Doctor transcribes the value, the unit, and the report's own printed range exactly as stated, but it never adds a colour, flag, or label saying whether a value sits inside or outside that range for you. Working out what a value means against its range is a clinical judgement, and that stays entirely with the clinician who ordered or is reviewing the test, not with this table you're looking at.
Every extracted row carries a visible confidence indicator, and you're asked to confirm the table matches the original document before it's treated as saved — the source image sits right alongside the table for exactly this check. A row flagged with lower confidence is worth a closer look against the original before you rely on it for anything, including sharing it further with a doctor.
Yes — Doctor maps differently worded parameter names to one standardised name specifically so the same test from different labs can be tracked together later, most usefully inside the trend-charting capability found elsewhere in the app. The standardisation is a naming match only; it doesn't change, adjust, recalculate, or interpret either report's original printed values in any way whatsoever, on either side of the match.
No, and it isn't meant to be one — this table exists so the numbers are easier to read and check, not so a reading of what they mean can be skipped over entirely by the family instead. Whatever the values show, the conversation about what they mean for your father's care should still happen with his own doctor, ideally with this readable table in hand to make that conversation move faster.
The rest of your stack
No rip-and-replace — extract structured data from lab reports works alongside the systems already running your business.
Coming soon