Planning Document
Source reviewed: MSSL Pharmacy PMIS User Requirements_Signed-1.pdf.
This page captures the main gaps, implementation risks, and recommended delivery strategy.
Overall Assessment
The document is a strong business-facing URS and covers the major pharmacy domains well. It is suitable for stakeholder alignment, but it is not yet implementation-ready for an ERPNext-based solution because several high-risk requirements still need tighter definitions.
Findings
1. Offline operation is underspecified
NFRR01 and NFRR02 require offline dispensing and stock transactions
with later synchronization, but they do not define devices, local data scope, synchronization
behavior, conflict handling, or what happens if the same batch is dispensed at both sites
before sync.
In ERPNext, this is a major custom architecture item and should be broken into detailed functional and technical requirements before development starts.
2. EHR integration is a critical unresolved dependency
NFR-I01 makes EHR integration a must-have, but the interface is still
“to be confirmed.” The document does not specify source of truth, prescription ownership,
identifier matching, sync mode, or interface style.
This should be clarified before scope, timeline, or effort estimates are finalized.
3. Controlled medicines compliance needs more legal detail
The controlled medicines section is strong in intent, but it still needs exact regulatory validation for register format, retention period, amendment rules, signature rules, and submission format.
4. Financial design is incomplete for ERPNext setup
The URS covers billing, insurance, credit accounts, AR, and P&L reporting, but it does not define core implementation choices such as legal/entity model, chart of accounts, tax rules, insurance tariff logic, credit note treatment, and stock valuation linkage.
5. Exception workflows need more detail
Normal workflows are covered well, but exception cases remain unclear: partial dispensing, prescription amendments, returns and re-dispensing, OTC identity minimums, override flows, and controlled-medicine exceptions.
6. Site and inventory operating model needs definition
The URS requires FEFO, inter-site transfer, stock freeze during counts, quarantine stock, and negative-stock prevention, but it does not clearly define the warehouse and counting model.
7. Security and offline requirements need reconciliation
The document requires offline capability while also requiring encrypted storage and no unencrypted local patient or financial data. It should explicitly define device encryption, app-level encryption, session handling, and lost-device controls.
8. Some non-functional requirements are not fully testable
Performance and availability targets are present, but not yet precise enough for formal testing because they do not define hardware baseline, data volumes, or concurrency patterns.
9. Document control and versioning are inconsistent
The cover shows version 1.0 while the document control table includes
2.0 as approved. The sign-off section also includes a conflicting date of
25 March 2025 while the digital signatures are dated March 2026.
10. Editorial issues should be corrected
Examples include the typo “Marie Stopes Sierra Loene,” malformed timeout text in
UAM-04, and a misplaced dual-authorization note near PRO-07.
ERPNext Fit Summary
The following areas map well to standard ERPNext capabilities or straightforward configuration:
- Item master and supplier master
- Purchasing and stock receipt
- Batch and expiry management
- Warehouses and stock transfers
- Basic invoicing and receivables
- Role-based access
- Standard stock and financial reporting
The following areas are likely to require substantial customization or integration work:
- Offline dispensing and stock synchronization
- Prescription and dispensing workflow
- FEFO-driven batch allocation at dispensing
- Controlled medicines register
- Insurance claims workflow
- EHR integration
- Advanced approval and override controls
Recommendation
The URS is a good starting point, but it should be followed by a solution design and gap analysis that classifies each requirement into these buckets:
- Standard ERPNext
- ERPNext configuration
- Custom pharmacy app development
- External integration
- Process or policy decision
That will make the implementation scope, timeline, and risk much clearer.
Recommended Implementation Strategy
The safest strategy is a phased ERPNext-first implementation with custom pharmacy features added only where the core platform does not fit. This reduces risk, shortens time to first value, and keeps the most complex requirements from blocking the whole project.
Guiding principle
Use standard ERPNext wherever possible for procurement, inventory, finance, billing, user
access, and reporting. Build the pharmacy-specific workflows in pharmacy_app
for prescription capture, dispensing, controlled medicines, insurance claims, dashboards,
EHR integration, and possibly offline capability.
Recommended delivery phases
- Phase 0: discovery and solution design
- Phase 1: core ERPNext foundation
- Phase 2: pharmacy operations custom layer
- Phase 3: financial and insurance extensions
- Phase 4: integrations and advanced features
- Phase 5: pilot, parallel run, and hardening
Architecture recommendation
The recommended base model is one ERPNext instance, a shared item master, separate warehouses per site, separate cashpoints or POS profiles per site, and consolidated reporting on top. If both sites belong to the same legal entity, the simplest likely design is one company with separate warehouses and cost centers.
Customization strategy
Keep customizations concentrated in pharmacy_app and avoid modifying ERPNext core
directly. Use custom DocTypes and server logic for Prescription, Dispensing, Controlled
Medicine Register, Insurance Claim, reconciliation extensions, and override logs.
Risk-based priorities
The first release should prioritize the operational controls that reduce leakage and stock loss:
- Procurement and stock receipt
- Batch, expiry, and transfer control
- Dispensing linked to billing
- Cashier reconciliation
- Stock valuation and daily reporting
The highest-risk items should not be on the critical path for go-live unless absolutely required:
- Offline synchronization
- Deep EHR integration
- Insurance electronic submission
Practical next step
The next concrete step is the requirement implementation matrix, which becomes the real delivery
plan for pharmacy_app.