← All work
HEALTHCARELIVEDocuity RxPrescriptions with a live safety check
HealthcareLiverx.docuity.io

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 →