Interface Monitor
Watch a lab interface at work
A synthetic pathology feed arrives one message at a time. The gateway's own code processes each one here in your browser and answers with an HL7 acknowledgement: accepted, error or rejected. Stage a fault to see what breaks, how it shows up, and how you would track it down.
Live feed
Each message that arrives is answered with one of three replies from HL7's acknowledgement codes: AA accepted AE error AR rejected. Select a message to see what arrived and what the gateway sent back.
Messages
Newest first · simulated clockMessage detail
Select a message to see it here.
Fault guide
Every fault you can stage, what it means, and how a support person would track it down. Each one is something that really goes wrong on lab and device interfaces. Message problems go through the real gateway code; network problems are simulated, because nothing real can be disconnected here. The same checks, with what to record, are in the support runbook (on GitHub).
Where this data comes from
Every patient here is made up. Nothing comes from real health records, de-identified or otherwise, and no sign-up or licence with personal information was needed to make it.
This page uses 106 messages from a synthetic population of 1,156 patients made by Synthea v3.4.0 (seed 20261019), 8 of them with a mistake planted on purpose, and 24 example files written by the project's own generator (seed 20261019).
| Detail | Where it comes from | Real or made up |
|---|---|---|
| Names | Population random first and last names from Synthea (the numbers it adds to keep names unique are removed). Examples a short fixed list of common names, such as CITIZEN or CHEN. | Made up |
| Date of birth and sex | Population generated by Synthea's simulation. Examples random, from a fixed seed. | Made up |
| Street address | Population Synthea's invented street names. Examples a few generic street names, such as Smith St, that may exist somewhere but are not anyone's address here. | Made up |
| Suburb, postcode and state | Real Queensland place names and postcodes (public information), picked at random from a list of 26 (5 for the examples). No real person is attached to them. | Real place name |
| IHI, Medicare number and MRN | Random digits with a correct check digit, so they pass the format rules. Real numbers come from the same ranges, so one can match a real person's number by chance; here it is only ever paired with made-up details, so it says nothing about that person. | Random number |
| Test results | Population simulated by Synthea, with its test codes (LOINC) and units kept exactly as generated. Examples fixed sample values written into the example generator. | Made up |
| Lab and hospital names | DEMOLAB, DEMOLAB2, QLDDEMO and QLDDEMO2 are placeholders, not real organisations. | Made up |
| Mistakes | Planted on purpose by the project's fault injector, which keeps a list of every change it made. | Made up |
The generated population is not stored in the project; its automated checks rebuild it from the same pinned version and seed, so anyone can reproduce it exactly.
About this page
The feed starts with the project's example registrations, then a slice of the Synthea-generated feed the project tests at scale: each patient's registration followed by some of their lab reports, as a lab would send them.
The same code runs as a real listener on your own computer: python -m gateway listen waits on this computer only
(port 2575, HL7's registered port), and python -m gateway send sends files to it and prints each acknowledgement.
See the README.