Lab used to mean typing values after the fact. The request lived in one place, the result in another, and reception added the charge by hand — or forgot.
There is now one pipeline: order, fill, bill, notify. A doctor in a session says “CBC and fasting glucose, internal, urgent” in a few clicks. The same request can go to a send-out lab instead. Walk-in result entry is still there for historical imports and clinics that have not switched.
The pipeline is also a bench a technician can run on a Monday morning: labels, assignment, reject and recollect, and a vendor payment that matches one invoice — not forty unpaid rows.
Request from the catalog
Search the clinic’s panels and units. If the panel is not imported yet, pull it in while you order. Recent panels sit at the top. Pick internal lab or a vendor. Set urgency, fasting, specimen, and notes. Print a requisition, or send it on WhatsApp.
The patient chart shows requests and results on one timeline. Direct walk-in entries stay labelled as such. If a panel has no matching service, the “not charged” tag stays on the order — not a toast that disappears. Dental-lab and radiology orders keep working; this drop makes analysis catalog-aware and result-producing.
After a panel is verified, a reflex rule can open a draft follow-up on the same patient. The draft is not billed until someone sends it.
Fill it in-house or send it out
Internal. A lab technician opens a worklist in the same admin app — not a second product. Print a specimen label with a barcode, scan it back to open the order, assign a queue, collect the sample, enter values against catalog units, and send for verify. A haemolysed sample goes back — reject or recollect with a reason, instead of vanishing from the lane. Numeric values are checked before save. Abnormals flag from the snapshot at save. The requesting doctor is notified when the panel is verified.
Send-out. The vendor gets a WhatsApp message with a signed link. They fill the same structured fields, or upload a PDF, without a staff account. Clinic staff still verify. If the link went to the wrong lab, revoke it. Correct the vendor cost until that order is settled. Each vendor has an orders view, turnaround, and a cost list you can default onto the request.
Money follows the service catalog
Requesting a mapped panel adds a normal examination line to the session invoice (or a standalone invoice if there is no session). Named price lists, insurance, packages, discounts, tax, and doctor percentage all keep working. There is no separate “lab invoice type.”
See which panels have no examination mapping before a doctor requests them mid-consultation.
If the clinic paid a vendor, that cost can be a clinic expense, re-billed to the patient, and deducted from the doctor’s commission base — the same three knobs consumables already have. When the vendor invoice arrives, select the unpaid orders and record one treasury payment against them.
Walk-in typing does not invent a charge. Charging is tied to the request.
Patients and quality
Verified results appear on the patient portal and in the mobile app, with the reference range next to each value and a branded PDF the patient can take to another doctor. The patient can request a follow-up session from that result. The clinic chooses whether patients see lab results at all.
Staff pick which lab events notify whom, and on which channel. A critical value needs an acknowledgement — not only an alert that can be missed. Overdue-sample timing is a clinic setting, not a fixed four hours.
New Analysis Lab clinics start with starter panels already imported. A turnaround and quality dashboard shows how slow or noisy the lab is; the patient chart can plot a unit over time from the order, not only from the result form.
Clinics that still enter results without a request keep that path. The new default is order, then fill.