ASTM / HL7 ORU
Laboratory devices — results from the instrument, not the keyboard
FertiliCore ingests results directly from laboratory instruments and embryology devices. It speaks ASTM E1381 and E1394, accepts HL7 ORU from a LIS, and imports time-lapse incubator morphokinetic exports as CSV or XML, routing each result to the andrology, laboratory, genetics or embryology record it belongs to.
- ASTM and HL7 ORU analyser feeds
- Time-lapse morphokinetic and AI score import
- Watched folder or TCP listener transport
- Results routed by type to the right record
Transcription is the biggest error source in the laboratory
Almost every numeric result in an IVF unit starts life on an instrument display or a printout: a semen analysis, an oestradiol level, a genetics report, a day-five embryo assessment. If those numbers reach the patient record by being read off one screen and typed into another, the unit has accepted a steady rate of transposition errors as the cost of doing business. Direct device integration removes the keyboard from the path and, incidentally, removes the delay between the instrument finishing and the clinician being able to act.
Two analyser dialects and a time-lapse importer
Analysers do not all speak the same language. FertiliCore implements ASTM E1381 for the low-level framing and checksums, and E1394 for the record content — header, patient, order, result and terminator — producing one canonical result model. Results routed through a laboratory information system as HL7 ORU reuse the same HL7 parsing path as the hospital connector. Time-lapse incubators are different again: they export morphokinetic data as CSV or XML files, and the importer parses those into daily embryo observations with per-frame metadata.
Routing a result to the record it belongs to
Ingestion is only useful if the result lands in the right place. Incoming results are classified and mapped by type: computer-assisted semen analysis goes to the andrology record as a CASA analysis, hormone panels are matched against the test catalogue and written as laboratory tests, genetic analyser output goes to preimplantation genetic testing results, and time-lapse exports become daily embryo observations complete with the AI score field used by embryo ranking views. Sample and accession identifiers are reconciled through the identifier crosswalk, so a re-sent result updates the existing row rather than adding a second.
- CASA semen analysers to the andrology record
- Hormone analysers to catalogue-matched laboratory tests
- Genetic analysers to PGT results
- EmbryoScope, Geri and MIRI exports to daily embryo observations
How devices actually connect
Two transports cover the realistic cases. A watched folder handles instruments and incubators that drop export files onto a share, which is how most time-lapse systems and many analysers work. A TCP listener handles streaming analysers that open a socket and send frames. Both are content-routed to the correct parsing pipeline, and both stay off until a path or port is configured. An analyser result inbox and a time-lapse import status screen give the laboratory a place to see what arrived, what was mapped and what failed with a parse or mapping error.
The shared backbone
The device connector sits on the same backbone as the rest. Every message is logged with direction, type, external reference, payload and status, which matters more here than anywhere else because a laboratory challenging a result needs to see exactly what the instrument sent. The identifier crosswalk prevents duplicate results. Everything is tenant-scoped, credentials are stored encrypted and never returned in plaintext, and the connector calls the clinical application's own ingestion API rather than writing clinical tables, so an instrument result passes the same validation and audit path as one entered by an embryologist.
Scope, stated plainly
Integration projects fail on the assumption, not the protocol. Here is what this connector does and does not do today.
Supported today
- ASTM framing and record parsing, unit-tested against fixtures
- HL7 ORU results reusing the shared HL7 parsing path
- Morphokinetic CSV and XML import with per-frame metadata and AI score
- Automatic classification and routing to andrology, laboratory, genetics or embryology
- Watched-folder and TCP listener transports, content-routed to the right pipeline
- Peer-IP allow-listing and optional TLS on the TCP listener
- Analyser result inbox and time-lapse import status screens
- Message log, identifier crosswalk and tenant scoping
Not yet covered
- The connector is inbound only; FertiliCore does not send orders back to analysers or a LIS from this connector
- It ships disabled with no folder path or port set, so it watches nothing and binds nothing until configured
- Each instrument model needs its result set mapped to your test catalogue during commissioning; the parsers are generic, the catalogue matching is site-specific
- No device certification or vendor conformance testing is claimed
Common questions
Our analyser only writes files to a network share. Does that work?
Yes, and it is the common case. The connector can watch a folder and pick up export files as they land, routing each one by content to the analyser or time-lapse pipeline. The alternative transport is a TCP listener for instruments that stream frames. You configure one or the other per connector; until a path or port is set, the connector watches nothing and binds nothing.
How is the TCP listener secured?
It can be restricted to an allow-list of analyser IP addresses, and an unlisted device is refused before any data is read. It can also be wrapped in TLS with a certificate you supply. Both default to off. The watched-folder path is local to the host and is governed by filesystem permissions rather than these settings, which is worth accounting for when you decide where the share lives.
What happens when a result cannot be parsed or matched?
It is recorded as a failure with the parse or mapping error attached, and it appears in the analyser result inbox rather than disappearing. Nothing partially formed is written to the clinical record, because the connector ingests through the clinical application's own API, which validates before it accepts. That gives the laboratory a work queue of exceptions rather than a silent data gap.
Does the time-lapse import give us AI embryo scores?
It imports whatever score the incubator's own software exports, into the AI score field on the daily embryo observation, alongside the morphokinetic timings and frame metadata. FertiliCore does not compute an embryo score of its own and does not claim to; it stores and surfaces the device vendor's output so that embryo ranking views can use it.
Are instrument results auditable after the fact?
Yes. Every message is logged with direction, type, external reference, the raw payload and status, filterable by connector and status, so the exact bytes the instrument sent can be inspected later. The resulting clinical record also carries the standard audit trail, including any subsequent edit by a member of staff, so an amended result is distinguishable from the original.
Other connectors
See FertiliCore against your own workflow
A working walkthrough with one of our clinical engineers — patient file to live-birth outcome, plus the integration and deployment questions your IT team will ask. No obligation, and no sales script.