Doctano stores your file, reads it to extract tests, values, units, ranges, and dates, maps each test to a standard name and code, normalizes units, and classifies results against the range printed on that report. The original file stays available, every value links back to it, and you can delete either.
The short version
Upload, extract, standardize, classify, display. Nothing about that is mysterious, but each step decides something you will later rely on, so it is worth knowing which step can go wrong.
| Step | What happens | What you can check |
|---|---|---|
| Upload | PDF or photo, up to 50 MB, attached to the profile that is currently selected. | That the right profile is selected and the file is legible. |
| Upload checks | The file type and size are validated, and a duplicate for the same profile points to the existing report instead of creating another. | Whether a duplicate was detected, and whether the file opened at all. |
| Extraction | Tests, values, units, ranges, panels, and report dates are read from the page. | Each value against View original. |
| Name resolution | The printed name is matched to one standardized marker name. | That one test does not appear twice under two names. |
| Code mapping | A LOINC code is assigned where one can be resolved confidently. | Whether related results sit together in one history. |
| Unit normalization | Units are converted to a standard unit for that marker. | That a converted value is plausible against the original. |
| Range parsing | The printed reference range becomes a comparable range, or stays text. | That the range matches the report. |
| Classification | The result is labelled in range, near limit, out of range, or no data. | That the label matches the report's own flag. |
What is stored, and where
The Privacy Policy names the current services. Uploaded report files and profile images are stored in Cloudflare R2. Application records, including report metadata and extracted biomarker data, are held in Neon Postgres. Account identity comes from Google Sign-In, and hosting and the AI Gateway are Cloudflare services. Information is shared with these providers only as needed to operate the service.
What you get back is two things that stay connected: the file, and the values extracted from it. Every result keeps a link to the report it came from, which is the control that makes a wrong value detectable rather than permanent.
Why the processing label keeps changing
While a report is processing, the activity label in Reports rotates through a set of descriptions every 10 seconds. Those descriptions are not live pipeline stages. The label tells you work is happening; it does not tell you which step is running. Processing usually finishes in a couple of minutes, and large or complex files can take longer.
DoctanoAI chat uploads work the same way. After you attach a file, a processing card appears and updates when the report is ready, and the report also appears in Reports. If the same file is already in the profile, the card points to the existing report instead of creating another one.
What the standardizing steps are for
Two labs can call the same test SGPT and ALT. One can report a lipid in mg/dL and the other in mmol/L. Without a step that resolves names and units, a history is not a history: it is a pile of rows that look related. That is what makes the timeline possible, and it is also why a bad match is worth catching.
When Doctano cannot use a range, the result is labelled no data rather than forced into a category. When it cannot confidently map a code, the value still exists on the report and in the timeline, but it may not sit with the other results for that marker.
What you can check, and when
- Before upload: legibility. A flat, evenly lit image of the whole page beats a bright crop of half of it.
- After processing: the value, the unit, and the range, against the report.
- Before an appointment: the trend, and whether every report you care about is actually in the profile.
What deletion removes
Deleting a report from its options menu removes the report and its results from the timeline, and it cannot be undone. Deleting your account removes the account, the profiles you created, the linked reports and files, the extracted results, DoctanoAI chats, sign-in connections, sessions, and access tokens. Backups and operational copies may temporarily retain deleted data, and limited information may be kept where the law requires it or where it is needed for security.
