Lab results API

A lab results API for Australian pathology

Eirly Health returns pathology results as structured JSON: each biomarker mapped to one catalogue across labs, with the lab's own value and a canonical value in one agreed unit, plus the lab's report text.

By , CTO and Co-founderLinkedInPublished

The problem with raw lab results

Laboratories name the same test differently, report it in different units and send it in different formats. If you store each result exactly as received, one client's trend line can quietly mix scales.

Eirly Health ingests the labs' HL7 result messages and returns structured JSON, so your team works with one shape instead of one per lab.

What every result carries

A consistent biomarker identity

Incoming results are mapped to one biomarker catalogue, using LOINC codes where a lab sends them and each lab's own codes, so the same measurement is the same biomarker whichever lab produced it.

The lab's own value

The value, unit and reference ranges exactly as the lab reported them. Nothing is overwritten.

A canonical value

The same result expressed in one agreed unit per biomarker, so results from different labs can be compared.

The lab's report text

Reports with no individual biomarkers, such as some histology, still come through whole.

A biomarker, before and after

This illustrative creatinine result was reported by the lab in mmol/L. The lab's value stays as it was, and the canonical object holds the same result in umol/L.

Biomarker with canonical value (illustrative)
{
  "id": "creatinine",
  "valueType": "numeric",
  "value": "0.08",
  "formattedValue": "0.08 mmol/L",
  "unit": "mmol/L",
  "mostCommonUnit": "umol/L",
  "refIntervalLow": 0.06,
  "refIntervalHigh": 0.11,
  "isAbnormal": false,
  "canonical": {
    "status": "converted",
    "value": "80",
    "formattedValue": "80 umol/L",
    "unit": "umol/L",
    "refIntervalLow": 60,
    "refIntervalHigh": 110,
    "isAbnormal": false
  }
}

Illustrative sample, trimmed for this page. The full contract is in the Eirly Health docs.

Read more about how mapping works in the guide to LOINC for lab results.

Notifications, then one call

Webhooks are notifications. When a result is created or updated you receive a small event, and you fetch the result with one authenticated call. You can create, list, update and delete webhook subscriptions over REST, and look up past webhook events.

Webhook event, trimmed (illustrative)
{
  "eventName": "result.created",
  "eventUuid": "fd618482-7463-49dd-baa7-4289c62b0139",
  "version": "1.0",
  "data": {
    "uuid": "89dd5014-750c-48c2-8f39-c39a34a4a637",
    "provenance": "ORDERED",
    "status": "CREATED",
    "referralUuid": "ffc14dd3-7216-4f52-900f-360733183142"
  }
}

Illustrative sample, trimmed for this page. The full contract is in the Eirly Health docs.

Where results come from

Results come from Healius (Dorevitch, QML, Laverty, Abbott and Western Diagnostic), Sonic Healthcare (Douglass Hanly Moir, Sullivan Nicolaides and Clinipath), Australian Clinical Labs, 4Cyte, NutriPATH, Microba and Fatty Acid Labs. Orders are placed through the same API: see the pathology API.

Frequently asked questions

Yes. Eirly Health returns pathology results from Australian labs as structured JSON, with a consistent biomarker identity across labs, the lab's own value, a canonical value in one agreed unit, and the lab's own report text.

Every biomarker keeps the lab's own value and unit, and also carries a canonical value in one agreed unit for that biomarker, so results from different labs can be compared.

The lab's own report text is included with the result, so reports with no biomarkers, such as some histology, still come through whole.

Webhooks notify you that a result has been created or updated. You then fetch the result with one authenticated API call.

Yes. Eirly Health ingests the labs' HL7 result messages and returns structured JSON, so your team does not need to parse HL7.

Keep reading

  • Pathology API

    Referrals, results, webhooks, bundles and collection centres in one REST API.

  • Developer MCP server

    Let your coding assistant read the API reference while it writes your integration.

  • Guides

    LOINC, HL7 v2 and e-requesting in Australia, with sources.

Build on the Eirly Health API.

Start in the staging environment with its own keys, then talk to us about production access. Pricing is on request.