Pharmacy Dispensary & EFDA FEFO Batch Tracking
Manage pharmacy dispensing queues, execute FEFO batch selection, verify drug interactions, and enforce EFDA narcotic registers.
1. Overview & Business Value#
This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Pharmacy Dispensary & EFDA FEFO Batch Tracking within SmartERP.
Manage pharmacy dispensing queues, execute FEFO batch selection, verify drug interactions, and enforce EFDA narcotic registers.
{screenshot:pharmacy-dispensary-and-efda-fefo-overview-dashboard}
2. Prerequisites & Security Access Groups#
- Required Modules:
smarterp_healthcare, smarterp_clinical_core, smarterp_pharmacy - Security Groups:
Healthcare Receptionist(Technical ID:smarterp_healthcare.group_medical_receptionist)Physician / Attending Doctor(Technical ID:smarterp_healthcare.group_medical_doctor)Pharmacy Dispenser(Technical ID:smarterp_healthcare.group_medical_pharmacist)
- Master Data Dependencies: Patient master registry (Medical Record Number - MRN), EFDA drug formulary, Ethiopian Ministry of Health (MoH) HMIS disease codes, and EHIS insurance tariffs.
3. Step-by-Step Configuration & Execution#
Step 1: Navigating to the Module Interface#
- Log into your SmartERP instance at
https://smarterp.et/odoo. - Open the main App Switcher (grid icon in the top-left corner).
- Select the Healthcare app icon.
- From the top navigation bar, open Healthcare → Clinical Dashboard → OPD Triage / Inpatient ADT / EMR / Pharmacy Dispensing.
{screenshot:pharmacy-dispensary-and-efda-fefo-app-switcher-navigation}
Step 2: Creating and Parameterizing Records#
- Click the New button in the top-left control panel.
- Complete the mandatory fields in the record form:
- Medical Record Number (MRN) (Mandatory): Unique national health identifier or generated hospital record code
- Patient Demographics (Mandatory): Full legal name, gender, date of birth, and Kebele residential location
- Encounter Type (Mandatory): Outpatient (OPD), Inpatient (IPD), Emergency, or Triage consultation
- Attending Physician (Mandatory): Licensed healthcare practitioner responsible for clinical encounter
- Configure optional operational parameters and localized tags as required:
- Insurance Provider & Policy (Optional): EHIS CBHI/SHI policy or corporate credit contract
- Triage Vital Signs (Optional): Blood pressure, pulse rate, respiratory rate, temperature, and SpO2
- ICD-11 / HMIS Diagnosis Code (Optional): Standardized diagnosis category for statutory health reporting
- Click the Save icon in the control bar to commit the record.
{screenshot:pharmacy-dispensary-and-efda-fefo-record-creation-form}
Step 3: Validating and Processing Transactions#
- State Transitions: Execute operational state progression (Reception / Triage → Consultation → Lab / Radiology → Prescription → Billing / Discharge).
- Ledger & System Impact: Patient billing registers medical service revenue, debits patient or insurance accounts receivable, and debits pharmaceutical inventory upon prescription dispensing.
- Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.
{screenshot:pharmacy-dispensary-and-efda-fefo-transaction-processing-state}
Outpatient & Inpatient Pharmacy Worklists#
Prescriptions authored during clinical encounters arrive electronically at the pharmacy dispensary worklist, categorized by urgency (Stat, Urgent, Routine).
Executing First-Expired, First-Out (FEFO) Picking#
Under Ethiopian Food and Drug Authority mandates, dispensers must pick lots with the nearest valid expiration date:
- Open Healthcare > Pharmacy > Dispensary Queue.
- Select the patient's e-prescription.
- Review prescribed medications, dosages, routes, and frequencies.
- Click Auto-Allocate Lots (FEFO):
- The system queries warehouse inventory and allocates stock from lots with the earliest expiry.
- If Lot
Aexpires in 4 months and LotBexpires in 14 months, the system reserves LotAautomatically.
- The barcode scanner validates each dispensed unit box against the allocated lot number.
Clinical Drug-Drug Interaction & Allergy Alerts#
Before final dispensation, the clinical pharmacology engine checks for:
- Severe Drug Interactions: e.g., co-administration of Warfarin and high-dose NSAIDs.
- Patient Allergy Contradictions: e.g., Amoxicillin prescribed to a patient flagged with penicillin allergy.
- Duplicate Therapies: Two drugs belonging to the identical therapeutic class prescribed concurrently. If a major alert triggers, the pharmacist must record a formal clinical intervention note or request the physician to revise the prescription.
Controlled Substances & Narcotic Register#
EFDA mandates strict, tamper-evident record keeping for Class II and Class III controlled substances (e.g., Morphine, Pethidine, Fentanyl):
- Controlled drug dispensations require dual digital signatures (Licensed Pharmacist and Prescribing Physician).
- The system maintains an unalterable Dangerous Drugs Register (DDR):
- Running physical balance updated per single ampoule or tablet.
- Patient MRN, prescriber license number, and remaining stock verified.
- Discrepancies generate automatic incident reports to the Hospital Medical Director.
4. Advanced Configuration Points#
- Automated Actions & Scheduled Tasks (Crons):
Healthcare: Generate daily MoH HMIS aggregate tally(smarterp_healthcare.ir_cron_hmis_sync): Runs daily at 23:00 to prepare DHIS2 health data summariesPharmacy: Flag expiring EFDA medicine batches(smarterp_healthcare.ir_cron_fefo_expiry): Runs daily at 06:00 to alert dispensers of lots expiring within 60 days
- Custom Print Templates & Reports:
- Official Patient Encounter Summary & Medical Certificate
- Electronic Prescription Order Form (Model 19 Compliant)
- Ethiopian Health Insurance Service (EHIS) Claim Dossier
- Daily MoH Outpatient / Inpatient Morbidity Tally Sheet
- Multi-Company Rules: Record-level security isolation under Company 1 (
Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.
5. Comprehensive Troubleshooting Matrix#
| Error Symptom / Exception | Probable Root Cause | Corrective Action / Resolution |
|---|---|---|
Access Block: Confidential clinical diagnosis restricted | User is not listed as the patient's attending physician or authorized consultant. | Request explicit clinical consultation delegation from the department head. |
Credit Ceiling Block: Corporate insurance expired | Patient corporate insurance policy limit exceeded or expired. | Switch billing mode to private cash settlement or upload pre-authorization approval from the insurer. |
FEFO Allocation Error: Expired medicine batch blocked | Dispenser selected medicine lot past statutory EFDA expiry date. | Isolate expired lot to quarantine storage and dispense compliant active lot. |