At a glance
Overview
- Industry
- Healthcare: hospital and multi-branch clinic management
- Domain
- OPD and IPD workflows covering reception, consultation, diagnostics, pharmacy, billing and bed management
- Problem
- Every department kept its own register, so orders, stock and cash were re-entered and reconciled by hand at each hand-off.
- Solution
- One patient record that routes each doctor's order to the right department, prices it by configured rules and reconciles cash at close.
- Scale
- 25K+ patients, 10K+ monthly bills, multi-branch; 7 staff roles, 94 modules, 3 admission pathways
- AI
- Medical scribe, multilingual voice receptionist, call memory, post-care follow-up, document OCR
- Result
- Final billing 83% faster and patient flow from registration to consultation 76% faster
Executive summary
83% faster final billing after treatment. 76% faster patient flow from registration to consultation. 83% fewer billing discrepancies at day-end.
In most hospitals, the slowest part of a visit isn't the treatment. It's the hand-off between departments. We built Golloc, a unified OPD and IPD hospital management system with real-time department workflows and billing reconciliation, so that a doctor's decision reaches the pharmacy, the lab and the billing desk the moment it's made. It now handles 25K+ patients and 10K+ monthly bills across multiple branches, with seven staff roles working on one patient record. Every hospital configures its own forms, report formats, tax rules and visit steps, so the same product adapts to each organisation instead of the organisation adapting to it.
Project gallery
Project in pictures
01 · Context
Industry Context
Hospitals and clinics run on a chain of hand-offs: reception, nursing, doctor, lab, radiology, pharmacy, billing and, for admitted patients, ward and bed management. Each link often has its own register, spreadsheet or standalone tool. An error at any link surfaces downstream: a medicine request nobody saw, a lab result that never reached the doctor, a bill that missed a charge, a bed promised to two patients, a cash register that doesn't balance at closing. In this work, the cost of a mistake is paid at the next department, not the one that made it.
The standard approach has been separate OPD, billing and pharmacy tools held together by phone calls and paper slips. That held for as long as a clinic had one doctor and one counter. It stops working when a hospital adds branches, departments, GST-compliant itemised billing, several payment types (cash, card, UPI) and patients who move between outpatient and inpatient care. A hospital management system for OPD and IPD has to treat the patient's path, not the department, as the unit of design.
02 · Challenge
The Problem
Anyone who has run a hospital front desk knows the day. The receptionist can't tell whether a patient is with the nurse, the doctor or the lab. The doctor writes a prescription that someone has to carry to the pharmacy. The lab technician works from a handwritten request, and the printed report needs a different letterhead from the bill. Follow-up reminders go out as manual calls, so patients get missed. At closing, the cashier's collection doesn't match what was billed, and nobody can say which transaction caused the gap.
The cost isn't one big failure. It's repeated re-entry: the same charge typed at the counter after the doctor already decided it, the same stock figure adjusted by hand after dispensing, the same patient details checked again at each desk. Branch owners meanwhile can't see what each branch collected, and nobody can answer who changed a record and when.
The old approach is structurally limited, not just slow. Rigid software forces every hospital into one set of forms, report layouts and tax categories, so staff work around it with paper and the data stops being trustworthy. The turning point is accumulated pressure rather than a single event: every added branch, role and payment type multiplies the places where data is re-keyed and reconciliation fails. Past a certain point, patching the billing counter or the pharmacy register no longer helps. The hospital needs one system that follows the patient from registration to discharge and bill.
How can a hospital connect OPD, pharmacy, lab and billing in one system? By making the doctor's order the single source of every downstream action. When the doctor prescribes a medicine or orders a test, that order creates the pharmacy or lab request, adds the charge to the bill and notifies the responsible department in real time. Nobody re-enters it, so the departments can't drift apart.
03 · Approach
The Solution
The strategic decision was to build around the patient's path rather than around departments. The alternative, stronger individual modules for billing, pharmacy and lab joined by exports, would have kept the hand-offs, and the hand-offs were the problem. Golloc instead puts seven roles on one record: admin, receptionist, doctor, lab or radiology technician, nurse, pharmacist and billing user. Each role sees only the modules and patient data it needs. A receptionist can update contact details but doesn't see restricted clinical information.
What's now possible is described better as outcomes than features. A doctor's order arrives at the pharmacy, lab, radiology, nursing station or billing desk without a phone call. Billing receives treatment items already priced under the hospital's GST and discount rules. The closing cash count is checked against what the system expected. An inpatient admission, planned, emergency or converted from OPD, continues on the same record the outpatient visit created.
Two parts had to be custom-built because off-the-shelf software fails on them. The first is configurability: forms, visit steps, lab and radiology report structures, letterheads and tax rules are defined by each hospital's admin, not coded per customer. The second is the reconciliation layer, which compares expected and actual collection and flags the difference. Fixed screens and fixed billing logic would have pushed hospitals back to paper at exactly these points.
Adoption doesn't depend on retraining. Each role opens a dashboard for its own work, such as the pharmacist's medicine queue or the technician's worklist, and the notifications bring new work to them.
Register: the patient is registered or found in the system, and document AI reads outside lab reports, old prescriptions and ID or insurance cards into structured records
Book: the receptionist books a planned or walk-in visit, and the AI receptionist takes inbound calls, recalls prior diagnoses and routes callers to the right doctor
Check in: the patient joins the doctor's live queue
Vitals: the nurse records vitals before the consultation
Consult: the doctor consults and places orders while the AI scribe fills the SOAP note and patient forms
Route: orders go to pharmacy, lab, radiology and nursing automatically
Bill: billing receives the itemised bill with GST and discounts applied
Pay and reconcile: payment is collected, the receipt is printed and the register is reconciled
Record: the visit closes as one complete patient record
Follow up: an AI call and a WhatsApp message go out 10 days after the visit
04 · Engineering
Technical Deep Dive
The hard part of a hospital management system isn't any single feature. It's keeping 94 modules consistent while seven roles act on the same patient at the same time. A lab result is final only after verification, a medicine can be dispensed only against real stock, and a bill has to match what the doctor ordered. Each of these is a rule across departments, and a rule that lives in one screen breaks as soon as another screen touches the same data.
- 01Technical Node
Multi-branch organisation with role-scoped access
One organisation holds multiple branches, and each branch has its own doctors, staff, schedules, services, billing and inventory. Staff are assigned to branches, roles and modules, within the member limits the organisation has purchased. We chose independent branches under one organisation over separate installations, so a hospital group keeps one set of settings and one audit trail without mixing branch data. The role model prevents a clinical record from being opened by someone who only needs a phone number.
- 02Technical Node
Form builder and visit workflow configuration
Admins create patient and clinical forms by picking fields, sections, validations and specifications, and they define visit steps per service, department or treatment process. We built configuration instead of fixed screens because hospitals differ too much for one template. Standard consultation content such as SOAP notes, diagnosis, prescription and test orders ships by default, and extra stages are added through the form builder. This prevents the failure where staff abandon the software for paper.
- 03Technical Node
Order routing and department notifications over WebSocket
When a doctor creates a medicine, lab, radiology, procedure, referral or billing request, it goes to the relevant department only. Status changes such as accept, start, complete, verify, dispense, transfer and reject are pushed live to the related users. We used real-time push rather than page refreshes because a stale queue at reception or the pharmacy is how a patient ends up waiting without anyone knowing. Targeting by department keeps notifications meaningful instead of noisy.
- 04Technical Node
Report templates, verification and letterheads
Lab, radiology and procedure tests are defined with their own fields, specifications, reference ranges and validation rules, and reports are generated from that structure. Technicians move a request through pending, in progress, completed and verified. Authorised staff verify a report before it becomes a final patient record. The hospital's configured letterhead is applied to prescriptions, bills, reports and receipts, so documents look the same wherever they're printed.
- 05Technical Node
Batch-level pharmacy stock
A prescription creates a pharmacy request, and allocation records the dispensed quantity and deducts it from the matching stock. Stock is tracked by batch, quantity and expiry. We chose deduction at allocation, driven by the clinical order, over manual register entries, because a manual step is where stock figures and reality part ways. This keeps remaining stock and expiry visibility accurate across branches.
- 06Technical Node
Billing with GST, discount and advance rules
Treatment items such as consultations, medicines, tests, radiology and procedures flow into billing, where GST (global or category-wise) and discount rules by payment type, validity, service or treatment are applied from configuration. The bill shows the original amount, discount, GST and final payable amount. Advance payments can be adjusted against the final bill, with the adjusted and remaining amounts shown. Rules are configured, not coded per hospital, which is why the same billing logic works for hospitals with different tax categories.
- 07Technical Node
Cash register and reconciliation
A billing user opens the register with an opening balance and tracks collections by payment type: cash, card, UPI and other configured methods. At close, the system compares expected collection with the actual amount and highlights any conflict, alongside opening balance, collections, adjustments and closing balance. The core decision was to surface mismatches at close instead of leaving them for later discovery. An audit log records who performed each action, when, and what changed.
- 08Technical Node
IPD bed board, care teams and treatment orders
Admins define the ward, room and bed hierarchy, which feeds the bed board. Beds carry five statuses (Vacant, Reserved, Occupied, Cleaning, Maintenance), and reservation-related statuses change automatically at the configured time. Doctors define care teams, request consent, assign tasks and prescribe medicines with dose, frequency, route, quantity, start time and duration. We kept IPD on the same patient record as OPD so that an OPD-to-IPD conversion carries history forward and MLC details can be captured without delaying emergency treatment.
Tech stack
Category
Tool / capability
Why this, here
Structure and access
Multi-branch organisation layer with role-based permissions across 7 roles
Branches keep their own staff, billing and inventory, and each role reaches only the data it needs
Configuration
Form builder, visit workflows, report templates, letterheads
Hospitals differ in forms, steps and report formats, and fixed screens push staff back to paper
Real-time layer
WebSocket notifications routed by department
Live push keeps queues, orders and statuses current without refreshes
Billing and cash control
GST, discount and advance rules with an open/close register and expected-vs-actual reconciliation
Charges follow configured rules, and differences show up at close with payment-wise totals to trace them
Inventory
Batch, quantity and expiry tracking with deduction at allocation
Stock stays accurate because dispensing, not manual entry, updates it
Inpatient care
Ward-room-bed hierarchy with a live bed board
Occupancy and reservation status are visible to admission, nursing and admin in one view
AI layer
Medical scribe, multilingual voice receptionist, call memory, post-care follow-up, document OCR, WhatsApp
Targets the heaviest manual entry and the most repetitive calls, and reads from the same patient record
05 · AI Layer
The AI Layer
Every AI feature in Golloc reads from or writes to the same patient record, which is what separates it from a bolt-on voice or transcription tool.
AI Medical Scribe. The scribe transcribes the consultation and fills the SOAP note and patient forms. We chose to write into the doctor's own forms rather than produce a separate transcript, because a transcript is a second record somebody has to copy from.
AI Receptionist. It takes inbound calls and routes each caller to the right doctor, in Indian and global languages. We chose a voice receptionist over a fixed phone menu because callers shouldn't have to navigate options in a language that isn't theirs, and the voice is built to sound natural and humane instead of scripted.
AI Memory on Calls. On every call, the system recalls prior diagnoses from earlier visits. We chose to read from the patient record instead of keeping a separate call log, because a call can only remember what the record holds. This is where the single-record design pays off most visibly.
Automatic Post-Care Follow-Up. Ten days after a visit, an AI call and a WhatsApp message reach the patient. We chose automatic triggering over relying on staff to remember, because follow-ups that depend on someone's memory are the first thing dropped on a busy day.
Document AI and OCR. It reads Indian and global-script documents, such as outside lab reports, old prescriptions and ID or insurance cards, and turns them into structured records. We chose structured records over scanned attachments because a scanned image can't be searched, compared or reused in the patient's history.
06 · Outcomes
Results
Final billing after treatment is 83% faster, and day-end billing discrepancies are down 83%.
Measured business outcome
Impact
What changed
Patient flow from registration to consultation
76% faster
Check-in puts the patient in the doctor's live queue, so reception and the doctor see the same position
Final billing after treatment
83% faster
Treatment items arrive itemised, with GST, discounts and advances applied by configured rules
Daily register reconciliation
82% less time
The system compares expected and actual collection and shows payment-wise totals
Prescription-to-dispensing workflow
73% faster
A prescription creates the pharmacy request itself, and allocation deducts stock
Billing discrepancies at day-end
83% reduction
Conflicts are flagged at register close, with an audit log of who changed what
Inventory and expiry discrepancies
42% reduction
Stock is tracked by batch and expiry and reduced at allocation, not by manual entry
Appointment no-shows
31% reduction
WhatsApp reminders and AI calling cover appointments, and a post-care AI call and WhatsApp message follow each visit by 10 days
Operational scale
25K+ patients, 10K+ monthly bills, multi-branch
Branches run under one organisation with their own staff, billing and inventory
Behind these numbers sit 94 modules (78 OPD and 16 IPD) across 7 roles, 6 automatically routed request types (medicine, lab, radiology, procedure, referral and billing) and 3 IPD admission pathways, all on one patient record.
What these results unlock goes beyond the counts. Billing conflicts become visible while the shift is still open, and a doctor no longer has to chase a lab result by phone. A reservation expires on its configured time without anyone remembering to clear it. A branch owner looking at billing analysis sees collections, discounts, taxes and outstanding amounts by period, branch, doctor and service, all taken from the same records the departments worked on. The risk that disappears is the quiet one, where two departments hold different versions of the same patient.
07 · Process
How We Worked
Mapping the Patient's Path Across Seven Roles
We started from the patient's route through reception, nursing, consultation, diagnostics, pharmacy and billing rather than from a list of screens. This fixed the seven roles and showed where the hand-offs were. Every later decision was checked against whether it removed a hand-off or kept one.
Drawing the Line Between Configured and Built-In
We decided what each hospital's admin defines, and what ships as a sensible default. Forms, visit steps, report fields, letterheads, GST and discount rules went on the configured side, while SOAP notes, prescriptions and test orders stayed as defaults. This protected adoption, because hospitals reshape the system instead of working around it.
Wiring Doctor Orders to Pharmacy, Lab, Radiology and Billing
We made the doctor's order the origin of every downstream request, so a medicine order, a test order and a procedure each create their own department task and billing item. Department-targeted WebSocket notifications carried the status changes back. This prevented departments from keeping private copies of the same order.
Building Money Controls for the Register, Advances and Reconciliation
We built billing, advance adjustment and the open/close cash register together, because a bill rarely equals a collection one-to-one once discounts, advances and mixed payment types are involved. Expected-vs-actual comparison and an audit log came with it. This gave admins a place to look when numbers disagree.
Extending the Same Record to Inpatient Care
We added planned, emergency and OPD-to-IPD admission, the ward-room-bed hierarchy, the bed board, care teams, consent and medicine schedules on the existing patient record. Keeping one record meant an inpatient stay inherited the visit history instead of restarting it.
Adding AI Where Manual Entry Was Heaviest
We added the medical scribe, voice receptionist, call memory, post-care follow-up and document OCR at the points with the most manual work: consultations, inbound calls, follow-ups and paper records. Each one reads from or writes to the patient record, so call memory could recall prior diagnoses instead of starting every call blank. That kept the AI as an input and output of the record, not a parallel system.
08 · Insights
Domain Insights
- The hand-off is the bottleneckThe delay rarely sits inside one department. It sits in the gap between doctor and pharmacy, doctor and lab, or treatment and billing. Digitising each department separately keeps every one of those gaps, so the design unit has to be the patient's path.
- Configurability decides adoptionEvery hospital has its own forms, report formats, tax categories and visit steps. Software the admin can't reshape gets bypassed with paper, and once that happens the data stops being trustworthy for anyone.
- Cash and stock reconciliation have to be built in from the startHospitals mix payment types, advances and discounts, so a bill rarely equals a collection one-to-one. Without a register that compares expected and actual, conflicts are found after the fact, when they're hardest to trace.
- AI is only as useful as the record under itCall memory works because there's a single patient history to recall. On scattered departmental records, the same call would have nothing reliable to remember.
09 · Future Scope
Conclusion
We set out to build one patient record that every department works on, and Golloc is that. Orders route themselves, bills price themselves and the register checks itself at close, which shows up as 83% faster final billing, 76% faster patient flow and 83% fewer day-end billing discrepancies across 25K+ patients and 10K+ monthly bills. The change is that the hand-off stopped being a manual act: the doctor decides once, and the pharmacy, lab, radiology, nursing and billing teams each see their part of that decision.
With OPD, diagnostics, pharmacy, billing and inpatient data in one record, the next tractable problems in hospital operations are cross-branch analysis of throughput, billing conflicts and stock use, and wider automated patient outreach. The next candidates are prescription safety checks against allergies and past diagnoses, abnormal-value flags on lab results, missed-charge and register-anomaly detection, pharmacy demand forecasting, no-show risk scoring and plain-language analytics for owners. For inpatients, they include discharge-summary drafting and early-warning scores from nurse vitals. None of these are shipped yet. In a hospital, a patient's record is only as good as its slowest hand-off, so the fix is to remove the hand-offs, not speed them up.
Frequently Asked Questions
By making the doctor's order the single source of every downstream action. When the doctor prescribes a medicine or orders a test, that order creates the pharmacy or lab request, adds the charge to the bill and notifies the responsible department in real time. Nobody re-enters it, so the departments can't drift apart.
The scribe transcribes the consultation and fills the SOAP note and patient forms. It writes into the doctor's own forms rather than producing a separate transcript, because a transcript is a second record somebody has to copy from.
A billing user opens the register with an opening balance and tracks collections by payment type, including cash, card, UPI and other configured methods. At close, the system compares expected collection with the actual amount and highlights any conflict, with an audit log of who changed what.
Golloc handles 25K+ patients and 10K+ monthly bills across multiple branches. Behind that are 94 modules (78 OPD and 16 IPD), 7 staff roles, 6 automatically routed request types and 3 IPD admission pathways on one patient record.