Receive MLLP into the Logic Apps you already run
HL7 sender ──MLLP──▶ gateway listener ──HTTPS POST (JSON)──▶ workflow: When an HTTP request is received
◀──ACK── ◀──HTTP response──────- 1Create the receiving workflow.
Start it with “When an HTTP request is received” and decode
triggerBody()?['message']with the codec. Save it and copy the trigger's URL.{ "definition": { "triggers": { "When_an_HL7_message_arrives": { "type": "Request", "kind": "Http", "inputs": {} } }, "actions": { "Decode_HL7": { "type": "ServiceProvider", "inputs": { "parameters": { "message": "@{triggerBody()?['message']}" }, "serviceProviderConfiguration": { "connectionName": "lamboHl7Codec", "operationId": "decode", "serviceProviderId": "/serviceProviders/lamboHl7Codec" } }, "runAfter": {} } } }, "kind": "Stateful" } - 2Run the gateway.
Locally or on a VM with Docker, configured through environment variables. Port 8080 serves
/healthzand the HTTP API.docker run -d --name mllp-gateway -p 2575:2575 -p 8080:8080 \ -e LAMBOGENIUS_LICENSE="<your license token>" \ -e Gateway__ApiKeys__0="<a long random key>" \ -e Gateway__Listeners__0__Name=adt \ -e Gateway__Listeners__0__Port=2575 \ -e Gateway__Listeners__0__AcknowledgementMode=Auto \ -e Gateway__Listeners__0__TargetUrl="<the workflow's HTTP trigger URL>" \ <registry>/lambogenius-mllp-gateway:<version> curl http://localhost:8080/healthzIn Azure, deploy to Container Apps with the Bicep template. The trigger URL goes into Key Vault (
targetUrlSecretName), and the environment is VNet-internal by default:az deployment group create -g rg-hl7-gateway -f deploy/gateway/main.bicep -p \ image=<registry>.azurecr.io/lambogenius-mllp-gateway:<version> \ containerRegistryName=<registry> \ keyVaultName=kv-hl7-gateway \ listeners='[{"name":"adt","port":2575,"acknowledgementMode":"Auto","acknowledgementType":"Original","targetUrlSecretName":"adt-target-url"}]' \ allowedDestinations='["emr.hospital.internal:2575"]' - 3Send a test message.
Point the sending system, or the mllp test tool, at the gateway's host and listener port. With
Autoacknowledgement the sender gets AA as soon as the Logic App accepts the request.
Next: return your own ACK from the workflow (see Acknowledgements), or read the full gateway reference.