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.

FieldDescription
SearchTrade name, scientific name or barcode.
Copy to itemsCreates one item per selected drug at its public price.
Link active ingredientsSplits the scientific name on «+», creates each ingredient and links it — this is what makes the alternatives screen work.
Create brandsCreates a brand for every manufacturer among the copied drugs.
Already copiedSkipped — nothing is copied twice.
ℹ️ 2,000 items per run; repeat to finish the rest — copied drugs are skipped, so repeating is safe.

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.

FieldDescription
Arabic and Latin nameThe ingredient in both languages.
Therapeutic classIts clinical group.
Item countHow many items are linked — zero means the link was never made.
StrengthRecorded on the item-ingredient link, not on the ingredient itself.
ℹ️ The clinical decision stays with the pharmacist: the screen suggests, it does not substitute. If no alternatives appear, the item most likely has no ingredient linked yet.

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.

FieldDescription
Code and nameThe doctor’s identifier and name.
SpecialtyTheir medical specialty.
Syndicate numberRegistration number — printed on claims where the payer asks for it.
PhoneFor 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.

FieldDescription
Number and dateAuto-numbered, with the date it was written.
PatientFrom the customer cards, or a free name for a one-off dispense.
National ID and phoneRequired by some payers on claims.
PrescriberFrom the prescriber register.
DiagnosisAs the doctor wrote it.
AttachmentA 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.

FieldDescription
SequenceA running number that never breaks — a break is the first thing questioned.
Date and itemThe controlled drug movement.
In, out and balanceAs in the paper register.
Document and prescriptionThe invoice the movement came from, and its prescription.
ℹ️ Flagging the item narcotic or psychotropic on its card is what puts it in the register — and the item is then treated as prescription-only even if that flag was not set separately.

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.

FieldDescription
ContractIts start and end — an expired contract covers nothing.
Coverage %The general rate across all items.
Max per invoiceA ceiling the payer share never exceeds, however large the invoice.
Specific rulesAn item or category at a different rate. 0% = excluded from coverage.
Requires approval codeWhen enabled, invoices for this payer cannot be saved without one.
ℹ️ Precedence: an item rule beats a category rule; both beat the contract rate.

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.

FieldDescription
Claim number and payerThe claim and its insurer.
InvoicesIts lines are posted invoices on that payer.
Claimed / approved / rejectedThree totals read at a glance.
Rejection reasonRecorded on the line — what you go back to the payer with.
StatusDraft → submitted → pending → approved or rejected → settled.
ℹ️ A claim is assembled from posted invoices only — an unposted draft never enters it.