This project is read-only.

Moved to https://github.com/RobHolme/HL7-Listener

Project Description
HL7Listener is a basic application that listens on a user specified port for MLLP framed HL7 v2.x messages. Any messages received are saved to disk.
This is a very simple application that listens for MLLP framed HL7 messages. Any HL7 messages received are written to disk. This is intended as a simple diagnostic app to capture a stream of HL7 messages to disk for offline analysis and review.

Acknowledgement (ACK) messages will be returned if the message received has the Accept-Acknowledgement field set to 'AL' (MSH-15). If not set, no ACK will be returned. Additionally, ACKs can be prevented from being returned in all cases if the -NoACK command line switch is specified.

HL7Listener supports simultaneous connections from multiple sources. It only supports MLLP framed HL7 messages.

Running HL7Listener
HL7Listener.exe -Port <port-number> [-FilePath <path>] [-PassThru <host>:<port>] [-NoACK]

-Port <port-number> | -P <port-number> specifies the TCP port to listen for incoming connections. <port-number> must be in the range from 1025 to 65535. e.g. HL7Listener -Port 5000

-FilePath <path> | -F <path> Specifies the location to save the HL7 messages to. If no path is provided, the messagges will be saved to the current path of the console session that ran the application. e.g. HL7Listener -Port 5000 -FilePath c:\HL7\saved-messsages

-PassThru <host>:<port> | -T <host>:<port> Pass any messages received onto the remote host after saving the messages to disk. e.g. -passthru 192.168.0.50:6000

-NoACK | -N suppresses acknowledgement messages from being returned regardless of the Accept-Acknowledgement value in the message received. e.g. HL7Listtener -p 5000 -f c:\test -noack


The file naming convention of the saved files includes the date time stamp, and random 6 digit sequence number, and the message trigger. e.g. "201505301529_028615_ADT^A01.hl7". If multiple messages are received from the same TCP session, the sequence number will increment for each message. If the TCP connection is closed and reopened for each message sent, each file name will have a non sequential (random) sequence number.

Related Projects
Once the HL7 messages are saved to disk, offline analysis can be done using HL7Query https://hl7query.codeplex.com/



Last edited Apr 6 at 8:17 AM by RobHolme, version 13