// industry — diagnostics

Lab software written
with the analyser in the room.

Most lab software is written by people who have never watched a sample move through a lab. We built a full platform for a diagnostics chain — including the bridge that pulls results straight off the hematology analyser — so we know where the real problems are.

// what a lab actually needs

The parts that
always get underestimated.

Registration and billing screens are the easy half. These are the parts that decide whether the system survives contact with a busy lab.

  1. 01

    Analyser and instrument integration

    Analysers speak ASTM or HL7 over a raw socket, not HTTP. We have built and run a Windows service that speaks ASTM E1381/E1394 to a Nihon Kohden analyser, disk-queues every result so nothing is lost when the internet drops, and posts to the cloud when it returns.

    • ASTM E1381/E1394
    • HL7
    • Offline queueing
    • Duplicate-safe delivery
  2. 02

    Roles that match how a lab is staffed

    Lab admin, receptionist, phlebotomist, technician, pathologist, collection centre, superadmin. Collapsing these into “admin and user” forces shared logins and destroys the audit trail exactly where you need it most.

    • Role-based access
    • Audit trail
    • No shared logins
  3. 03

    Sample lifecycle and chain of custody

    An explicit status lifecycle from collection through processing to authorisation — not an ad-hoc flag. Who did what, when, and to which sample, recoverable months later when a report is questioned.

    • Barcode labelling
    • Status lifecycle
    • Traceability
  4. 04

    Pathologist authorisation

    Results reach a patient only after a named pathologist authorises them. Assignment, review queues and release are modelled as deliberate acts by a person, never as an automatic step.

    • Review queue
    • Named sign-off
    • Amendments & versioning
  5. 05

    Reports that are legally correct

    A pathology report is a document with a required layout, letterhead, reference ranges by age and sex, signature block and version history. A PDF that is nearly right is not right.

    • PDF generation
    • Reference ranges
    • Letterhead
    • Versioning
  6. 06

    Multi-centre and multi-tenant

    Collection centres, franchise branches or multiple labs on one platform, with data isolation enforced structurally — every table partitioned by tenant, the tenant carried inside the auth token — rather than by a filter someone might forget.

    • Tenant partitioning
    • Collection centres
    • Central reporting

Live project · Nakoda Diagnostics

Pathoflex

A multi-tenant pathology platform covering registration through authorised report, with seven staff roles, a tenant-partitioned PostgreSQL schema, and an on-premise ASTM bridge that keeps results safe through an internet outage. In production and under continuing development.

  • Next.js 14
  • NestJS
  • GraphQL
  • PostgreSQL
  • ASTM E1381/E1394
Read the case study

// honestly

When you should buy off-the-shelf instead.

There are competent ready-made LIS products, and if your lab runs a common panel set on common instruments with no unusual workflow, one of them will be cheaper and faster than anything custom. We will say so.

Custom starts paying when something about your operation does not fit the box: an instrument nobody supports, a franchise or collection-centre structure the product cannot model, a referral workflow between labs, pricing rules per corporate client, or an existing system you need to keep in step with rather than replace.

The other common trigger is being stuck — a vendor who has stopped developing, will not integrate a new analyser, or charges per branch in a way that punishes growth.

If you tell us what you run and where it hurts, we will tell you honestly which of the two you are looking at.

// straight answers

Questions we get
every week.

Can you integrate our existing analysers?

Usually yes. Most laboratory instruments speak ASTM E1381/E1394 or HL7 over a serial or TCP connection, and we have built a production bridge for exactly that. We would confirm against your specific instrument models and their interface documentation before committing.

What happens to results if our internet goes down mid-run?

Nothing is lost, provided the integration is designed for it. Our connector writes every result to a local disk queue before acknowledging it and drains that queue when connectivity returns — an analyser will not replay results on request, so buffering locally is the only safe design.

Can it handle multiple collection centres or branches?

Yes. The platform we run in production is multi-tenant with every table partitioned by lab, and collection centre is a first-class role with its own restricted view.

Do you handle NABL or regulatory documentation?

We build the traceability, audit trails and report controls that an accreditation process expects, and will work alongside your quality consultant. We are software engineers, not accreditation consultants, and we will not claim to certify you.

Can we migrate data from our current system?

Usually. Migration is scoped separately after we see the existing schema or an export, because data quality in the old system — not the migration code — is what determines the effort.

// next step

Tell us what is actually broken.

A short message is enough to start. The first scoping call is free, and you will be talking to the person who would write the code.