Home / 503A pharmacies
503A pharmacies

Software for 503A compounding pharmacies

Prescription-driven compounding with the controls a board inspector asks about — DEA refill limits, ship-to-state licensure, pharmacist verification, lot traceability — enforced in the workflow rather than left to memory.

A 503A pharmacy compounds for an identified patient on a valid prescription. Its risk is not a batch that fails a sterility test; it is the thousand small decisions made every day — was this refill allowed, are we licensed in that state, did a pharmacist actually verify this, which lot went into this vial. Pharmacy Flow turns those decisions into rules the system applies at the moment of work, and keeps the record that shows it did.

What 503A requires

Section 503A of the Federal Food, Drug, and Cosmetic Act exempts a compounded drug from three requirements — cGMP, adequate directions for use on the label, and new-drug approval — if it is compounded by a licensed pharmacist or physician for an identified individual patient on a valid prescription, from permitted bulk substances, and not in a way that is essentially a copy of a commercially available drug. The pharmacy may compound a limited quantity in anticipation of prescriptions based on its history. Day-to-day oversight is by the state board of pharmacy, and the practice standards are the USP chapters: <795> for nonsterile, <797> for sterile, <800> for hazardous drugs. FDA can and does inspect 503A pharmacies, usually on a for-cause basis.
Shipping to patients in other states adds nonresident pharmacy licensure in each destination state, and the rules for compounded controlled substances differ state by state. Whether you are a 503A at all, or should be a 503B, is covered in 503A vs 503B.

From prescription to shipment

Every order in Pharmacy Flow follows one lifecycle, and the lifecycle is a table of allowed transitions in the database with a trigger that rejects anything else. An order is Received, passes Eligibility (state licence and controlled-substance rules), goes to Clinical Review (pharmacist verification), then In Production or a direct line fill from an available finished lot, then Packed, Shipped, Delivered. On Hold and Cancelled are reachable from the working states. Two interlocks are checked by the database itself: an order cannot be Packed without a finished lot, and cannot be Shipped without a recorded pack verification. If the order is tied to a prescription, it cannot be Packed or Shipped unless that prescription's status is Filled — a prescription still in verification blocks the order regardless of who is trying.
Orders workbench filtered by status with eligibility, clinical review and production columns
The orders workbench: every order's stage, eligibility result, hold reason and facility, paged in SQL and exportable.
Each status change writes a row to the order's status history with the actor and time. That is what turns "how long do orders sit in clinical review" from a guess into a report — the same history feeds the dashboard's cycle-time and hold-reason views.

The controls, exactly as the software applies them

These are the rules in the compliance module, described mechanically so you can check them against your own procedures.
DEA schedule of a compound
The schedule of a formulation is the most restrictive schedule among its components (II over III over IV over V). Schedule strings on materials are normalised, so "CIII", "C-III" and "Schedule 3" all resolve to III.
Schedule II refills
Refused. A CII prescription may not be refilled (21 CFR 1306.12).
Schedule III–V refills
Allowed up to five refills within six months of the written date, per 21 CFR 1306.22 for CIII and CIV. The platform applies the same five-refill, six-month limit to CV as a conservative default; federal law does not impose that limit on CV, so you may relax it if your state does not either.
Controlled but unclassified
If a material is flagged controlled but no schedule can be parsed, the refill is held for manual classification. The rule fails closed rather than guessing.
Missing refill data
If the authorised-refill count is missing or understated, the refill is held. Same principle.
Ship-to state licence
The order is blocked if there is no nonresident-pharmacy licence on file for the destination state, if the licence is expired or not active/expiring, or — for a controlled product — if the licence record says the state does not permit compounded controlled substances.
The same rules run wherever an order originates — staff entry, partner portal, or the ordering API — because they are one function called by every path. Licences live in a licensing master with state, status, validity dates and a controlled-allowed flag, so renewing a licence is a data change, not a code change.

Pharmacist verification and DUR

Before a prescription is verified, the pharmacist sees a prospective drug-utilisation screen derived only from data the pharmacy actually holds — no fabricated allergy or condition data. The screen raises: duplicate therapy when the patient already has an active prescription for the same product; therapeutic duplication within the GLP-1 class when two different GLP-1 agonists are active; a moderate alert when a controlled-substance prescription carries authorised refills, with the schedule limits stated; a quantity-versus-days-supply check; a GLP-1 counselling reminder covering titration, GI tolerance and additive hypoglycaemia with insulin or sulfonylureas; and an explicit acknowledgement that no allergies are on file, so the pharmacist confirms them at counselling rather than assuming a clean screen. The pharmacist clears the alerts at sign-off, and verification is recorded as an approval with meaning Verified, signer, role and time.
Order detail with prescription, eligibility result, DUR alerts and status history

One record for the whole order

The order detail shows the prescription and patient reference, the eligibility outcome and its reason, the DUR alerts and who cleared them, the finished lot dispensed, the unit serial, the parcel and its carrier scans, and the full status history. It is the page you open when a board inspector asks about a specific fill.

Formulations, lots and beyond-use dating

Formulations are versioned master records with a bill of materials; approving a version is a signed approval, and changing one goes through change control. A batch consumes specific raw-material lots — recorded with the quantity taken from each — and produces a finished lot in quarantine. The finished lot's BUD is the formulation's BUD or the earliest expiry among the components consumed, whichever is sooner; the database computes that minimum, so a BUD can never outlive an ingredient. Release requires every QC test on the lot to be recorded as Pass and a release signature to be on record; the 503B page describes that interlock in detail, and 503A pharmacies get the same mechanism. Raw-material lots follow their own lifecycle: quarantine on receipt, available only after QA release, and a putaway suggestion that sends controlled materials to the vault, hazardous ones to a segregated hazmat room, and refrigerated ones to cold storage.
Lots list with expiry band, status, storage condition and location
Lots: expiry bands, quarantine status, storage condition, and the location the putaway rule assigned.

Fulfilment, subscriptions and cold chain

At fill, the unit is scanned against the order: the serial must belong to this order, must not be recalled, and must not be past BUD — otherwise the fill is refused with the reason. Pack verification is a separate scan and is the ship interlock. Packout is a property of the order — standard, cold-chain (insulated with gel packs), frozen (dry ice) or hazardous (segregated) — and cold-chain parcels carry that flag through to the carton and the carrier record. Subscriptions schedule recurring fills on a 28-, 30- or 90-day cadence and each generated order goes through the same eligibility and refill checks as a fresh one. Carrier scans arrive by webhook and are stored once per carrier event; delivery cascades to the order but honours a QA hold. Our cold-chain guide covers packout validation, and the fulfilment automation and Control Tower pages cover higher volumes.
Walk your own prescription through it

Bring a real (de-identified) prescription and a state you ship to. We will show the eligibility gate, the DUR screen, the fill and the verify scan on live software.

Where orders come from

⌨
Staff entry

Prescriptions and orders keyed by the pharmacy, with patient, prescriber and refill data captured for the DUR and refill checks.

◳
Partner portal

Clinics and telehealth brands submit orders, track shipments and manage subscriptions. Orders into states that restrict compounded controlled substances are held automatically.

Learn more →
⇄
Ordering API

Key-authenticated, idempotent on a client order id, and gated by the same fail-closed licence check before the order is accepted.

Learn more →
The intake paths share one order model, so a brand's API orders and a clinic's portal orders land in the same workbench with the same rules applied. For GLP-1 and hormone programmes specifically see GLP-1 fulfilment and hormone therapy.

Who this is for

Independent 503A

Outgrowing a retail dispensing system that has no concept of a formulation, a lot, or a nonresident licence.

Telehealth-fed 503A

Receiving hundreds of API orders a day across many states and needing the licence and refill rules applied before a human sees the order.

503A with sterile or hazardous work

Needing environmental monitoring, hazmat segregation and a QMS without moving to a 503B. See sterile compounding.

Pricing is on the pricing page; a comparison with other systems is on compare; more reading is under resources, including how to start a compounding pharmacy and how to scale one.

Frequently asked questions

Does the software enforce DEA refill limits or just warn?+
It enforces them. A Schedule II refill is refused; a Schedule III–V refill beyond five, or later than six months after the written date, is refused; a controlled material without a parseable schedule holds the refill for manual classification. The pharmacist also sees a DUR alert whenever a controlled prescription carries authorised refills.
How does the state licensure check work?+
The licensing master holds one record per state with status, validity dates and whether compounded controlled substances are permitted. At intake — staff, portal or API — the order is blocked if there is no licence for the ship-to state, if it is expired or inactive, or if the product is controlled and the state record says controlled is not allowed. Blocked orders are held with the reason shown.
Can a technician release a lot or ship an order?+
No. Permissions are rows in the database, checked by the status functions. Lot release requires qa.release, which Pharmacist and QA hold and Technician does not. Moving an order to Packed, Shipped or On Hold requires dispense or orders.manage; other transitions require orders.manage.
Does it handle anticipatory compounding?+
Yes. A batch can be made against a formulation without an order, producing a finished lot in quarantine that is released through QC and then filled against prescriptions as they arrive. The lot's status history and consumption record support the limited-quantity justification a 503A needs; the quantity policy itself is yours.
What happens on an out-of-specification result?+
The lot stays in quarantine because release requires every QC test to be Pass. The OOS is raised as a deviation with the lot linked, investigated, and closed with or without a CAPA. The lot can then be released after a passing retest under your procedure, or rejected.
Is patient data protected?+
Each tenant's rows are isolated by Postgres row-level security, access is by role, and events, approvals and the audit log are append-only for application users. The ordering API accepts a partner-supplied patient reference rather than requiring full demographics, which keeps the PHI footprint small. See security and compliance for the full description.
Does it support sterile and hazardous compounding for a 503A?+
Yes. Environmental monitoring, hazardous-material tagging with segregated putaway, and the QMS are available to any facility, not only 503Bs.
Keep reading

See Pharmacy Flow on your own workflow

A working platform, not a slide deck. Book a walkthrough and we'll run a real order from intake to carrier lane — or explore the public directory first, no account needed.

Free 14-day trial on signup · Free to claim a directory listing · Log in