<StatusBanner/>StatusBanner
State indicator: idle vs. busy. Drives 'can I get coffee?' in one glance.
A walk-through of the Solo Doctor and Solo Reception interfaces — every panel, every flow, and the small UX choices behind them.
Solo Mode powers single-practitioner clinics — one doctor, one or more reception staff, one or more clinic locations. Multi-doctor concepts (specialties, doctor assignment, routing) are hidden so every screen optimises for fast intake, fast consultation, and clean handover.
When the practice scales to multiple doctors, the same data model upgrades to Station Mode without losing a single record. The two surfaces in Solo Mode are Solo Doctor (the consultation cockpit) and Solo Reception (the front desk).
The Solo Doctor dashboard is a single-pane workspace for the entire patient encounter — see the queue, pull the next patient, review history, write the diagnosis, build the prescription, and complete the visit without leaving the page.
Numbered callouts referenced on the mockup above.
If it says Busy, the queue is locked to this patient. The pulsing dot mirrors what reception sees, so both surfaces never drift.
Clinics have weekly seasonality (Mondays differ from Thursdays). Deltas reference the same weekday last week so the numbers are honest.
Up to 100 previous visits, most recent first. Open cards in-place — chronic patterns and repeat medications surface fastest in chronological view.
Diagnosis is required for Examinations, optional for Follow-ups and Consultations. Nothing is saved until Complete is pressed — experiment freely.
The "Next" badge is a recommendation, not a lock. Start any row — but skipping repeatedly hurts your Avg wait metric.
The Solo Doctor screen is composed of six reusable building blocks. Every one of them was designed to do exactly one job — and to do it without stealing focus from the patient.
<StatusBanner/>State indicator: idle vs. busy. Drives 'can I get coffee?' in one glance.
<Stat × 4/>Patients today · Waiting · Avg wait · Avg session — the day's pulse.
<PatientHistoryCard/>Long-term context for the active patient.
<VisitForm/>Capture diagnosis, notes and prescription in one composable form.
<MedicationSearchCombo/>Fast medication picker tied to your clinic's master list.
<WaitingQueue/>The real-time pull list.
Status banner reads 'No active visit · 4 waiting'.
Yousef Hammad, Examination. Banner flips to Busy; visit form unlocks.
Two prior visits — last one a follow-up for hypertension.
'Stable hypertension, BP 128/82.'
Search 'Amlo' → Amlodipine 5 mg → keep default dose.
Verify letterhead, footer, patient name, meds list.
Banner flips back to idle. Mona Farouk is now Next.
If the patient wants a paper copy.
If you need to leave mid-visit, complete with what you have or resume on return — the form persists in browser state but isn't saved server-side.
Reception's Quick Add lands new patients at the bottom. Manually skip ahead with Start — no override required.
Use the chat dock to ask reception, who can remove the queue entry from their side.
Form-then-Enter rhythm — same one reception uses for Quick Add. Train your hands once.
Old, never-used entries clutter the search ranking. The Medications page surfaces 'last prescribed'; anything > 12 months is a candidate to delete.
Six waiting at 4-min avg is healthy. Two waiting at 18-min avg is a problem — someone's been parked.
Improvement: surface previous diagnosis only when visit_type is follow_up AND chief complaint matches. Saves 30s per follow-up without copy-paste failure modes.
Improvement: a tag row (diabetic · pregnant · VIP) on the history header would surface chronic-care patterns without opening every visit.
Improvement: warn inline when a med was prescribed within the last 7 days. Prevents unintended overlap.
Solo Reception is the single front-desk surface where every patient enters the clinic system — walk-in or appointment. It's also a real-time monitor of the floor: who's with the doctor, who's up next, and how things are pacing.
What each numbered region of the mockup is doing — and why.
Waiting · In progress · Completed today. The pulse of the clinic at a glance — anything else lives one tab away.
Both surfaces subscribe to the same WebSocket stream. If they ever disagree, refresh — but they almost never do.
Patients 2 through N belong on the Queue page, not on this dashboard. One next-in-line is what reception needs to act on.
Visit type → patient → action, in that order. Train every walk-in through this dialog so analytics stay clean.
Phone is unique in the clinic; names are not. The picker indexes both — type the last 4 digits when in doubt.
Greet patient. Click + Quick Add.
If unsure of visit type, ask. The right call here saves the doctor's time downstream.
Examination · Follow-up · Consultation.
Wrong type is the #1 reception mistake — the dialog enforces it as step 1 to make it deliberate.
Type the last 4 digits. Existing patient appears in the picker.
Phone is unique; names aren't. Phone-first dedupes the patient table almost for free.
Dialog closes. Up Next swaps if the queue was empty.
Tell the patient their position and rough ETA — the card has both.
Status banner flips Busy on both screens.
Reception's In progress stat increments; everyone sees the same state.
Every walk-in goes through it, even when the doctor is idle. Bypassing for 'obvious' cases is how analytics get gappy.
Arabic transliterations vary; phones don't. Type the last 4 digits — the picker is built for it.
Patients accept being booked an hour out far better than being told '20 minutes' three times. Default Quick Add changes when waiting > 6.
Improvement: receptionists currently compute ETA in their heads. A live chip would close the gap between promised and actual wait.
Improvement: an intermediate state between Arrived and In progress would let reception confirm physical presence without consuming a queue slot.
Improvement: when a patient hits Late, prompt reception with a one-click 'running late?' SMS. Reduces no-shows without requiring discretion.
Every part follows the same rhythm — overview, hero mockup, floating comments, components, flow, pro tips — so the full guide reads as one coherent product manual.
Queue · Appointments · Patients · Medications · Archive. The supporting screens that orbit the dashboard.
Read itMulti-doctor clinics with specialties and routing. Same model, more knobs.
The multi-doctor counterparts to what you just read.