How AI Actually Reads a Doctor's Handwritten Prescription
The stereotype about doctors' handwriting is deserved — decades of writing quickly in a specific vocabulary produce a script that even other doctors sometimes misread. A general-purpose OCR engine trained on printed text handles this badly. An AI prescription reader that works on Indian prescriptions is doing four different things at once, and understanding what they are is the difference between a useful reader and a dangerous one.
The four layers of a modern prescription reader
- Layer: Image cleanup · What it does: Deskew, contrast, noise removal · Failure mode: Bad lighting causes downstream errors
- Layer: Handwriting recognition · What it does: Character and word extraction · Failure mode: Confuses similar shapes (rn/m, 5/S)
- Layer: Medical vocabulary matching · What it does: Corrects OCR output against known drug names · Failure mode: Wrong correction can invent a plausible-looking drug
- Layer: Structured extraction · What it does: Splits into drug, strength, frequency, duration · Failure mode: Ambiguous frequencies ('bd' vs '1-0-1') differ by region
The middle two layers are where most of the intelligence sits, and most of the risk. A raw OCR guess of 'Tamoxen 20mg' can be corrected to 'Tamoxifen 20mg' — which is a completely different medicine — because the second is a more common drug. The correction is confident and wrong.
What a good prescription reader does differently
Three properties that separate a safe reader from a risky one:
- It shows the confidence of every extracted field. A high-confidence 'Metformin 500mg' vs a low-confidence 'Amoxicillin 500mg' vs 'unclear frequency' — the person confirming can see what to check.
- It never invents. If the reader could not read a field, the field is blank, not filled with a plausible guess.
- It requires human confirmation before writing to the record. The OCR output is a draft, not a decision.
The specific Indian complications
A prescription written in a South Indian government hospital differs in structure and vocabulary from one written in a private specialist clinic in Delhi. The differences an AI has to handle include:
- Frequency notation: 'TDS' (Latin abbreviation) vs '1-1-1' vs 'thrice daily' — same meaning, different notation.
- Trade name vs salt name. Indian prescriptions can use either; a reader has to know both.
- Combined salts. 'Metformin + Glimepiride' is one tablet, not two.
- Local language annotations. 'After food' might be written in Hindi, Tamil or Kannada.
- Cursive vs block. Newer doctors more often print; older doctors are more likely to cursive script.
The verification step matters more than the reading
An AI prescription reader that is 95% accurate on drug names is doing well. It is also getting one drug in twenty wrong. In a prescription of six medicines, that is a one-in-three chance the extracted record has a wrong drug name — which for medicines can be the difference between anticoagulant and antibiotic. The workflow has to compensate for that:
- Every extracted field is shown to the user as editable, not confirmed.
- The original photo stays alongside the extracted text, so the user can compare.
- Salt-level allergies in the record are automatically checked against extracted salts, and any hit halts confirmation.
A reader that skips the verification step and writes straight to the record is not doing the person a favour.
References
Free for 90 days, no card needed. After that, keeping the record costs ₹349 for the year.
General information, not medical advice. Always talk to a qualified doctor about your own care. Where this and your doctor disagree, your doctor is right.