Docuity Rx
Free prescribing software with a safety net built in: every script is checked against the patient's other medicines and allergies before it can be issued, part of the Docuity suite.
- 2,100+ drugs
- checked against each other and allergies
- Blocked outright
- no controlled substances in this version
- Invite-only
- pharmacies join by real invitation
The problem
A half-checked prescription is how a dangerous drug combination slips through. Docuity Rx, part of the Docuity suite, makes the safety check part of writing the prescription rather than a separate step someone has to remember.
What it does
Docuity Rx is free, part of the Docuity suite. A prescriber picks the patient, adds each medicine with its dose, and the app checks the whole draft (every medicine against every other medicine, and against the patient's recorded allergies) as they type, using a vocabulary of more than 2,100 real drugs. Anything it can't confidently identify is flagged as not checked, rather than folded into a quiet all-clear.
Issuing a prescription is deliberately hard to do carelessly: it locks only once the prescriber has a real medical-council registration number on file, at least one medicine is listed, and none of them is a controlled substance (those are blocked outright in this version).
Once issued, a prescription can be printed as a proper private-prescription sheet, saved as a PDF, or sent straight to a pharmacy the practice has invited: pharmacies don't appear from an open directory, only by a real invitation. Anyone holding the printed script can scan a QR code to confirm it's genuine without exposing the patient's details.
Key features
A safety check before every prescription
Every medicine on the script is checked against the others and against the patient's allergies before it can be issued, so a dangerous combination is caught while it's still a draft.
Honest about what it couldn't check
A medicine it can't confidently identify is flagged as not checked rather than folded into a quiet all-clear, so a thin result never reads like a clean one.
Controlled substances are simply blocked
This version won't issue a controlled-substance prescription at all: a hard rule, not a warning that's easy to click past.
A real prescriber has to be on file
Issuing requires the prescriber's actual medical-council registration number, so a prescription can't go out from an account that isn't a genuine prescriber.
Print, PDF, or send to a pharmacy directly
A finished prescription becomes a proper printed sheet, a PDF, or a direct send to a pharmacy the practice already works with, whichever the patient needs.
Anyone can verify a script is real
A QR code on the printout opens a public page confirming the prescription is genuine, without showing the patient's name or what was prescribed.
Where it stands
Launched for Jamaica's private-prescription format; controlled substances aren't supported yet. Like the rest of the suite, it makes no HIPAA-certification, SOC 2, or Business-Associate-Agreement claim, and the interaction check is an aid to a prescriber's judgement, not a replacement for it.
Under the hood: for the technically-minded
How it's built
The interaction and allergy check never runs in the browser: every lookup is proxied through the server against the shared drug dataset, and it re-runs on the whole draft each time a medicine is added or removed, so what's on screen always reflects the current list.
Issuing is a gate with several independent locks, and the controlled-substance block is deliberately separate from the interaction data: it runs its own offline check against the raw drug name and fails closed, so it can't be bypassed just because the interaction service is slow or unreachable.
A prescription's lifecycle (draft, issued, sent, received, dispensed) writes to an append-only, chained log the same way EHR's does, and the public verification page is intentionally thin: a handful of facts, nothing that could identify the patient.
The hard problems
A safety check that admits what it doesn't know
The check is coverage-aware on purpose: instead of one pass/fail, it separately reports drug-drug findings, allergy conflicts, and a list of anything it couldn't resolve against its vocabulary, so a prescriber never mistakes 'nothing flagged' for 'everything was checked.'
A hard block that survives an outage
The controlled-substance rule doesn't depend on the interaction service being up. It's a separate, offline check against the drug name at the moment of issuing, and it fails closed: if anything's uncertain, it blocks rather than lets a scheduled substance through.
Pharmacies you actually work with, not a marketplace
There's no open pharmacy directory, on purpose. A pharmacy only enters the system when a specific practice invites it by email, and the two form a verified, ongoing link before anything is ever sent.
Built with
- React Router 7
- Drizzle
- Postgres
- Passkeys
Building something in this space?
Work with us →