Skip to content

Laboratory & Blood Bank

A full laboratory information system (LIS): order tests, track specimens, enter and verify results, run quality control, monitor turnaround time, and manage the blood bank.

Screenshot: Lab dashboard — TODO

Medical → Laboratory (/medical/lab) shows the active worklist, pending verification, today's critical results, TAT breaches today, blood-bank alerts, and QC exceptions.

Test orders & results

  • Lab Orders (/medical/lab/orders) — create requisitions (patient, ordering provider, tests, priority Routine/Urgent/STAT). Status flows Requested → Specimen Collected → In Process → Resulted → Verified (or Cancelled).
  • Result entry (/medical/lab/orders/{id}/results) — enter values per test line; the system auto‑flags critical high/low against reference ranges. Verify releases the report.
  • Report (/medical/lab/orders/{id}/report) — the formatted lab report.

Screenshot: Lab result entry — TODO

Priority-first worklist & auto-billing

The lab and radiology worklists sort STAT above Urgent above Routine (then by order time), so urgent tests surface at the top without filtering. Placing a lab/imaging order auto-raises the patient charge for the test/procedure fee (once per test — no double-billing on edits), and the nightly billing batch bundles the day's unbilled charges into a draft invoice per patient.

Turnaround time (TAT) & SLA

Each order is timed from specimen collection to final report (Verified) and measured against its priority's SLA target — STAT 60 min, Urgent 4 h, Routine 24 h. The lab worklist shows a TAT badge (green within target, red on breach), and a breached STAT order raises an alert so the delay is investigated. The lab home board carries a TAT breaches today KPI.

"View your report online" (public QR)

A verified report can be retrieved by the patient with no login — the model used by walk‑in patients. When a report is verified it gets an unguessable access code, printed as a QR on the patient's invoice/receipt (and shown on the staff order screen). The patient scans it, enters their date of birth as a second factor, and sees only that report. Access is rate‑limited (locks after repeated wrong dates), expires after 90 days, and every view is logged.

Catalogue, analyzers & QC

  • Tests (/medical/lab/tests) — define tests: code, LOINC, section, specimen type, unit, reference & critical ranges, price, turnaround time.
  • Analyzers (/medical/lab/analyzers) — register instruments and their integration mode (Manual / LIS Interface / Bidirectional; HL7/ASTM).
  • Quality Control (/medical/lab/qc) — record QC runs by control level; the system computes a z‑score and flags In Control / Warning (1‑2s) / Out of Control (1‑3s) per Westgard rules.

Consumables (reagents, kits, films, USG paper)

Medical → Lab → Consumables (/medical/lab/consumables) tracks diagnostic consumables — reagents, kits, chemicals, X‑ray film, USG paper — for both Lab and Radiology, separately from pharmacy drug stock. Define the consumable (category, department, unit, reorder level), then receive lots (lot number, quantity, expiry) and consume against them.

  • Stock view (/medical/lab/consumables/stock) shows on‑hand vs reorder level flagged OK / LOW / OUT, plus near‑expiry lots; downloadable as CSV.
  • A daily sweep raises Low stock, Out of stock and Near‑expiry alerts into Clinical Alerts (idempotent per consumable/lot), so reagents and film are reordered before they run out.

Specimen labels

Specimen Labels (/medical/lab/specimen-labels) — print QR/barcode labels carrying the accession number for collection → receipt → result traceability.

Blood bank

Blood Units (/medical/lab/blood-units) — register donor units (number, group, component, expiry, volume) and move them through custody: Pass/Fail screening, Reserve (cross‑match to a patient), Issue (transfuse), or Discard.

Verify before release

Results aren't visible on the report until Verified, and verified results lock from editing — this enforces the second-check before a result reaches the clinician. The public QR link only ever exposes a verified report.