Sample solutions you can run
Each example is a folder in github.com/lambogenius/hl7-edge-gateway-examples with:
- the complete configuration, with comments;
- a stand-in for every system the gateway talks to, so you need nothing else;
- test messages;
- a demo script that runs every step and checks the result.
The pages below go through them step by step.
| Example | What it shows | Runs on |
|---|---|---|
| MEDITECH → REST API | MLLP in, HTTPS REST out with a bearer token. Store-and-forward through an API outage, dead letters, and pass-through. | Docker |
| Partners → MEDITECH | HTTPS REST with an API key per partner, and SOAP with basic auth, into MEDITECH over MLLP. | Docker |
| Azure Service Bus | MEDITECH to a topic with two subscriptions, and a queue to MEDITECH, through outages on both sides. | Docker (emulator) |
| Entra ID and Salesforce | Only callers with an Entra ID token and app role get in; results go to Salesforce with the JWT bearer flow. | Docker, your tenant and org |
| High availability | Three NATS nodes, two gateways and HAProxy, with node crashes and nothing lost, duplicated or reordered. | Docker |
| On-premises HA | Linux VMs with systemd, NATS over mutual TLS, and a keepalived virtual IP. | VMs |
| Azure (AKS) | Three zones, an internal Azure Load Balancer, Premium SSD, and ACR. | Azure |
| AWS (EKS) | Three AZs, an internal NLB with /ready health checks, encrypted gp3, and ECR. | AWS |
| Google Cloud (GKE) | A regional cluster, an internal passthrough load balancer, pd-ssd, and Artifact Registry. | Google Cloud |
| One ADT feed, three systems | MEDITECH and a partner clinic into one route; a filtered lab API, a downstream HIS and an SFTP archive, each with its own queue. | Docker (0.5.0 or later) |
| Results to the EHR, alerts by order | Pass-through: the lab system waits for the EHR's own ACK; what the EHR accepted is copied to an on-call pager and infection control, picked by segment-group filters. | Docker (0.5.0 or later) |
| One ADT feed, three shapes | One route, three destinations, each with a transform: HL7 with the lab system's own codes, JSON for a patient portal, and de-identified HL7 for a research registry. | Docker (0.6.0 or later) |
| MEDITECH to FHIR | ADT, orders, results and immunizations into a FHIR R4 server as transactions: one Patient however many messages name it, results corrected in place, MEDITECH's own codes in one file. | Docker (0.7.0 or later) |
| Claims, remittances and eligibility | X12: 837 claims from billing checked and acknowledged (999, TA1), sent to the clearinghouse in the clinic's own envelope; 835 remittances to a revenue API as JSON, from the clearinghouse and from a payer's CAQH CORE server; real-time 270/271 eligibility. Encrypted store, console sign-in and the audit trail. | Docker (0.9.2 or later) |
| HL7 files over SFTP | A lab's result files into MEDITECH in order, and MEDITECH's orders out as HL7 batch files; key sign-in and a pinned host key. | Docker (0.4.0 or later) |
Before you start
- 1Docker with Compose v2.
Docker Desktop on Windows or macOS, or Docker Engine on Linux.
- 2The gateway image and the examples.
Download the Docker image from lambogenius.com after signing in. Verify it if you like. Then:
git clone https://github.com/lambogenius/hl7-edge-gateway-examples.git cd hl7-edge-gateway-examples docker load -i hl7-edge-gateway-0.8.1-docker-image-linux-amd64.tar.gz - 3A license.
A free developer license works for every example, because they all send test messages (MSH-11
T). Put it in each example's.envasLAMBOGENIUS_LICENSE=….
Every example starts the same way: cp .env.example .env, add the license, docker compose up -d, then ./demo.sh (or .\demo.ps1 in Windows PowerShell for the first four). The examples share ports, so run one at a time and finish with docker compose down -v.
The admin console of each example is at http://localhost:8080; sign in with HL7EDGE_ADMIN_TOKEN from .env.