What pharmacy counters get
Auto-FIFO batch tracking
Per-product batches with batch numbers and expiry dates. FIFO selection at sale with expiring-soon alerts on the dashboard.
Pharmacist PIN locks
Controlled-substance dispenses and other high-risk actions require Pharmacist PIN authorisation. Hashed; never returned by the API.
Prescription OCR vault
AWS Textract pipeline archives prescription images alongside AI-extracted text for pharmacist verification — tied to the sale.
Controlled-substance audit
Dedicated, filterable audit view of every controlled-substance dispense event with the authorising Pharmacist on record.
Expiry alert feed
Red-alert feed showing batches expiring in < 30 days, surfaced on the dashboard so stock rotates before it lapses.
Pessimistic stock locks
Stock deductions use database transactions with row locks — no oversells under concurrent pharmacist activity.
A regulated dispense, end-to-end
- 01
Scan and verify
Scan the product. dCore surfaces the active FIFO batch and expiry. The pharmacist verifies the prescription image stored in the vault.
- 02
Authorise the dispense
Controlled-substance dispenses prompt for Pharmacist PIN. Authorising staff is recorded in the controlled-substance audit log.
- 03
Sell and archive
Sale completes against the FIFO batch. The prescription image, extracted text, and dispenser identity live alongside the sale forever.
Trust controls
- Argon2id-hashed Pharmacist PINs — never returned by the API
- Permission matrix with require_pin_auth and bypass_pin
- Immutable audit log of every controlled-substance event
- Per-branch stock with safe pharmacist-authorised transfers
- Stock writes use lockForUpdate — no race-condition oversells
- OCR results are advisory; pharmacist verification remains the gate
Compliance vault: prescriptions, dispense events, and final invoices are retained in the dCore Compliance Vault, available for export and inspection.