Pharmacy module
A pharmacy that dispenses on prescription, claims from insurers and keeps a controlled register: a ready Egyptian atlas to copy items from with their prices and ingredients, alternatives suggested by ingredient rather than by name, an official register no one types into, and claims assembled from posted invoices.
Drug Atlas
Path: Pharmacy → Drug Atlas — /commercial/drug-atlas
What it does: The Egyptian drug reference inside the system: search by trade name, scientific name or barcode, then copy what you want into your items — public price and active ingredient come with it. A new pharmacy opens with its catalogue in an hour, not a month.
| Field | Description |
|---|---|
| Search | Trade name, scientific name or barcode. |
| Copy to items | Creates one item per selected drug at its public price. |
| Link active ingredients | Splits the scientific name on «+», creates each ingredient and links it — this is what makes the alternatives screen work. |
| Create brands | Creates a brand for every manufacturer among the copied drugs. |
| Already copied | Skipped — nothing is copied twice. |
Active ingredients & alternatives
Path: Pharmacy → Active Ingredients — /pharma/active-ingredients
What it does: The active ingredient is what makes two items alternatives — not a similar name. Link the ingredient to the item, by hand or in bulk from the atlas, and the alternatives screen shows what shares it, closest composition first, then what is in stock.
| Field | Description |
|---|---|
| Arabic and Latin name | The ingredient in both languages. |
| Therapeutic class | Its clinical group. |
| Item count | How many items are linked — zero means the link was never made. |
| Strength | Recorded on the item-ingredient link, not on the ingredient itself. |
Prescribers
Path: Pharmacy → Prescribers — /pharma/prescribers
What it does: The register of doctors whose prescriptions reach you — name, specialty and syndicate number. A record, not free text retyped differently on every prescription; with it, «how much did we dispense on this doctor’s prescriptions?» becomes a query.
| Field | Description |
|---|---|
| Code and name | The doctor’s identifier and name. |
| Specialty | Their medical specialty. |
| Syndicate number | Registration number — printed on claims where the payer asks for it. |
| Phone | For checking back on an unclear prescription. |
Prescriptions
Path: Pharmacy → Prescriptions — /pharma/prescriptions
What it does: A prescription is a document in its own right, linked to the dispensing invoice: patient, doctor, diagnosis and a scan of the paper. An item flagged prescription-only cannot be sold without one.
| Field | Description |
|---|---|
| Number and date | Auto-numbered, with the date it was written. |
| Patient | From the customer cards, or a free name for a one-off dispense. |
| National ID and phone | Required by some payers on claims. |
| Prescriber | From the prescriber register. |
| Diagnosis | As the doctor wrote it. |
| Attachment | A scan of the paper — the evidence when it is queried. |
Controlled substances register
Path: Pharmacy → Controlled Substances Register — /pharma/controlled-register
What it does: The official register an inspector asks for — and it writes itself from stock movements. Nothing is added, edited or deleted here or anywhere else: a correction is a new reversing movement, and the database itself refuses to touch what is written.
| Field | Description |
|---|---|
| Sequence | A running number that never breaks — a break is the first thing questioned. |
| Date and item | The controlled drug movement. |
| In, out and balance | As in the paper register. |
| Document and prescription | The invoice the movement came from, and its prescription. |
Payers and coverage contracts
Path: Pharmacy → Insurance Payers — /pharma/payers
What it does: The insurer with its contract: a general coverage rate, and specific rules that override it for a given item or category. At the point of sale the patient share and the payer share are computed on the line itself.
| Field | Description |
|---|---|
| Contract | Its start and end — an expired contract covers nothing. |
| Coverage % | The general rate across all items. |
| Max per invoice | A ceiling the payer share never exceeds, however large the invoice. |
| Specific rules | An item or category at a different rate. 0% = excluded from coverage. |
| Requires approval code | When enabled, invoices for this payer cannot be saved without one. |
Insurance claims
Path: Pharmacy → Insurance Claims — /pharma/claims
What it does: The payer shares scattered across the month’s invoices are gathered into one claim, submitted to the insurer, then followed line by line: what was approved, what was rejected and why, through to settlement.
| Field | Description |
|---|---|
| Claim number and payer | The claim and its insurer. |
| Invoices | Its lines are posted invoices on that payer. |
| Claimed / approved / rejected | Three totals read at a glance. |
| Rejection reason | Recorded on the line — what you go back to the payer with. |
| Status | Draft → submitted → pending → approved or rejected → settled. |