Blog · Clinical infrastructure
Why HL7 pathology results are hard to reconcile in Australia
The same marker from five labs arrives with four naming conventions and three unit systems. Here is what that costs.
By Benjamin Novakovic, CTO and Co-founderLinkedInPublished
Four keys, not one
Reconciliation is four separate matching problems wearing one word: identity, analyte, unit and scale, and time and version. Each fails independently, and each fails quietly.
The range varies more than the value
For most common chemistry analytes, reference intervals differ more between laboratories than the results do. So out of range is partly a property of the issuing lab.
The front door is being standardised
Requesting and distribution are being standardised and legislated. The meaning of the results already sitting in systems is not being retrofitted, because it cannot be.
Australia runs an enormous amount of pathology. In 2024 to 2025 Medicare subsidised 173.3 million pathology services, made up of 123.8 million tests and 49.5 million episode initiation items, up from 89.8 million tests a decade earlier.1
Most of those results travel between systems as HL7 version 2 messages. That part works. Messages arrive, practice software files them, and someone reads them.
The part that does not work is what happens when you try to put two of those messages side by side. A ferritin from one network and a ferritin from another are not automatically the same kind of thing, even when they measure the same molecule in the same person a fortnight apart. Getting them into one column is the problem I want to describe, because it is much less about transport than people expect, and much more about meaning.
Reconciliation is four problems wearing one coat
When someone says pathology data is hard to reconcile, they are usually compressing four separate matching problems into one word.
Identity. Is this the same person as that one?
Analyte. Is this the same thing being measured, by a method close enough that the two numbers belong on one line?
Unit and scale. Is this the same magnitude, expressed the same way, against the same reference frame?
Time and version. Is this a new result, a corrected one, or the same result arriving twice by two routes?
Each of these fails independently. Each fails quietly. And a system that gets three of them right and the fourth wrong does not produce an error, it produces a plausible number in the wrong place, which is worse.
The message format was never going to settle it
HL7 version 2 frames a message. It does not fix what the message means.
The Australian localisation is thorough about this. AS 4700.2-2012 covered pathology and diagnostic imaging messaging,2 and has since been superseded by HL7 Australia's Australian Diagnostics and Referral Messaging, the localisation of HL7 version 2.4.3 Read the observation reporting section and you find something honest: local coding systems are permitted, and when they are used the recommended shape is code^description^NATA#-Version#.4
Look closely at that convention. The identifier of the coding system is the laboratory's accreditation number plus a version. The localisation's own worked examples are FBE^Full Blood Examination^NATA7816 and COAG^Coagulation studies^NATA4810-4, and it spells out what the trailing part means: the test was done by a specific laboratory, using the methods and formats linked to that version number.
So the code means what it means at that lab, under that method version. It is not a national identifier for a concept. It is a local name with a provenance stamp.
That is a reasonable design. Laboratory methods genuinely differ, and a code that pretended otherwise would be lying. But it does mean the message format cannot, on its own, tell you that two codes from two labs are the same analyte. Somebody has to decide that, and record why.
Five labs, one marker, one afternoon
Here is the shape of it, using illustrative segments of the kind partner networks send. These are demo values, not a person's results.
OBX|1|NM|HB^HAEMOGLOBIN||148|g/L|130-175|N|||F
OBX|1|NM|HGB^Hb (whole blood)||14.8|g/dL|13.0-17.5
OBX|3|NM|FER^Ferritin, serum||18|ug/L|30-500|L
OBX|7|NM|TSH^Thyroid Stim Horm||2.1|mIU/L|0.4-4.0
OBX|2|NM|HBA1C^Glyc Hb (IFCC)||34|mmol/mol
Five segments, and almost every reconciliation key is contested.
The first two are the same measurement. One calls it HB^HAEMOGLOBIN and reports 148 g/L against 130 to 175. The other calls it HGB^Hb (whole blood) and reports 14.8 g/dL against 13.0 to 17.5. Same blood, same analyte, different code, different unit, different numeric scale, and a reference interval that only looks different because the unit is different. A naive join on the test name treats these as two unrelated markers. A naive join on the description does no better, because one is a word in capitals and the other is an abbreviation with a specimen note attached.
The ferritin carries an L flag and a 30 to 500 interval. The thyrotropin carries no flag at all, because it sits inside its interval. The glycated haemoglobin carries no reference interval whatsoever, which is common for that marker and entirely defensible, and which also means that anything downstream wanting to say "in range" has to source the interval from somewhere else and then be honest that it did so.
Resolved, the same five rows want to look like this. The LOINC codes are shown to illustrate the idea of a shared concept. The Eirly Health API does not return LOINC codes.
| LOINC | Biomarker | Value | Reported as |
|---|---|---|---|
| 718-7 | Haemoglobin | 148 g/L | HB^HAEMOGLOBIN, HGB^Hb (whole blood) |
| 2276-4 | Ferritin | 18 µg/L | FER^Ferritin, serum |
| 3016-3 | Thyrotropin | 2.1 mIU/L | TSH^Thyroid Stim Horm |
| 4548-4 | Haemoglobin A1c | 34 mmol/mol | HBA1C^Glyc Hb (IFCC) |
Now imagine those five arriving over eighteen months from four networks, some as a fresh result, some as a corrected one, some duplicated because two practitioners were nominated as recipients. That is the actual input.
The reference interval is the sharpest edge
This is the finding that changed how I think about the problem.
The Australasian Association of Clinical Biochemists has run a harmonisation programme for years, with recommended common reference intervals for a set of common chemistry analytes, endorsed by the Royal College of Pathologists of Australasia. The reason the programme exists is uncomfortable.5
For most common chemistry analytes, the variation in reference intervals between laboratories is greater than the variation in the results themselves.
The band used to decide whether a number is unusual varies more than the number does.
Which means "out of range" is partly a property of the issuing laboratory. Two identical values, from two labs, can land on opposite sides of their respective intervals. If you keep the value and throw away the interval and the lab that issued it, you have not normalised the data, you have destroyed the only context that made the flag meaningful.
Combining results for one person from what appears to be the same test into a time series, as a cumulative report does, is not a neutral formatting step. The operation itself is clinical, and doing it invisibly is the failure mode.
The standard has a list of how this goes wrong
One of my favourite documents in Australian health IT is the common errors appendix in the HL7 Australia localisation.6 It is a catalogue of the ways real messages break, written by people who have clearly read a lot of them. A sample, and what each one costs:
- Structured numeric fields written as text.
<5where the format wants<^5, or2.4-2.8where it wants-^2.4^2.8. Now the value is a string, and a string does not plot. - Local codes labelled as standard ones. The coding system component set to
LN, which asserts LOINC, when the code is actually the lab's own and should be markedL. This is the expensive one. It looks like a mapped result and is not, so it fails audit rather than parsing. - Units that miss the specification.
mL/min/1.73 m2where UCUM wantsmL/min/{1.73_m2}. Close enough for a person to read, not close enough to convert automatically. - Message identifiers reused. The same control identifier on one report sent to several recipients, and filler order numbers not scoped by the filler that issued them. Deduplication now depends on identifiers that are not unique in the space you are deduplicating over.
- Formatted text fields carrying embedded documents. Rich text or PDF inside a field meant for display formatting, with HL7's own delimiters unescaped.
Every item on that list breaks a different one of the four keys. None of them is exotic. They are what happens when a lot of independent systems implement an optional standard over three decades.
Identity, without a shared identifier
Australia has an individual healthcare identifier, and the Healthcare Identifiers Service that issues it.7 It is exactly the right idea.
It is also not, in practice, the thing that ties a pathology result to a person as that result moves through the chain. Matching still commonly falls back to name, date of birth and sex, which is also the demographic set the identifier service itself holds for verification.8 Those three fields carry every failure you would expect: a hyphenated surname entered two ways, a transposed birth date, a preferred name in one system and a legal name in another, and a fresh record created because a search did not find an existing one.
Secure messaging fills part of the gap, but it addresses a different question. The endpoint codes used to route reports identify the practitioner or the practice that receives the report.9 They are not an identifier for the person the report is about.
The report is two artefacts at once
There is one more structural thing worth naming, because it surprises people who come from other data domains.
The Australian localisation asks for both halves at once. Each logically independent observation gets its own observation segment, so one segment never carries two independent results, and the message also carries the formatted report, a PDF, showing how the laboratory intended the results to be presented, for the ordering system to display.4 That is the right call clinically. The pathologist's arrangement of a complex report carries meaning that a table of values does not, which is also why structured reporting has been pushed hardest in cancer pathology, where the arrangement is the finding.10
The effect is that one report is two artefacts travelling together. There is the rendered document, which is authoritative for a human reading it, and there are the discrete observation values, which are the only part you can compute on. They are produced by the same process and they can differ in emphasis. Anything that reconciles the discrete values is building a view the issuing lab did not lay out, which is fine, and is a responsibility.
What else is happening here
The encouraging part is that none of this is being ignored. Several national programmes are moving at once.
Sharing by default. The Modernising My Health Record legislation passed in 2025, and from 1 July 2026 pathology and diagnostic imaging reports authored by or on behalf of a pathologist or radiologist are uploaded to My Health Record by default, unless an exception or extension applies. The seven day delay before people could see most pathology reports was removed on 13 October 2025.11 The Australian Digital Health Agency reports consumer views of these reports up 433 per cent to over 3 million weekly, on uploads up 105 per cent to over 5 million weekly, as at 7 June 2026.12 Phase one covers written reports, not images.
Sparked. Australia's first FHIR accelerator, led by the CSIRO Australian e-Health Research Centre with the Department of Health, the Digital Health Agency and HL7 Australia.13 It maintains AU Core, and it produced the AU eRequesting Implementation Guide, released at version 1.0.0 by HL7 Australia in February 2026, covering pathology and medical imaging requests in community based care.14
Terminology. The Royal College's standards for pathology informatics continue to ship terminology reference sets through the National Clinical Terminology Service, mapping requesting terms to SNOMED CT and reporting terms to LOINC.15 The pilot work also found the honest limits, including that LOINC does not cover diagnostic panels, and prototyped tooling to help labs map their local codes.
Evidence. The Department of Health's pathology informatics and interoperability pilot, Pathology and the Patient, published its final report in November 2025, testing adoption of those standards and naming the barriers in laboratories and in clinical use.16
Notice the shape of all that. Requesting is being standardised. Distribution is being standardised, and legislated. Terminology is being published. What is not being retrofitted, because it cannot be, is the meaning of the several hundred million results already sitting in systems that were each internally consistent and mutually incompatible. Auto fax is still a live delivery method in 2026, alongside all of the above, and state services are still rolling out electronic reporting to their own referrers.17
Standardising the front door does not reconcile the house.
How Eirly Health handles it
Eirly Health treats reconciliation as a first class job rather than a side effect of ingestion.
A result arrives in whatever shape its lab sends. Each lab's results are mapped to one biomarker catalogue, using LOINC codes where the lab sends them plus the lab's own codes. The API returns the lab's own value alongside a canonical value in one agreed unit, so 14.8 g/dL and 148 g/L stop being two markers. The lab's report text comes through with them, because the lab's own context is what gave the flag its meaning, and losing it loses the meaning. The result is one canonical biomarker per measurement, with one history per marker, whichever lab ran the test. The lab results API page shows what comes back, and the API page covers the rest. Webhooks are notifications that a result is ready. You fetch the result itself from the API.
Two things Eirly Health deliberately does not do.
It does not interpret. Mapping a code and converting a unit are data operations. Deciding what a result means for a person is clinical, and clinical responsibility stays with the ordering practitioner. Eirly Health does not detect, hold or review results.
And it does not pretend the mapping is free of judgement. Where a local code has no clean LOINC equivalent, or where a method difference means two values should not sit on one line, we think the honest answer is to say so rather than to average them into a tidy chart.
If this is your problem too
If you run a lab, build a health product, or maintain the integration layer that makes results usable, I would genuinely like to compare notes. The failure modes above are not evenly distributed, and the ones that hurt most tend to be specific to a network pair.
Tell us what you are building and we will show you how results from different labs land in one shape.
Sources
Sources
-
Australian Institute of Health and Welfare, pathology, imaging and other diagnostic services. Page updated 9 July 2026, read 7 September 2026. https://www.aihw.gov.au/reports/diagnostic-services/pathology-imaging-and-other-diagnostic-services ↩
-
AS 4700.2-2012, implementation of HL7 version 2.4, part 2, pathology and diagnostic imaging. https://developer.digitalhealth.gov.au/standards/as-4700-2-2012-implementation-of-health-level-seven-hl7-version-2-4-part-2-pathology-and-diagnostic-imaging-diagnostics ↩
-
Australian Diagnostics and Referral Messaging, localisation of HL7 version 2.4. https://implementer.digitalhealth.gov.au/standards/australian-diagnostics-and-referral-messaging-localisation-of-hl7-version-2-4 and the document's introduction at https://hl7.org.au/archive/hl7v2wg/1-Introduction_1278269.html ↩
-
HL7 Australia, observation reporting, covering the local code convention and its worked examples, the one-observation-per-segment rule, units, reference ranges and the requirement to carry the laboratory's formatted report. Read 7 September 2026. https://hl7.org.au/archive/hl7v2wg/4-Observation-Reporting_1278278.html ↩ ↩2
-
Harmonising adult reference intervals in Australia and New Zealand, on between-laboratory variation in reference intervals exceeding the variation in results. Australasian Association of Clinical Biochemists harmonisation programme, endorsed by the Royal College of Pathologists of Australasia. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5111244/ ↩
-
HL7 Australia, common errors appendix to the same localisation. Overview of the published standard at https://site.hl7.org.au/standards/australian-published/hl7-v2-pathology-messaging/ ↩
-
Healthcare identifiers, Australian Digital Health Agency. https://www.digitalhealth.gov.au/healthcare-providers/initiatives-and-programs/healthcare-identifiers ↩
-
Individual healthcare identifiers, Services Australia. https://www.servicesaustralia.gov.au/individual-healthcare-identifiers ↩
-
HealthLink, pathology and secure messaging. https://www.healthlink.com.au/solutions/pathology/ ↩
-
Royal College of Pathologists of Australasia, structured pathology reporting of cancer. https://www.rcpa.edu.au/Library/Practising-Pathology/Structured-Pathology-Reporting-of-Cancer ↩
-
Modernising My Health Record, sharing by default, frequently asked questions, Department of Health, February 2025. https://www.health.gov.au/sites/default/files/2025-02/frequently-asked-questions-modernising-my-health-record-sharing-by-default-act-2025_0.pdf ↩
-
Australian Digital Health Agency, Australians already seeing the benefits of sharing health information by default. Figures stated as at 7 June 2026. https://www.digitalhealth.gov.au/newsroom/media/australians-already-seeing-the-benefits-of-sharing-health-information-by-default ↩
-
Sparked, Australia's FHIR accelerator. https://sparked.csiro.au/ and the program review, evaluation report 2023 to 2025, at https://www.health.gov.au/resources/publications/sparked-program-review-evaluation-report-2023-2025 ↩
-
AU eRequesting Implementation Guide version 1.0.0, HL7 Australia, February 2026. https://hl7.org.au/fhir/ereq/ ↩
-
National Clinical Terminology Service. https://www.healthterminologies.gov.au/ ↩
-
Pathology informatics and interoperability pilot, Pathology and the Patient, final report, November 2025. https://www.health.gov.au/sites/default/files/2025-11/final-report-for-the-pathology-informatics-and-interoperability-pilot-pathology-and-the-patient-project.pdf ↩
-
NSW Health Pathology, electronic reporting information sheet for customers. https://pathology.health.nsw.gov.au/wp-content/uploads/2025/12/NSWHP-eReporting-InfoSheet-for-Customers.pdf ↩