How HL7 integration works in ServiceNow
Summarize
Summary of How HL7 integration works in ServiceNow
ServiceNow supports inbound HL7 v2.x message integration by receiving messages via REST API over HTTPS from an external integration engine. This process enables healthcare organizations to automate workflows such as patient discharge and room turnover by leveraging HL7 messages sent from Electronic Health Record (EHR) systems.
Show less
Key Features
- Message Reception and Acknowledgment: The integration engine (e.g., Epic’s) sends raw ER7-formatted HL7 messages to a ServiceNow REST endpoint. ServiceNow validates the MSH header and returns an HL7 acknowledgment code (AA for accept, AE for error, AR for reject).
- Message Logging and Parsing: ServiceNow automatically matches the incoming message to a parser configuration based on sending application, facility, HL7 version, message type, and trigger event. It extracts configured segment fields into a JSON structure (parseddata) and logs the message with a status of Pending or Failed.
- Workflow Execution: A Flow Designer flow in a downstream healthcare application triggers when the message log record is created. The flow filters on message metadata and utilizes parseddata to automate business processes such as room cleaning tasks and notifications.
Key Outcomes
- Seamless integration of HL7 inbound messages into ServiceNow workflows without manual parsing or configuration beyond endpoint setup.
- Automated healthcare operations, exemplified by the discharge-to-room-turnover scenario where an ADT^A03 message triggers room cleaning and task assignment workflows.
- Reliance on external integration engines for message transport over HTTPS; ServiceNow does not support MLLP/TCP-IP or outbound HL7 message transmission back to EHRs.
HL7 v2.x messages flow through four stages in ServiceNow: reception and acknowledgment, message logging, parsing, and workflow execution.
End-to-end message flow
The following describes the path of an inbound HL7 v2.x message from the integration engine through to workflow execution:
- Integration engine sends a message. The integration engine (for example, Epic's integration engine) POSTs a raw ER7-formatted HL7 message to the ServiceNow REST endpoint over HTTPS. The integration engine requires no custom configuration beyond the endpoint URL and credentials. For the endpoint URL, authentication, and message schema, see the HL7 Inbound API reference.
- ServiceNow validates and acknowledges. ServiceNow validates the MSH header and returns an acknowledgment indicating the outcome — AA (accept), AE (error), or AR (reject). For acknowledgment codes and HTTP status behavior, see HL7 ACK codes.
- ServiceNow parses and stages the message. ServiceNow looks up the
single active parser configuration whose sending application, sending
facility, HL7 version, message type, and trigger event match the message,
and extracts the configured segment fields into the
parsed_dataJSON on a new HL7 message log record. On success the record is created with status Pending; if no single configuration matches, or a field cannot be parsed, the record is created with status Failed. Parsing happens automatically at reception — no flow or action is required. - A downstream flow runs. A Flow Designer flow in a consuming
application triggers when the message log record is created. The flow's
trigger condition can filter on the record's metadata (for example, message
type = ADT, trigger event = A03, sending facility = MAIN), and the flow
reads the parsed values from
parsed_datato drive downstream work — such as room turnover tasks, care team notifications, or encounter updates.
North star scenario: ADT^A03 discharge to room turnover
A patient is discharged from room 4B-401-A. The EHR system sends an ADT^A03
message to the integration engine, which POSTs it to ServiceNow. ServiceNow
validates the message, parses it against the matching ADT^A03 parser
configuration into parsed_data, stages a message log record
with status Pending, and returns ACK(AA). A Flow Designer flow in the room
turnover application triggers on the new record, reads the PV1 location values
(unit, room, bed) from parsed_data, marks the room as Needs
Cleaning, creates and assigns an EVS task, and notifies the charge nurse — all
without manual intervention. The room turnover flow lives in a downstream
Healthcare Operations application, not in the HL7 integration application.
What ServiceNow does not do
ServiceNow does not listen for HL7 messages over MLLP or TCP/IP. Your existing integration engine handles transport and delivers messages to ServiceNow over HTTPS. ServiceNow does not write back to the EHR — the integration is inbound only.