Every module, built around one shift.

Ten modules, one settlement engine — from the patient's first visit to the doctor's payout. This page covers all of it, the way it actually works.

01 · Front desk

Patients

  • One master file per person — every visit and appointment links back to it, building a complete history automatically.
  • Identity, contact, demographics and medical fields: blood group, allergies, chronic conditions, medical alerts a clinician should see immediately.
  • A stable, auto-assigned Patient Number (PAT/YYYY/#####) so the same person is never duplicated across visits, receipts and reports.
  • Smart buttons jump straight to that patient's full Visits and Appointments history.
  • Every change to a tracked field (name, gender, birth date, ID, mobile, patient type) is logged — who changed what, and when.
PAT/2026/07522 — Patient File
Patient NameMona Sample
Patient NumberPAT/2026/07522
Blood GroupO+
Medical AlertPenicillin allergy
Patient TypeCash
Visits14
Appointments2 upcoming
02 · Doctors

Doctors & settlement contracts

Dr. Demo Sample — Accounting tab
Settlement TypePercentage
Doctor Share %50.00
Withholding Tax %0.00
Analytic AccountDr. Demo Sample
Paid visitsContract frozen at payment
  • Percentage or fixed-fee contracts, plus a withholding-tax percentage — the single most important setup in the system.
  • PERCENTAGE: doctor gross = base × share%. FIXED: doctor gross = min(fixed amount, base), scaled if collection was partial.
  • Editing a contract only affects future, unpaid visits — a paid visit's split is frozen the moment payment is collected, so it never silently rewrites history or a posted ledger entry.
  • Doctor Configuration Sheet: an editable grid to update every doctor's settlement setup — type, share%, fixed, WHT%, analytic account — in one place.
  • Recalculate Doctor Accounting: a wizard to refresh stored figures on unpaid visits after a contract change; posted entries are never touched.
03 · Scheduling

Doctor availability & appointments

  • Doctor Availability board — a live view of every doctor's waiting / in-consultation / done counters for today, at a glance.
  • Book an Appointment ahead of time: patient, doctor, start time and duration (prefilled from the doctor's default), with the expected fee.
  • The system blocks a clash — a doctor can't have two overlapping, non-cancelled appointments.
  • Create Visit converts a confirmed appointment into a registered OPD visit in one click — patient, doctor, time and fee all carried over — and marks the appointment Arrived.
  • Lifecycle: Draft → Confirmed → Arrived, or Cancelled / No Show if the patient doesn't turn up.
Doctor Appointments — This Week
TimePatientDoctorState
09:00Youssef SampleDr. Demo SampleConfirmed
09:15Nour SampleDr. Demo SampleArrived
09:30Hana SampleDr. Demo SampleNo Show
09:45Dr. Demo SampleBlocked — clash
04 · The visit

OPD visits & services

VIS/2026/09785 — OPD Visit
PatientAhmed Sample Patient
DoctorDr. Demo Sample
ServiceTypeSubtotal
ConsultationBase300.00
Complete Blood CountLab300.00
Wound DressingDoctor Extra150.00
Discount−75.00
Total675.00 EGP
  • Base = a service product's price, or the doctor's consultation fee — then + extra services − discount = the visit total, never below zero.
  • Two kinds of extra service line: Lab / Hospital Services (revenue to the hospital) and Doctor Extra Services (carries its own doctor share, hospital% + doctor% = 100%).
  • Discount spreads proportionally across the consultation and every service line — a collection ratio applied everywhere money is split, so a discount never falls entirely on one side.
  • A visit can run with no doctor if it's lab-only and already paid — the system auto-assigns an internal "Lab / Service" record so receipts and accounting still have a valid reference.
  • Book Lab Services wizard: register a walk-in lab visit — patient, services, optional mark-paid-and-print — in a single screen, no consultation required.
  • Full clinical record on the same visit: complaint, exam, diagnosis, treatment plan, prescription, vitals, attachments (X-rays, reports) — and a one-click Create Follow-up.
05 · Money & lifecycle

Payment, refund & visit states

  • Status moves Draft → Registered → Waiting Payment → (paid) → Waiting Nurse → Waiting Doctor → In Consultation → Done — with guards: no nurse stage without payment, no doctor stage without a doctor.
  • Mark Paid finds the cashier's open shift, freezes the doctor's settlement onto the visit, and registers the payment line — all in one click.
  • Mark Unpaid reverses a collection so a mistake can be fixed and re-paid — but only while the shift isn't posted yet; after posting, a refund is the correct path.
  • A controlled three-step refund: Request (cashier) → Approve/Reject (accountant or manager) → Pay (cashier, on an open shift) — full who/when audit trail at every step.
  • Receipts only print what's true: the payment slip refuses to print for a visit that isn't actually paid.
Refund workflow
1. Request RefundRequested — Cashier
2. Approve RefundApproved — Accountant/Manager
3. Pay RefundRefunded — Cashier, open shift
Refund Amount150.00 EGP
Requested by / Approved by / Paid byLogged, each step
06 · Front desk boards

Doctor queue & cashier fast dashboard

Doctor Queue Dashboard
Q#PatientState
1Mona SampleDone
2Cancelled — gap kept
3Karim SampleNo-show
4Laila SampleWaiting
  • Doctor Queue Dashboard shows only doctors with an active queue today, with live Waiting / In Consultation / Done counters — Open Queue for the full day roster.
  • The daily queue number is assigned by booking order (an immutable ID), never by an editable visit time — a rescheduled or backdated visit never reshuffles numbers already given out.
  • A cancelled or refunded visit keeps its number — it shows greyed with a visible gap, instead of renumbering everyone below it.
  • No-show is flagged automatically when a visit's time has passed but the patient is still sitting pre-nurse.
  • Cashier Fast Dashboard: a streamlined, colour-tiled front-desk screen to register a walk-in and collect payment in seconds — it's a normal visit underneath, so it follows every rule above.
07 · Cashier

Cashier shifts

  • Lifecycle: Open → (collect payments/refunds) → count actual cash → Close → Waiting Review → Post to Accounting → Posted (locked, no more edits).
  • Expected Balance = Opening + Cash Sales − Cash Refunds − Cash Expenses, computed automatically as the shift runs.
  • Difference = Actual − Expected — over or short, shown plainly, never hidden or auto-corrected.
  • Card sales are never treated as cash — they're excluded from the expected-cash formula and settle separately.
  • Once Closed, only a Hospital Manager can edit; once Posted, the shift is fully locked — reopen is blocked, a reversal or refund is the only path forward.
  • Variance Investigation wizard for a non-zero difference, and one-click Create Next Shift for the same cashier/period.
CS/2026/0101 — Cashier Shift
OpenClosedWaiting ReviewPosted
Opening Balance500.00
Cash Sales3,000.00
Card Sales1,200.00
Cash Refunds200.00
Cash Expenses100.00
Expected Balance3,200.00
Actual Closing Balance3,180.00
Difference−20.00 short
08 · Accounting

Posting, doctor payments & statements

Shift Posting — Journal Entry
SideAccountAmount
DebitCash300.00
CreditHospital Revenue (consult + lab)200.00
CreditDoctor Payable (analytic)90.00
CreditDoctor Withholding Tax10.00
  • No per-visit invoicing — cash lives in shift lines and posts once per shift as a single, balanced, per-doctor-analytic-tagged journal entry.
  • The entry must balance to the cent; sub-cent rounding is absorbed into revenue, anything larger blocks posting rather than guessing.
  • Can post automatically on shift close once accounts are configured — a posting failure never blocks the close, it's logged for manual retry.
  • Doctor Payments: record a payout (cash, bank, cheque) → Mark Paid posts Dr. Doctor Payable / Cr. Cash-or-Bank, clearing the liability. A paid payment can't be edited — only reversed.
  • Doctor Accounting Statement: earned net vs. paid vs. balance for any date range, refund-aware (a refunded visit only counts money actually kept).
  • Doctors Outstanding Balance: the pay-list — every active doctor with a positive balance due, as of any cut-off date.
09 · Integrity

Cash-flow audit

  • A built-in reconciliation scan across six checks: configuration, shift totals, visit payments, visit refunds, service lines, and doctor payments.
  • Every finding is scored High / Medium / Low, with an Expected, Actual and Difference — so nothing is a vague warning.
  • Run Cash Flow Snapshot saves a permanent, dated audit-run record so you can track whether the books stay clean over time.
  • Changes no money — it only reports. A documented exception can suppress a known, accepted discrepancy, but always with a mandatory reason and an approver on record.
  • Never a silent fix: an exception is an audit trail of a decision, not a correction.
Cash Flow Audit — Results
CategorySeverityDifference
Visit PaymentClean0.00
Cashier ShiftClean0.00
Visit RefundMedium25.00
Doctor PaymentClean0.00
StatusIssues Found
10 · Reports, settings & backup

The paperwork, the setup, and the safety net

🧾

Visit receipts (A4/A5/A6)

Base + services − discount = total, with the daily queue number — in Arabic or English, sized to your printer.

🖨️

80mm payment slip

Thermal slip for paid visits only — plus the compact shift hand-over slip for the cashier.

📄

Shift report (EN/AR)

Full shift summary — collections, refunds, expenses, expected/actual/difference, per-doctor split — reconciles to the GL.

👨‍⚕️

Doctor statement & payout receipt

Earned-vs-paid statement per doctor, plus a printable voucher for every doctor payment.

📊

Trial balance

Opening, period and closing debit/credit for every system account, for any period.

⚙️

Receipt & account settings

Brand the receipt (hospital name, size, footer, signatures) and map the nine accounts posting depends on — the system never invents one for you.

💾

System snapshots

Full or database-only backups with a checksum, on demand or on a daily schedule — a disaster-recovery restore point, admin-only.

Bilingual, always

Every report, receipt and screen is available in Arabic and English — not a bolt-on translation layer.

🔐

Role-based permissions

Cashiers collect and refund; only a Manager edits a closed shift; posting, doctor pay and audits sit with Accountant/Manager; snapshots are admin-only.

Ready to see your own numbers in it?

We'll walk through a real shift — your doctors, your fee structure, your discount rules.

Request a Demo