Pharmacy Overview Public

Pharmacy

Overview of the ERPat Pharmacy module: a Philippine retail-drugstore compliance and dispensing layer covering FDA/PRC compliance, drug catalog, prescriptions, FEFO dispensing with Senior/PWD statutory discounts, the controlled register, and quality & safety.

Guide version: r1 Module version: 1.0.0 Updated: 2026-07-23 Estimated time: 5 min
ERPat · Operations

Pharmacy

A complete Philippine retail community-pharmacy workspace, built as a thin compliance & dispensing layer over ERPat's existing POS, Warehouse (lot/batch/expiry), Procurement, Clients and Finance-tax subsystems — never a clone of them. From FDA/PRC compliance through prescription validation, FEFO dispensing with correct Senior/PWD statutory discounts, to the controlled-drug register and quality & safety.

Module slug: pharmacy  |  Menu route: /pharmacy  |  Version: 0.5.0 (Phases 1–5, plus a read-only API and DPA privacy hardening)

What it is

A community drugstore is different from ordinary retail: it must hold a current FDA License to Operate, employ a Pharmacist-in-Charge with a valid PRC ID, keep a pharmacist physically on duty whenever prescription medicines are dispensed, validate every prescription, apply the correct Senior Citizen / PWD statutory discount, and stay ahead of a stack of renewal deadlines and expiring stock. The Pharmacy module gives a branch one place to run all of that — and to see, at a glance, whether it is inspection-ready.

The module ships as vertical slices that build on each other: the Compliance Center, the Drug Catalog and near-expiry dashboard, prescriptions & patients, the dispensing checkout with statutory discounts and a BIR-shaped receipt, and the advanced Controlled Register and Quality & Safety areas (both off until your tenant validates them). Two read-only APIs expose the catalog and compliance readiness for integrations and employee self-service.

Readiness, not certification. A high readiness score means your configured evidence is complete. It is not a government certification and remains subject to FDA / PRC / BIR validation. Screens describe records as "configured for the tenant's registered setup," never "certified."

Documentation map

This guide is written for operators and business users first — a pharmacist, an owner, a compliance officer. Start with Getting Started, keep Daily Operations at the counter, and use the rest as reference.

Getting Started

First-run setup: enable the module and its sub-toggles, grant permissions, create a branch profile, record your FDA LTO and pharmacist credentials, and a beginner path through the module.

Daily Operations

The counter SOPs: start a duty session, capture and validate a prescription, dispense with FEFO and Senior/PWD discounts, and run the controlled-register and cold-chain routines.

Administration

Permissions and who should hold them, branch-profile rules, the two advanced sub-toggles, the dual API surface, the cron jobs, the audit trail, and migrations.

Reference

The data & screen reference: controllers, menu items and routes, permission keys, the main database tables, and the API endpoints.

Research

The live-file evidence behind this guide — exactly which manifest, config, controller and helper files were read so every statement traces to the shipped code.

FAQ & Troubleshooting

Quick fixes (hidden menu, greyed-out buttons, a pharmacist who won't go on duty), the glossary, and the "why is the ID masked?" / "why is Controlled Drugs hidden?" answers.

Inside the module

The Pharmacy group in the left sidebar links these workspaces (each gated by its own permission; the two advanced areas also by a sub-toggle):

Overview

The command center — compliance readiness, who is on duty, expiring licenses/credentials, and upcoming deadlines.

Drug Catalog

Drug attributes on the Warehouse stock item (Rx/OTC/controlled, FDA CPR, storage, Senior/PWD eligibility), generic groups, and supplier FDA-LTO licensing.

Near-Expiry & Lots

Expiry buckets and a lot register read live from the Warehouse batch ledger, FEFO-friendly.

Prescriptions

The Rx queue, capture, the pharmacist validation workflow, partial fills, dispensing records, printable labels and the BIR receipt.

Patients & Prescribers

Retail patients (with masked, audited ID numbers) and representatives, the medication profile, and the prescriber directory.

Compliance Center

Licenses & permits, pharmacist credentials, the on-duty gate, renewal tasks and inspection packs.

Controlled Drugs sub-toggle

An append-only dangerous-drug (RA 9165) ledger with a running balance, correction-by-reversal, and physical-count reconciliation. Off until validated.

Quality & Safety sub-toggle

Product recalls / stop-sale (quarantines the batch), adverse-event reporting, and cold-chain temperature logging. Off until validated.

Capabilities at a glance

AreaWhat you can doStatus
Compliance CenterFDA LTO / permits / RMP, pharmacist PRC/PIC credentials, the pharmacist-on-duty gate, renewal tasks, inspection packs, readiness score.Live
Drug CatalogClassify stock items with drug attributes, generic groups, regulatory (FDA CPR) verifications, and supplier FDA-LTO licensing.Live
Near-Expiry & LotsExpiry buckets and a lot register over the Warehouse ledger, plus daily expiry-reminder cron jobs.Live
Prescriptions & PatientsRx capture, pharmacist validation (atomic transitions), partial fills, dispensing labels, patient medication profile, prescriber directory.Live
Dispensing checkoutFEFO batch-aware stock issue (blocks expired batches), correct Senior/PWD statutory math, and a BIR-shaped Official Receipt.Live
Controlled RegisterAppend-only RA 9165 ledger, running balance, correction-by-reversal, physical-count reconciliation.Live · sub-toggle off
Quality & SafetyRecalls / stop-sale (batch quarantine), adverse events, cold-chain temperature logging.Live · sub-toggle off
Dual read-only APIIntegration API (/api/v1/pharmacy/*) and End-User API (/v1/api/pharmacy/*) for catalog, product and compliance/near-expiry reads.Live
Data privacy (DPA)Patient ID numbers encrypted at rest; masked to last-4 in lists; permission-gated, audited unmasking.Live

What it reuses (and never duplicates)

Per ERPat's no-duplication rules, Pharmacy never creates a second stock ledger, payment ledger, supplier master or product catalog. It reads and writes through the existing modules:

  • POS — the retail register and BIR receipt series the dispensing receipt reuses.
  • Warehouse — the stock ledger and lot/batch/expiry (FEFO) engine; the FEFO stock issue and batch quarantine compose the Warehouse public API.
  • Procurement — purchase orders, goods receipts, and the vendor master (extended with FDA-LTO supplier licensing).
  • Finance — the VAT / tax master for pharmacy line taxes.
  • Clients — the customer master; retail patient records are kept separately for privacy.

It also coexists with the separate clinical pharmacy inside the Hospital module; the two are different contexts (retail counter vs inpatient dispensing) and do not interfere.

Next: Getting Started →

Was this guide helpful?

Report a content problem