Introduction

Async integration microservice for HL7 v2.x and canonical models

integration-service turns canonical patient/order events into outbound messages and delivers them to downstream systems. It can emit HL7 v2.x (ADT/ORM) or forward JSON unchanged, and deliver over HTTP or TCP/IP.

Authentication

Every /api/* endpoint requires a shared-secret bearer token:

Authorization: Bearer <token>

Requests without a valid token are rejected with 401. Health and metrics endpoints (/health, /health/live, /health/ready, /metrics) are public.

Base URL

https://us-integrations.crelio.solutions

How delivery works

The integration_configs block on each event drives both the output format and the transport:

FieldMeaning
protocolHL7 builds an HL7 v2.x message; JSON forwards the event body as-is
configuration_data.connection_typeENDPOINT_URL sends over HTTP; TCP/IP sends over a raw socket
endpoint_url / methodDestination and verb for HTTP delivery
host / portDestination for TCP/IP delivery
configuration_data.versionHL7 version label (e.g. 2.3, 2.5)

In JSON mode the internal keys (rule_templates, integration_configs) are stripped before sending, so the receiver only gets business data.

Choosing an endpoint

GoalEndpoint
Build and send a message/canonical/patient/deliver, /canonical/order/deliver
Preview the HL7 without sending/canonical/patient/to-hl7, /canonical/order/to-hl7
Preview the JSON payload without sending/canonical/patient/to-json, /canonical/order/to-json
Validate an event (delivery best-effort)/canonical/patient/validate
Apply rule templates to a raw message/hl7/rules/apply, /json/rules/apply

deliver returns 502 when the receiver is unreachable, while validate returns 200 and reports the outcome under delivery.

API Reference

See the API Reference section for every endpoint with its request/response schema. This reference is generated from the service’s OpenAPI schema, so it always matches the deployed code.