The problem
Getting medicine to a patient sounds simple until you count the people involved. A patient orders. A clinic passes the prescription on. A doctor checks it. A pharmacy packs and sends it. Four groups, four different jobs, all touching the same order — and all of them legally accountable for their part.
Before the system existed, that handover happened across phone calls, email and spreadsheets. Every gap between two people was somewhere an order could stall or go missing, and nobody could say for certain who had done what, or when.
What we built
One platform with four separate ways in. Each group signs in and sees only their own work — a patient never sees another patient, a pharmacy never sees a clinic’s private records.
A complete record of everything. Every time a prescription moves — created, checked, dispensed, delivered, cancelled — the system writes down who did it, when, and why. That history can be pulled up for any order, in full. In healthcare this is not a nice extra; it is the thing regulators ask for, and it has to be right the first time.
Checks the system enforces. Pharmacies work through a set verification process before anything can be sent out. The software will not let a step be skipped, so it does not depend on someone remembering.
A prepaid account for clinics. Clinics run on a balance with a full transaction history, automatic reconciliation, and limits the system applies on its own — a small accounting department built into the platform.
Delivery routes worked out centrally. Routes are calculated in one place rather than separately by each app, so everyone is looking at the same answer.
Jobs that run themselves. Recurring work happens on a schedule, and can be watched and safely re-run when something goes wrong.
Why it still works years later
Most systems of this size become the thing nobody wants to touch. New features take longer every year until eventually the answer to a simple request is “we’d have to rebuild that part.”
That has not happened here, and it is the part we are most proud of. 1,184 database changes have gone out without the foundations cracking, and 425 distinct parts of the business are modelled properly rather than bolted on.
What keeps that true is unglamorous discipline: every database change can be replayed from scratch onto an empty system, each part of the business owns its own rules, and the code that makes decisions is kept separate from the code that draws screens. Do that from the first week and year three is cheap. Skip it and year three is a rewrite.
The result
A working platform that four different groups of people rely on daily, with a complete and searchable history of every prescription that has passed through it. We did not build it and walk away — we have kept it running and kept adding to it as the business has grown.