Sitemap
Every page of the LabFlow documentation, grouped and searchable.
- sitemap.xmlThe same list, in the format search engines read.
- feed.xmlNew blog posts, for a feed reader.
- RSS feedThe same posts as feed.xml, at the blog’s address.
- Atom feedThe same posts in Atom.
- llms.txtA plain-text summary of the documentation, with a link to every page.
51 pages
Documentation
Introduction to LabFlow
LabFlow is a multi-tenant Laboratory Information Management System for clinical laboratories, fronted by a public marketplace, with patient and clinician portals. It runs on Supabase Postgres with row-level security; this page states what it is and what it is not.
Changelog — what changed in LabFlow, and when
The LabFlow web application's releases since the rebuild went live, newest first — what each one added, in plain words.
Status and limits — what is not built
Where LabFlow stands — every planned product area is built, the web application is live, the Android app is on Google Play and card payments are on. This page lists what is not built, and the claims LabFlow does not make.
About LabFlow
Who makes LabFlow and how to reach the LabFlow team — contact, corrections to this documentation, supporting the project, how to cite LabFlow, and the open-source work it is built on.
Getting Started
Create an account
How to get into LabFlow — Google sign-in through Supabase with no password, choosing which laboratory you are working in, and what happens when an account has no membership yet.
Create or join a laboratory
The LabFlow setup wizard — the five steps that create a laboratory in one transaction, the departments vocabulary, accreditation, inviting colleagues, and how the taken-name rule works.
Finding your way around
The LabFlow application shell — the navigation rail built for each role, the mobile drawer, the theme control and its nine axes, the page tours, and how screens are reached by address.
Page tours and How LabFlow works
The two built-in guides in LabFlow — a short tour of each important page behind one button, and the six-step "How LabFlow works" page from a registered patient to a released, signed result.
The Android app
LabFlow's Android app — the same application as the website in a native shell, with Google sign-in through the system browser, signed over-the-air updates, Play in-app updates and a review prompt. Built, not yet released on Google Play or verified on a device.
User Guide
User guide overview
Every shipped LabFlow area, by page — the clinical spine from patient to released result, running the laboratory, the patient and clinician portals, analytics, interoperability as files, and platform administration.
Patients
The LabFlow patient record — searching, the fields that resolve a reference range, medical record number issuance per laboratory, patient alerts, and merging a duplicate without deleting it.
Test catalogue
The LabFlow test catalogue — LOINC codes, specimen and container requirements, units and reported precision, department and instrument, critical values, and why a retired test is never deleted.
Panels and reference ranges
LabFlow panels and reference ranges — ordering a group of tests together, why a reference range is a function rather than a column, per-patient personalised ranges, and why a released result keeps the range it was read against.
Orders
Placing and tracking test orders in LabFlow — the four order statuses, priority as part of the order, why "needs attention" is a question rather than a status, and the ordered test as a first-class record.
Specimens and chain of custody
How LabFlow tracks a physical tube — the six specimen statuses, the seven custody event kinds, why the status is a fold of the custody trail rather than an editable field, registering a collection, and collection runs.
Accessioning and the bench
Receiving a delivery in LabFlow — one accession per tube, the accession number format and its check digit, and scanning tubes onto a bench.
Labels and barcodes
The LabFlow label designer and print queue — templates saved per laboratory and stock size, why a printed job is kept rather than removed, why a reprint is a new job, and the standalone Code 128 barcode generator.
Result entry
Entering results in LabFlow — the bench worklist, judging a value with its reference range already resolved on screen, the single idempotent write path that works online or offline, and finding a result by accession.
Result review and release
The LabFlow release gate — the review queue, who may release and within which disciplines, critical-value escalation and acknowledgement, validation rules that advise but never release, and amendment as a new version.
Dashboard
The LabFlow operational dashboard — what is waiting and what is late, every figure computed in the database, and a tile that refuses a number it cannot compute rather than inventing one.
Users and access
Managing a laboratory's people in LabFlow — the ten roles, release scope per discipline, who may grant what, withdrawing and restoring access without deleting a membership, and the append-only membership trail.
Your profile and identity verification
The LabFlow profile and identity verification — what belongs to you rather than to a laboratory, what each laboratory verifies independently, the file checks that are actually performed, and why nobody can view an uploaded document here.
Settings
LabFlow settings — one parameterised model covering workspace, personal, security and organisation sections, including MRN issuance, custom fields, validation rules and two-factor authentication.
Forms
The LabFlow form builder — the requisition form created on first open, immutable published versions numbered from 1.0, unsaved edits kept on the device, and what the product refuses to publish.
Utility tools
The LabFlow utility tools — the corrected calcium and anion gap calculators, why there is no save-to-record button, and the document scanner that attaches a requisition to the record that owns it.
Billing, payments and claims
LabFlow's revenue surfaces — why an invoice balance is never stored, why a part-paid late invoice shows as partial rather than overdue, why a rejected claim and a denied claim cannot be merged, and the two denial rates that use different denominators.
Stock and equipment
LabFlow's inventory and analyser registers — why there is no expired column and no stored on-hand quantity, why an analyser's status is a fold over its service trail rather than a field somebody sets, and what an expired lot or an out-of-service instrument means for releasing results.
Quality control
LabFlow's QC surfaces — Levey-Jennings charts drawn against the material's own established mean and SD, Westgard rules that block a release rather than notifying about it, and the four local quality tools that compute in SQL with no AI branding.
Compliance, audit trail and signatures
LabFlow's compliance register and its append-only audit trail — why there is no edit and no delete on the trail, why reading a patient record is itself an event, what the coverage table admits it does not record, and why an electronic signature binds a document version rather than a document.
Documents, the SOP library and workflow rules
LabFlow's document library, its controlled-document register with versions and sign-off, and the workflow builder — including why nothing in its palette can release a result and why the QC block is a gate rather than a rule.
Appointments and the calendar
LabFlow's diary and its calendar — why "overdue" is its own bucket rather than a sort order, why a slot is computed on demand instead of stored, and why arriving at a desk and being taken through are two separate facts.
Home visits, routes and the phone
LabFlow's home collection — why an unsuccessful visit is not a cancelled one, why the address is on one device and nowhere else, why the routes page draws a schematic rather than a map, and why the phlebotomist's screen works with no signal.
Field captures and reconciliation
LabFlow's reconciliation screen — why a missing field and a contradicting field are different findings, why nothing resolves itself, and why deciding which record is true never edits either record.
Listing a laboratory and My lab
How a laboratory applies to be listed in LabFlow's directory, how the application is reviewed, and the laboratory owner's My lab area — the public listing, people, collection points, catalogue, requests and performance.
Reports and analytics
LabFlow's reporting surfaces — shared saved reports over released results, key figures with their definitions, the volume outlook and peer benchmark, and rule findings computed from recorded data.
Research, population health and telemedicine
Three small LabFlow areas and their limits — research registers held against consent, population counts that never become a list of people, and telemedicine that books and explains but never practises medicine.
Interoperability — instruments, EMR systems and HL7/FHIR files
What LabFlow's interoperability area actually does — HL7 v2 and FHIR R4 as files you download or import, a register of partner EMR systems, instrument pages built from typed-in results, and a slide viewer. There is no live interface.
Email notifications
Which events LabFlow emails about, who receives each one, and why no email carries a result, a test name or a patient's name — you sign in to read the detail.
Portals & Platform
The patient portal
What a patient sees in LabFlow's portal — results in plain words, the history, reports and their versions, invoices without a checkout, sharing and stopping access, and the one-result link.
The clinician portal
LabFlow's clinician sub-app — ordering from laboratories that accepted your practice, reading released results, acknowledging critical results, and the laboratories that take your orders.
Referral programme
How LabFlow referrals work — your referral link, when a referral counts as confirmed, points and badges, plan months banked on your account and applied to one laboratory you own, and the numbers an administrator controls.
Platform administration
LabFlow's platform administrator area — laboratories and suspension, people and platform roles, read-only view-as, plans and limits with enforcement off by default, platform settings and maintenance mode, the review queue and platform analytics.
Architecture
Architecture overview
How LabFlow is built — a React single-page application over one hosted Supabase Postgres project with row-level security, Edge Functions for server-side work, private object storage for uploads, and Firebase Hosting serving the static files.
Tenancy and row-level security
How LabFlow keeps two laboratories in one database apart — membership as the record, the role on the membership rather than the profile, deny-by-default row-level security on every table, and the privilege block that closes four roles.
Records and trails
The LabFlow record-integrity rules — one writer per value, cached values derived from append-only trails, the result status model with a single transition function, and amendment as a new version rather than an edit.
Hosting & Publishing
Hosting and publishing
Where LabFlow runs and how this documentation is published — Firebase Hosting for the application's static files, hosted Supabase for its data, and GitHub Pages for these docs with a local Pagefind search index.
Blog
LabFlow Blog
Updates, release notes, and engineering deep-dives.
Feed
The LabFlow blog, newest first, with RSS and Atom links for a feed reader.
HL7 v2 vs FHIR R4 for laboratory integration in 2026
A side-by-side comparison of HL7 v2 (the workhorse, still dominant) and FHIR R4 (the modern standard, growing) for lab-EMR integration in 2026 — wire format, message types, transport, tooling, real-world coverage, and the migration trade-offs.
Westgard rules for clinical QC, explained
A working reference to the six base Westgard rules (1-2s, 1-3s, 2-2s, R-4s, 4-1s, 10-x) — what each rule detects, how to combine them into multi-rule sets, why 1-2s is a warning and not a rejection, and how to read a Levey-Jennings chart.
What is a LIMS? A 2026 primer
A clear, definitional primer on Laboratory Information Management Systems (LIMS) — what they do, what they don't, how they differ from LIS and EMR, and what the modern multi-tenant cloud-LIMS landscape looks like in 2026.