HL7 Utilities Overview
Visit the nule.org discussion board here: http://thot.us/phpbb/ for support or to ask questions of the software on these pages. Here’s a quick description of what’s available at this site and how you might use it. Use the links on the right to navigate to each utility.
Note that everything is licensed under the GNU Public License and that all source code is available. I always welcome suggestions for improvements including patches for features or bug fixes.
Lastly, if you use this software please just drop me a quick line and let me know where you are from. I keep a little world map with push pins in it to let me know where the software is being used. I don’t charge money to use this software so I consider a quick note to be payment for me.
HL7 Browser (site)
The Browser lets you view and edit HL7 version 2-like records and has early support for viewing HL7 version 3 (XML)-like records. It can search, filter and run reports on the data. It also has a TCP/IP utility to send and receive records from your applications for unit testing.
HL7 Comm (site)
The HL7 Comm utility picks up where the HL7 Browser left off. It’s designed to be a robust piece of networking code that allows you to send and receive HL7-like messages. It operates in both an interactive mode for testing and a stand-alone or daemon mode for production use. If you have a small system lacking integration features you want to tie into your integration environment then this is for you. If you have an remote system that you don’t want to pay thousands of dollars to license your integration engine to run remotely than this could be your answer. From version 0.8, HL7 Comm has included a scripting engine to process data and can include external libraries like JDBC or web service jars.
HCM (HL7 Comm Multi) (site)
HCM is a pure server version of HL7 Comm. It runs on top of Apache Tomcat and lets you run any number of HL7 Comm “processor agents” in a single process. Plus, you can use any web browser to monitor and control the clients, and view log files. In practice you’d create the configuration and any logic scripts in HL7 Comm, then save them and add them to the HCM configuration, and that’s it!
HL7 Snip (site)
Built on exactly the same code as the HL7 Browser, HL7 Snip is a command line reporting utility that lets you pull fields out of one or many HL7 records to tabulate reports. The data can then be imported to your favorite spreadsheet application (like OpenOffice) for further refinement. This application is most useful on very large volumes of data as it won’t run into memory limitations like the browser will.
HL7 Anon (site)
This utility attempts to remove personally identifiable information from HL7 messages. Notice that it says “attempt” so use at your own discretion.
HL7 Diff (site)
The last piece of Perl code left on the utilities page and a pretty powerful piece of code at that. It compares two sets of HL7 records looking for changes in the data. Whether the changes are missing records or subtle altered fields only the changes will be presented and will be color coded for easy identification. It’s also smart enough to ignore certain fields like time stamps so that you aren’t overwhelmed with trivial differences.
Light HL7 Library (site)
The Light HL7 Library is a simple library for manipulating and handling HL7 data. It is a core library used by both the HL7 Browser and HL7 Comm, as well as various projects I use at my work. It’s successfully parsed millions of records, though it needs more work when it comes to creating and manipulating HL7 records. Someday I’ll make it more robust in that respect.
This software has all been certified adware, malware and virus free by Softpedia.