📖 User Guide

Step-by-Step Guide for Every Role

Learn how each part of the system works and how every step connects to the next — from patient arrival to invoice payment.

Complete Patient Journey
1
Patient Arrives or Books Online Receptionist
Patient walks in or books online via the /book portal. Receptionist opens Appointments, clicks Add to Queue, and searches by phone. If new, enter name + phone — patient is auto-registered instantly.
After 5 digits, phone search auto-suggests matching patients. No need to press Enter.
Next: Patient added to queue with a token number
2
Print Token Slip Receptionist
After adding to queue, the confirmation screen shows inside the same drawer. Click Print Slip to print an 80mm thermal token slip. Printing automatically marks the patient as Arrived.
Token slip shows clinic logo, patient name, doctor, and appointment type.
Next: Patient status becomes Arrived → Doctor can see them
3
Doctor Sees Patient Doctor
Doctor opens Dashboard — Now Seeing card shows the current arrived patient, Next Up shows who is waiting. Dashboard auto-refreshes every 30 seconds. Click Consult on an arrived appointment row.
Next: Consultation modal opens
4
Write Consultation + Prescription Doctor
Enter Chief Complaint (required), vitals, clinical notes, ICD-10 code, optional follow-up. To prescribe, search medicines → select dosage/frequency/duration chips → quantity auto-calculates. Click Save & Complete.
Consultation and prescription are saved together in one click. Appointment auto-flips to Completed.
Next: Appointment marked Completed → Receptionist can bill
5
Dispense Medicines (if Pharmacy ON) ReceptionistAdmin
Go to Pharmacy → Dispense Queue. Find the prescription, click Dispense. Review allergy warning and stock levels. Confirm → stock deducted automatically.
Next: Prescription marked Dispensed
6
Generate Invoice & Collect Payment ReceptionistAdmin
On Billing page, click Bill on a completed appointment. Invoice auto-created with doctor fee + medicines. Add extra services with + Add Item. Click Record Payment → choose Cash / Card / Online / Insurance. Partial payments supported.
Next: Invoice marked Paid
7
End of Day Closing ReceptionistAdmin
Click End of Day on Billing page header. Count physical cash and enter it. System compares against total collected — green (matched), amber (surplus), red (short). Add notes and click Close Day & Lock.
👩‍💼Receptionist
  • Register & search patients
  • Add patients to queue & print token slips
  • Generate invoices & collect payments
  • End of Day closing
  • Pharmacy dispense queue
  • Lab requests & results
👨‍⚕️Doctor
  • View own patient queue only
  • Write consultations & prescriptions
  • Prescribe with food instruction chips
  • Order & view lab results
  • Full patient history (read)
🩺Nurse
  • View all patients in clinic today
  • Browse & print prescriptions
  • Enter lab test results
  • View patient profile & history
⚙️Admin
  • All receptionist + doctor access
  • Manage staff (add/edit/deactivate)
  • Medicine Store management
  • 7-tab reports with CSV export
  • Clinic settings, fees, branding
  • Working hours & holidays
👥
Patient Registration
1
Search Before Registering Receptionist
Always search by phone first (Patients page or Add to Queue modal). Type at least 5 digits — suggestions appear automatically. If patient exists, click Use Existing Patient.
Patient found → add to queue
2
Register a New Patient Receptionist
If no match found, enter First Name and Phone Number only (required). All other fields — DOB, NIC, address, emergency contact, insurance — are optional and can be added later from the patient profile.
Patient created → add to queue
3
Duplicate Warning Receptionist
If a possible duplicate is detected (same phone, or same name + DOB, or same NIC), a warning modal shows the matches. Choose Use Existing Patient or Register Anyway if they are different people.
📅
Queue Management
1
Add to Queue — Walk-in Receptionist
Click Add to Queue → Walk-in tab. Search or create patient, pick doctor, optionally set time. Token number is auto-assigned sequentially per doctor per day.
Walk-in tab is hidden if Allow Walk-ins is turned OFF in Settings → Appointments.
Confirmation screen shown in same drawer
2
Add to Queue — Booked Slot Receptionist
Click Add to Queue → Book tab. Pick date, doctor, then click an available time slot. Grey/strikethrough slots are taken. Bookings are blocked on clinic holidays.
BK-XXXXXX booking reference assigned
3
Print Token Slip Receptionist
After adding to queue, the confirmation screen shows inside the same drawer with the token number or booking reference. Click Print Slip → browser auto-prints a thermal-formatted slip. Printing marks the patient as Arrived.
You can also print from any queue row using the Print button — also marks Arrived.
Patient status → Arrived
4
Status Actions Receptionist
Each row has action buttons: Pending/Confirmed → Arrived or Cancel. Arrived → Complete or Cancel. Completed and Cancelled rows have no actions. Emergency appointments can only be created by Admin (lightning bolt icon).
🧾
Billing & Payments
1
Create Invoice Receptionist
Billing page → find a completed appointment row → click Bill. Invoice auto-created with doctor fee + all prescribed medicines. If invoice already exists, it opens that invoice.
Invoice modal opens
2
Add Extra Items Receptionist
Click + Add Item → 3-tab overlay: Service tab (configured custom services), Medicine tab (search stock), Custom tab (free-text anything with quantity and price).
Totals update automatically
3
Record Payment Receptionist
Click Record Payment → select Cash / Card / Online / Insurance, enter amount, optional reference. Call Record Payment again for split/partial payments. Payment history shows below totals.
Status updates to Partial or Paid
4
End of Day Receptionist
Click End of Day on Billing page header. Enter physical cash count. Compare against system total — green (match), amber (surplus), red (short). Add notes → Close Day & Lock. Cannot be undone.
🏠
Your Dashboard
1
Understanding Your Dashboard Doctor
Shows only your patients. Stat cards: Total Today, Waiting, Completed, Online Booked. Now Seeing card highlights the current Arrived patient with allergies and last complaint. Next Up shows the first waiting patient. Auto-refreshes every 30 seconds.
Dashboard auto-refreshes every 30 seconds — new arrivals appear automatically without manual refresh.
🩺
Writing a Consultation
1
Start a Consultation Doctor
On Appointments page or Dashboard queue, click Consult on an Arrived row. Only your patients show the Consult button. You cannot consult another doctor's patient.
Consultation modal opens
2
Fill Chief Complaint Doctor
Chief Complaint is the only required field — fill this first. A red allergy banner appears at the top if the patient has allergies on record.
Proceed to vitals and notes
3
Enter Vitals & Clinical Notes (optional) Doctor
Vitals: BP (systolic/diastolic), pulse, temperature, weight. Clinical notes: symptoms, diagnosis, ICD-10 code, doctor notes, follow-up date.
Add medicines (optional)
4
Prescribe Medicines (optional) Doctor
Search a medicine name → live suggestions appear. Select from store (shows ✓ from store) or type custom name (shows ✎ custom). Per medicine: use Dosage chips (1 tablet / 2 tablets / 5ml…), Frequency chips (Once daily / Twice daily…), Duration chips (3 days / 7 days / 1 month…). Quantity auto-calculates. Set food instructions: Before food / After food / With food / At bedtime.
Quantity = Math.ceil(dose × frequency × duration days). You can override it manually per medicine.
Click Save & Complete
5
Save & Complete Doctor
Click Save & Complete. Consultation saved, prescription saved (if medicines added), appointment flips to Completed automatically. Rx number shown in banner. Print Rx button activates.
⚠️If you saved without medicines, a Write Rx button appears on the completed row. Click it to add a prescription later. Once saved, Write Rx disappears.
🧪
Lab Tests (if enabled)
1
Order Lab Tests Doctor
Go to Lab → New Request. Search patient by name or phone. Select tests from the catalog. Submit — request added to lab queue.
Lab staff enters results
2
View Results Doctor
Completed results appear in the Lab Queue with a Done badge. Click a request to see result value, unit, reference range, notes, and any uploaded file. Results also appear inside the Consultation and Prescription detail modals.
📋
Your Role Overview

Nurses have read-only access to most clinical data. You can view patient information, prescriptions, and lab results. You can enter lab results. You cannot register patients, write consultations, or manage billing.

💊
Prescriptions
1
Browse Prescriptions Nurse
Go to Prescriptions page. Use date navigation for any date. Filter by doctor tab. Use search bar to find by patient name, Rx number, or doctor name.
Click a prescription card to open details
2
View Prescription Details Nurse
Click any Rx card → detail modal opens. Shows patient info, doctor info, all medicines with dosage/frequency/duration/food instructions, and lab tests ordered in the same visit.
Print if needed
3
Print a Prescription Nurse
Inside the Rx detail modal, click Print. A formatted prescription opens in a new window with clinic name, doctor signature, and all medicines listed.
🧪
Lab (if enabled)
1
Enter Lab Results Nurse
Go to Lab → Lab Queue tab. Find a pending request (Pending badge). Click to expand → Enter Result. Type result value, unit, reference range, notes, and optionally upload a PDF or image file. Status changes to Done automatically.
⚠️Nurses cannot create new lab requests or manage the test catalog. Only receptionists, doctors, and admin can create requests.
👥
Staff Management
1
Add New Staff Admin
Staff page → Add Staff. Enter name, email, password, role (doctor/nurse/receptionist/admin), and optionally phone, specialization, registration number. Staff can log in immediately.
A clinic can have multiple doctors — there is no limit on the number of doctors.
Staff can log in with their email + password
2
Edit or Reset Password Admin
Click pencil icon on any staff card to edit details. Click Reset Password to set a new password for them.
Changes take effect immediately
3
Deactivate Staff Admin
Toggle the status on a staff card to deactivate. Deactivated staff cannot log in. You cannot deactivate your own account.
⚙️
Clinic Settings (8 Tabs)
1
Clinic Tab Admin
Set clinic name, address, phone, email. Upload clinic logo (JPG/PNG, max 2MB) — shown on token slips, prescription PDFs, and the online booking portal.
2
Billing Tab Admin
Set currency code (default LKR), tax label, and tax rate %. Tax is applied to all invoices automatically.
3
Appointments Tab Admin
Set slot duration (10–60 min), max patients per day, and toggle Allow Walk-ins. When walk-ins are off, the Walk-in tab is hidden and blocked at the backend.
4
Security Tab Admin
Enable Patient Portal — generates a public /book URL for online booking. Enable Queue Display — generates a /display URL for the waiting room TV screen (auto-refreshes every 10 seconds).
5
Doctor Fees Tab Admin
Set the consultation fee per doctor (auto-applied when billing). Upload doctor signature (JPG/PNG) — appears on prescription PDFs.
6
Custom Services Tab Admin
Add clinic-specific services (e.g. Dressing, Blood Test, X-Ray) with name, category, and default price. These appear in Invoice → Add Item → Services tab.
📊
Reports (7 Types)
1
Daily Report Admin
Appointment breakdown, revenue summary, payment method totals, top diagnoses. Pick any date. CSV export.
2
Monthly + Doctors Reports Admin
Monthly: bar chart of billed vs collected per day. Doctors: per-doctor consultations, patients seen, revenue — with date range picker and CSV export.
3
Medicines, Patients, Appointments, EOD History Admin
Medicines: stock overview, low stock, near expiry, top prescribed. Patients: registration stats, demographics. Appointments: status/type breakdown, busiest day of week. EOD History: all closing records with cash discrepancy highlighted.
💊
Medicine Store
1
Add Medicine Admin
Medicine Store → Add Medicine. Fill name (required), generic name, brand, unit (required), strength, category, selling price, initial stock, reorder level, and expiry date. Medicine is immediately available for prescriptions.
2
Monitor Low Stock Admin
Low Stock tab shows medicines at or below their reorder level (red). Near Expiry tab shows medicines expiring within 60 days (amber). A Low Stock stat card on the Admin Dashboard shows a red border when any medicines are low — click to go directly to the Low Stock tab.