Lesson 46 of 51 · The Integration Engine

What Interface Engines Do (Mirth, Rhapsody, Cloverleaf)

Integration Engine

The system in the middle

The earlier courses described standards — v2 messages, FHIR resources — but said little about the software that actually moves them. In almost every healthcare organization, that software is an integration engine (also called an interface engine): middleware that sits between applications, receives data from each, and delivers it to the others in the form each expects 1. Mirth Connect, Rhapsody, and Cloverleaf are common examples; the concepts below apply to all of them regardless of brand.

The engine exists because the alternative — every system connecting directly to every other — scales terribly. With a hub in the middle, each system integrates once, to the engine, and the engine handles the fan-out. This is the practical embodiment of the point-to-point problem that opened the HL7 course.

An integration engine sits between systems, receiving messages, then filtering, transforming, and routing each to one or more destinations.
An integration engine sits between systems, receiving messages, then filtering, transforming, and routing each to one or more destinations. source

What an engine does to each message

A message entering an engine flows through a pipeline of stages 1:

  1. Inbound listener. The engine accepts the message over whatever channel the source uses — most often an MLLP connection for v2 messages, but also file drops, database polls, or HTTP/FHIR APIs 2.
  2. Filter. Rules decide whether this message is even relevant to a given downstream route — for example, forward only lab results for a certain facility, and drop the rest.
  3. Transform. This is the engine’s core value. The source’s format rarely matches the destination’s: fields must be moved, codes remapped (a sending facility’s local code translated to a standard one), segments added or removed, or an entire message converted from one standard to another (v2 to FHIR, say).
  4. Route. A single inbound message may need to reach several destinations — an admission goes to lab, pharmacy, and billing at once — so the engine copies and directs it to each configured target.
  5. Outbound send. The engine delivers to each destination over that destination’s channel and handles its acknowledgment.

Why transformation and routing are the heart of it

Two systems are almost never configured identically. One sends patient class as I/O; another expects INPATIENT/OUTPATIENT. One puts the medical record number in one component; another expects it elsewhere, with a specific assigning authority. The engine’s transformation logic absorbs these mismatches so neither application has to change — which is precisely why interface work concentrates in the engine rather than in the connected systems 1. The next lesson looks closer at how that transformation, routing, and filtering are configured; later lessons cover what happens when a message fails to get through.

References

  1. Tim Benson, Grahame Grieve. Principles of Health Interoperability: FHIR, HL7 and SNOMED CT. 4th ed. Springer. 2021. verified
  2. HL7 Transport Specifications — MLLP (Minimal Lower Layer Protocol). HL7 International. verified