Wednesday, 24 April 2013

HL7 Data Analysis Tool

HL7 Data Analysis Tool is a small utility used to analyze HL7 data, extract results based on criteria given and generate statistics report in spreadsheet format.

I developed this small utility for specific purpose. We had a requirement to analyze HL7 messages in specific way. I feel this should be shared to others who might have developed similar custom solutions or are in process to develop.


My team was using HL7 viewer application to analyze and calculate the data count of different HL7 components from messages based on a filtration criteria (e.g. filter criteria “MSH.5=3MLAB”). However, they were only able to select one category at a time and had to manually enter the totals on a spreadsheet. The same process has to be repeated for each category. This was time consuming.


A simple lightweight tool that reads HL7 messages from a file and analyze messages to generate statistical report in spreadsheet. You can configure the criteria for analysis in an XML file. For example you might want to all the counts and specific values for MSH.3 (Sending Application), MSH.4 (Sending Facility)

The Solution: Data Analysis Tool:

Data analysis tool provides a UI to the client, wherein the user can upload the HL7 file having multiple messages and then select multiple components and get complete statistical analysis of the data by generating spreadsheet on single click. Primary feature of the Data Extraction Tool are the configurable checkbox and filter textbox.
Checkboxes are loaded from an XML file where you can specify the components which require analysis.
Filter textbox provides you that way to specify criteria that should be satisfied to process the message during analysis. For example MSH.3=MLAB, so only messages having MLAB as sending facility will be processed.


  • Select multiple HL7 messages from the single file.
  • Use filter criteria to filter the records
  • Filter criteria is generic and could be applied on any component of the HL7 message.
  • Select multiple components from checkboxes and extract statistical analysis for each component on excel.
  • Add multiple component checkboxes in UI by adding the simple entry in XML file.
  • Generated output is properly formatted and exported to the excel sheet.

Advantage of Tool:

  • Saves significant amount of time required in the manual analysis & recording of HL7 data.
  • Filter criteria is generic and helps to filter message from multiple feeds.
  • Tool is generic and we can use in multiple implementation for analysis of data.
Future upgrades of tool may help in many implementations for analysis and generating reports and to process the feed data as per requirement

User Guide

Step 1: Launch Application & click on "Browse" button
HL7 Data Analysis Tool - Select File

Step 2: Specify wether you want to process all messages of only those which satisfy some match criteria
HL7 Data Analysis Tool - Select Option

Step 3: Select the components which should be analyzed for count & values
HL7 Data Analysis Tool - Select Components

Step 4: Click on "Export To Excel" button to generate analysis report in spreadsheet
Output File is generated under “My Documents\Data Analysis Tool\Result Files” File Name: [Name of file selected in Step#1]_timestamp. For Eg: Test_20121121120405.xls
HL7 Data Analysis Tool - Report

Configure XML

HL7 Data Analysis Tool has a feature where we can add the checkbox (Component level filter criteria) by editing Data Analysis Tool.XML. This would add the checkboxes on the Data Analysis Tool UI.
Location of Data Analysis Tool.XML File: My Documents\Data Analysis Tool\Application Data\ Data Analysis Tool.xml
Each Item in XML represents a check box on UI
HL7 Data Analysis Tool - XML

Please write to me @ to get the source code or executable of this utility.

Download Requests

Name Date Comments
Michael Anrake ( 21st Jun 2013 I work with HL7 regularly and found your blog to be useful and informative. If it's still available, I'd like to download your HL7 analysis tool - it looks to be useful for several projects.
Frederic BUISSON ( 6th Jun 2013 I was very interested by this tool and try to undertsand how it works and practice a little to help me to supervise my HL7 connexion.
Huw Jones ( 4th Jun 2013 Am interested in your data analysis tool to process data segments in pathology messages to analyse their content within healthcare here in Wales.
Hans Monnig ( 31st May 2013 I would like to review it.
Moses Rosario ( 4th May 2013 I recently viewed your tool for analyzing HL7 files and am very interested in using it. The current method I have is a homegrown spreadsheet app that accomplishes a few of the things you have done in your application.
Guillermo Zeller ( 25th Apr 2013 I saw your HL7 tool and I am very intersted in that. I am working in a Health Care project, and we need some tool to extract estadistics from the messages. Now a days, we are using excel files... but is not really productive.

1 comment:

  1. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.

    big data training in chennai


Blockchain - Healthcare Implementation Use Case - Part 1

It's been a long time I am following Blockchain and my interest continued to increase and increased enough to dive into it. This ...