Writing

Five explainers about the domain, not about the product.

Interoperability, quality control, tenancy and field work. Each one is the article that would have saved a week of somebody's time, written by the person who lost that week.

What this isfive posts
Posts5
AuthorsThe LabFlow team
Guest postsNone, and none accepted
Case studiesNone. There are no customers
NewsletterNone
ScheduleWhen there is something to say

This is the component library, not a picture of it. Change the theme in the header and it changes with the rest of the page.

Filter by subject

5 posts

All posts

Westgard rules, without the mnemonics

Six rules, what each one is actually looking for, and the arithmetic that explains why running all of them on every analyte produces more false rejections than real ones. Includes the plot, and the reason 1-2s is a warning rather than a rejection.

Quality controlWestgardLevey-Jennings

About 11 minutes.

Ends at the point where quality control stops being arithmetic and becomes your laboratory's own policy decision.

HL7 v2 or FHIR: which one to build first

The honest answer is v2, and the reason is not technical merit. It is that the systems you have to talk to this year speak v2, and the pipe that carries it is a separate problem from the message inside it.

InteroperabilityHL7 v2FHIRMLLP

About 9 minutes.

Names the boundary between a message format and the network process that carries it, which is where most integration estimates go wrong.

LIS or LIMS: the distinction that decides your data model

One is organised around a patient and the other around a sample, and the two produce different tables, different permissions and different reports. Buying the wrong one is usually discovered at the first accreditation assessment.

ArchitectureData modelAccreditation

About 8 minutes.

Includes the cases where the distinction genuinely blurs, rather than pretending it is a clean line.

Tenant isolation in a multi-tenant LIMS

Why a list query has to prove its own tenant from its own filters instead of trusting the caller, why a policy that reads a field the query never filters on is a leak that returns a clean 200, and what a shared patient record does to the whole argument.

ArchitectureMulti-tenancyRow-level security

About 12 minutes.

The longest of the five, and the one with real query examples in it.

Offline-first phlebotomy, and the conflicts nobody plans for

A home visit and a hospital basement are the two places a phlebotomist reliably loses signal, and they are also the two places where guessing which write wins is unacceptable. What queues, what cannot queue, and why a conflict has to reach a person.

Field workOfflineChain of custody

About 10 minutes.

Scoped to specimen collection. Result entry, validation and release are online operations and the post says so rather than implying otherwise.

Written for the person who has to build it, not for a search engine.

Each of these started as a problem that cost a week. The article is what would have been useful at the start of that week, which is a different document from the one a content calendar produces.

That has a consequence worth stating: there are five, they appear irregularly, and there will not be one this month unless something is worth writing down.

The domain, not the product. A post that explains a standard and closes by asserting that LabFlow implements it perfectly is an advertisement in a friendlier voice. Where one of these reaches what LabFlow does, it says what is built, what is not, and which side of the boundary the remaining work falls on. The features page is where the product claims live, with a limit stated beside each one.

Four subjects, and each one is a place laboratory software goes wrong.

Not categories invented to fill a filter. These are the four areas where a decision made in the first month is expensive to reverse in the second year.

Interoperability

Message formats, and the difference between speaking a standard and having a validated integration with a named product. The second is a claim; the first is a capability.

Quality control

The rules, the plot, and the coupling that matters: control that is filed and never consulted is paperwork, and control that gates a release is a safety mechanism.

Architecture

Tenancy, isolation, and the modelling choices that decide what a system can express. A range stored as two columns and an amendment stored as a status flip are the same mistake twice.

Field work

What happens away from the bench. Home visits, basements, couriers, and the awkward truth that the network is a place the specimen has already left.

If you are choosing a system, read them in this order.

They were not written in this order and they do not need to be read in it. This is the sequence that answers an evaluation question earliest.

Work out which kind of system you needLIS or LIMSThe distinction decides the data model, and a system organised around the wrong noun cannot be configured into the right one. Read it
Find the integration boundaryHL7 v2 or FHIRUsually the longest item in an implementation plan, and usually the one nobody scoped. Read it
Ask how quality control gates releaseWestgardThe answer separates products that record quality control from products that enforce it. Read it
Ask what isolates one laboratory from anothertenancyEspecially of anything hosted. The wrong answer is architectural and cannot be patched later. Read it
Only then ask about the fieldofflineIt matters enormously to laboratories that collect away from the bench and not at all to the ones that do not. Read it

The move this blog does not make.

Everyone who has evaluated laboratory software recognises it, which is why it is worth naming rather than quietly avoiding.

The usual shape

Nine hundred words explaining a standard, competently, and then a final paragraph: "This is why we built X to handle Y automatically." The explanation was the delivery mechanism for the claim.


The tell is that the article stops being specific exactly where the product enters it. Precise about the standard, vague about the implementation.

What happens here

The explanation ends where the explaining ends. Where LabFlow is genuinely relevant it is named with its limit attached, in the same sentence, and the limit is the specific half.


Worked example: LabFlow exports and imports HL7 v2 and FHIR as files, with no live feed. That second clause is the one that decides an integration timeline.

The ledger

What a software company's blog usually contains, that this one does not.

Some of these are missing on principle and some are missing because the thing they would describe does not exist. Both reasons are stated, because they are not the same reason.

Customer case studiesImpossible

There are no laboratories in production and no pilot tenants, so there is no customer to write one about. Earlier versions of this site claimed hundreds of users across pilot tenants. That was false and it has been removed.

Testimonials and named referencesImpossible

The same reason, and an anonymous quote from an unnamed laboratory director would be indistinguishable from an invented one. It is safer for everybody that neither appears.

A newsletter, and the box that asks for your addressNot built

There is no mailing list and no sending infrastructure behind one. A capture field that collects addresses for a list that does not exist is a small lie that compounds.

Gated content behind a formNot done

No whitepaper, no buyer's guide, nothing that trades a document for contact details. If a document is worth reading it is on the page, and the contact form is there for people who actually want to talk.

Guest posts and sponsored placementsNot accepted

The LabFlow team writes every post, and requests to place a post here are declined. A byline that means nothing is worse than no byline, and in a clinical domain it is worse still.

CommentsDeliberately absent

A comment thread on a clinical article needs moderating by somebody with the domain knowledge to spot advice that would be unsafe to follow. That is the same team, and it is busy writing the software. Corrections go to the inbox and get made in the post.

A publishing scheduleNone

No weekly cadence and no content calendar. Five posts exist because five things were worth writing down, and the next one appears when the sixth is.

A wrong post gets corrected in place, with a dated note.

Quietly editing an article so that it was never wrong is the publishing equivalent of overwriting a released result, and this product exists partly because that is not acceptable in a laboratory.

So the correction is visible: the text changes, a dated note at the foot of the post says what changed and why, and the original claim is quoted rather than paraphrased. If you acted on the old version, you can see exactly what you acted on.

If something here is wrong, say so. A correction with a name against it is credited unless you ask otherwise.

The shape of a correctionv2 current
Corrected, and the original is quoted

The same affordance the product uses for an amended result, because it is the same problem: somebody read the first version and made a decision with it.

WhereAt the foot of the post
WhatThe claim as it stood, quoted
WhenDated
CreditedUnless you ask otherwise

The other index, and it is a harder one to write honestly.

Four comparisons against products that are mature, installed and supported by real organisations. Every one of them names where the other product wins, because a comparison page that never recommends the competitor is an advertisement and a reader in this market sees it instantly.

Epic Beaker

The laboratory module of an electronic health record suite, bought by health systems that already run the suite.

Cerner Millennium

The same structural position from a different vendor, with a long installed base and a different integration posture.

Sunquest

A dedicated clinical laboratory system rather than a module, and the closest of the four in what it is for.

LabWare

A configurable LIMS platform whose centre of gravity is the sample rather than the patient, which is the distinction one of the posts above is about.

LabFlow has no laboratories in production. That sentence is on every one of those four pages, near the top, because a comparison written by a product with zero installations against products with thousands has to say so before anything else it says can be weighed.

The LabFlow team writes these, and it is not a team of laboratory scientists.

This matters for how you read the clinical parts. The domain here was read rather than practised: standards documents, published rule sets, accreditation requirements and the source of the system being replaced. That is enough to build software carefully and it is not the same as having run a bench.

So every clinical claim in these posts is traceable to a published source, named in the post, and every operational claim about LabFlow is traceable to code. Where something is inference rather than either, it says so in the sentence.

AuthorThe LabFlow team, who build it
Clinical reviewNone. No laboratory scientist has reviewed these
SourcesNamed in each post, never paraphrased into an unattributed fact
StatisticsCited, or absent. None is invented
CorrectionsIn place, dated, with the original quoted

None of this is clinical advice and none of it substitutes for your own laboratory's validated procedures. It is software writing about a clinical domain, which is a genuinely different thing and is worth keeping separate. More on who is behind it is on the about page.

Five posts is not a content strategy, and that is the point.

A blog with five articles and no schedule is a poor marketing asset and an accurate signal. It says the team writes when something is worth writing, and that nothing here was produced to fill a slot.

If one of them is useful, that is the whole return expected. There is no sequence waiting behind it and no address being collected.

Found something wrong in one of these? Say so. It gets corrected in place with a dated note, and credited unless you ask otherwise.