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 Benjamin Novakovic, 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.
{
"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.
{
"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.