What is it?


HL7 (Health Level 7) is an application layer standard for data interfaces between applications in the medical sector, developed by the HL7 Working Group.

This toolkit

screenshot of sample code

The Perl HL7 toolkit consists of:

All the packages are used in demanding production environments. However, you'll need to see for yourself whether this toolkit works for you.

The components glued together can provide an HL7 framework for applications that can't do HL7 by themselves.


Net::HL7 API

The API doesn't provide an exhaustive implementation of all HL7 messages and segments, but instead focuses on a flexible means of creating messages that can be sent to any HL7 compliant server, and receiving HL7 messages that can be parsed into segments and processed. Some often used segments and messages however are implemented, like the MSH segment, and ACK for a given HL7 request, including these segments specific peculiarities.


The HL7 server, a.k.a. hl7d, provides a pluggable framework for HL7 message handling. The server can be configured to dispatch incoming messages to user defined plugins, based on the message type. This way, the hl7d process can, for instance, communicate with databases, files, etc.


The HL7 queue daemon, a.k.a. hl7qd, provides a pluggable framework for managing HL7 'queues'. A queue is a process reading data from, say, a database or file, translating into an HL7 message and translating the HL7 result back into some format, again a file or database. This can approximately simulate real time HL7 messaging for applications that can only provide message queues in the form of a directory or a database. Logo The HL7 Toolkit is hosted by SourceForge.