Skip to content
LambogeniusDocs

HL7 MLLP Connector for Azure Logic Apps

Testing

Test receiving, sending, TLS and load with the mllp command-line tool.

Service provider/serviceProviders/lamboHl7MllpLicensed together with the HL7 v2 Codec. One token covers both.

The mllp test tool

mllp is the equivalent of BizTalk's MLLPSend.exe and MLLPReceive.exe: mllp send plays a system that sends to your trigger or gateway, and mllp receive plays a system your Send message action sends to.

Get the tool

Download it from Downloads (sign in first), next to the connector package: one self-contained executable for Windows, Linux (x86_64, arm64) or macOS (Apple silicon, Intel). It needs no .NET install and no license. Check the archive against mllp-<version>-sha256.txt, extract it, and run mllp --help. The archive also holds the two messages used below in samples/. On macOS the binary isn't notarized: run xattr -d com.apple.quarantine mllp after extracting.

Examples

# Play an EMR that sends to your trigger or gateway listener
mllp send --host <gateway-host> --port 2575 --file samples\adt-a01.hl7
mllp send --port 2575 --file samples\oru-r01-enhanced.hl7      # enhanced mode (MSH-15 = AL)

# Play a receiving system for Send message, returning ACKs
mllp receive --port 2600

# Over TLS: a throwaway certificate, a TLS receiver, and a sender pinned to it
mllp cert --out server.pfx --password pw
mllp receive --port 2601 --tls --cert server.pfx --cert-password pw
mllp send --port 2577 --tls --pin <server SHA-1 thumbprint> --file samples\adt-a01.hl7

# Load test: messages per second and latency percentiles
mllp load --port 2575 --file samples\adt-a01.hl7 --connections 10 --duration 30

A test plan for a new interface

  1. 1
    Positive path.

    Send representative messages for every message type and check for AA and a successful run.

  2. 2
    Rejections.

    Send a message without MSH-10 and an unsupported type, and check for AR with no run (or your workflow's AR).

  3. 3
    Enhanced mode and batches,

    if your partners use them: MSH-15/16 filled in, and an FHS/BHS batch.

  4. 4
    Failures.

    Stop the receiver and check that Send message retries; stop the archive target and check the spool.

  5. 5
    Load.

    Run mllp load at your peak rate on the production plan, with your real workflows.