HL7 Browser



Also, try out the new HL7 Comm WebStart!


Please visit the new online forums if you have questions or issues with the HL7 Browser. I personally check the boards at least once a day. Click here: Enter the support forums


The HL7Browser is a free (libre) open-source application released under the GNU Public License. It runs on any platform that can do Java 1.4. It has been tested on Linux, Mac OS X, Solaris and even Windows. It’s quite usable already and the goal is to make it better than commercial quality.

Current features let you browser HL7 records, edit them and produce reports on them. You can also send them via TCP/IP (using the MLLP protocol) or receive them and save them to disk. It has many of the same features as some commercial programs, but because it’s Java it runs everywhere.

You can also see the Freshmeat.net page of this project here.


The HL7Browser was a utility that I wrote a few years ago in Perl to help me work with HL7 formatted data. If you’ve ever worked with it you know that it’s nearly impossible to read through and pick out fields accurately. So the HL7Browser reads in HL7 data, and splits it into a heirarchical view of the data with records listed at the top level, segments below records, fields below segments and so on. This ends up being a fairly natural way of looking at this data and as tools like the ability to search within the data were added it became ever more useful.

Unfortunately, the orginal HL7Browser was my first stab at writing GUI code (it was in Perl/Tk) and one of my first tries at writing a more complex program. As a result it didn’t work terribly well in all situations and was more than a little difficult to update and fix bugs in. People were still using the application, so I hated to just throw away the code, but at the same time I hated to let people use it with all the bugs and other cruft in the code.

In the meantime at my workplace more and more of the development we are doing is in Java. Despite some initial thorns and the fact that Java sometimes makes the easy tasks really hard, it’s a language that I’ve come to like. That and the desire to tackle a larger, more complex problem, like a stand-alone application, led me to the creation of this software.

Features so far

1.0 contains minor bug fixes over the previous version.

0.9.8 implements HL7 version 2.x message validation and many, many bugfixes over previous versions.

0.9.5 (2005/02/23) implements most of the basic functionality needed in a data exploration tool. You can open, browse and edit records, explore their structure, filter the records into new data sets, search data sets and run reports on the data. The reporting functionality is something I’m particularly pleased with, where you can add columns to a table consisting of the fields you want information from. The application dynamically rebuilds the table from the underlying data source. Those reports can then be saved and manipulated with something like a spreadsheet program to produce any kind of custom report.

New in version 0.9.5 – basic support for XML versions of HL7.

In it’s current state, the focus is to add more polish to the program. All the basic functionality is there.

As of version 0.6, there is basic support for sending and receiving HL7 messages over a TCP/IP connection. A screen cap of the new function is below – look at the Mac OS X file. It is still somewhat buggy so please report problems. Eventually this will become its own module so it can be reused for other components. Help documentation for the network bit is still to-do.

Additionally, there’s a help browser, with some still incomplete documentation and a built in version checker. That way you can stay up to date with the latest version of the application. The 0.4.5 version added basic support for printing.

Coming soon

NCPDP support.


Related Downloads