We built a Next.js web app on an Express 5 and MongoDB API with 157 routes. One permissions file decides what each of the seven roles may do, and Socket.IO keeps reception and doctors in step.
- 01
Guided online booking
Patients book through a five-step flow, starting with a branch such as Chisel DHA or Chisel Gulberg, then a treatment and a doctor. A phone check and a short slot hold, kept in Redis, protect the time while they finish.
- 02
Front desk portal
Reception sees today's appointments with counts for awaiting arrival, waiting room, with doctor and ready for checkout. It runs check-in, walk-ins, scheduling, follow-ups, slot requests, payments and invoices for each branch.
- 03
Patient directory
A clinic-wide directory lets one phone number hold several profiles, such as a spouse or child. Staff search by name, phone, email or patient ID, or register a new patient on the spot.
- 04
Doctor workspace
Doctors open checked-in patients from a live queue, see their schedule for the next seven days and open any patient's chart history across all branches and providers. Consultations and prescriptions are recorded here.
- 05
Assistant portal and seven roles
Assistants record vitals in their own portal. One permissions file on the API decides what each of the seven roles may see and do.
- 06
Invoices and payments
Reception issues consultation and treatment invoices in rupees, marks them paid or partially paid with the balance due, and prints them. Online transfers sent by patients stay pending until staff verify or reject them.
- 07
Clinic administration
Admins invite doctors, assign them to branches and manage weekly schedules. They also look after services, locations, staff, the waitlist, reports, notifications and an audit log.
- 08
WhatsApp and email messages
Booking confirmations, reminders, cancellations and waitlist alerts go out by WhatsApp and email. Admins edit the wording of each template, with placeholders for the patient, date, time, doctor and booking reference.