HL7Spy can answer quite complex questions about a set of HL7 transactions. For example, with a sample HL7 message file, HL7Spy can answer the following questions:

  • “What are the values being transmitted for Order Status (ORC-5), and what are the distributions for each value?”
  • “How large is the largest message in the stream?”
  • “Are there any ORM messages where ORC-3 is null?”
  • “How often is patient sex (PID-8) filled in ADT^A08 messages?”
  • “What are the maximum and minimum lengths of the patient identifier (PID-3.1)?”
  • “Are there any patient encounters where the report status (OBR-25) incorrectly transitioned from ‘Final’ to ‘Preliminary’?”

These are only a sampling of the questions that many analysts want answered when trying to interpret, troubleshoot, and configure HL7 interfaces. With just a few clicks HL7Spy can easily provide this information, and much more.


Click here to download HL7Spy and try it out!


HL7Spy is the fastest, most full-featured HL7 tool on the market. If you really want to get a taste for it, we recommend grabbing the free download and taking it for a test drive. However, if you just want an idea of what it can do, here is a sampling of some of the major features:

  • Load – quickly load files, from 1KB to 100MB and more. HL7Spy will load 100,000 messages in less than a couple of seconds! Additionally, HL7Spy will auto detect most file types, and allow you to specify the format of particularly unusual files. Zipped files can also be opened directly.
  • View – see messages in an easy-to-read layout, with field names and values decoded according to the HL7 standard. There are also many additional viewing features, such as normalizing encoding characters for better readability, highlighting fields by name, and viewing only relevant fields for each message.
  • Edit – edit message directly, or use the Segment Editor to deal with field locations and escape characters automatically. The editor includes all the features you’ve come to expect, such as full Undo and Redo.
  • Hex Editor – view/edit the raw HL7 message bytes. Search for invalid characters within the message stream.
  • Search – build complex queries against whole messages or particular fields.
  • Sort – sort large message collections based on the fields important to you.
  • Analyze – generate statistics showing the unique values in each field, and quickly drill down to the messages with interesting content.
  • Report – generate, save and print reports on large groups of messages.
  • Send – send messages over the network using MLLP. View ACKs and/or NACKs, change message character encoding, and message framing bytes.
  • Receive – receive messages on an unlimited number of ports. Search, view, and analyze messages as they are being received.
  • Save – save all or some of the messages out to new files, with whichever file format and encoding you need. Advanced save functions include the ability to merge files.
  • Detect Character Encoding – character encodings are detected automatically, and multi-byte encodings (such as Japanese) are fully supported.
  • Search HL7 Standard – search the HL7 standard, viewing segment, field and component names, and see any tables associated with a field.
  • Validation – use c# (vb coming soon) to write sophisticated validation routines, well beyond the simple table validation available in other tools. For example, validate the proper exam states transitions, or verify patient names are not modified during an ORM, or ORU update. Anything is possible!
  • Transformations – modify messages using HL7 defined classes and full intellisense. For example: pid.PatientName_05=”SMITH^JOHN^D” sets PID-5 within the message to SMITH^JOHN^D.

HL7Spy Version Comparison

Transfer to another user Within 1 year from of activation date yes

Feature/Cost Professional Enterprise
Price: Per Computer/Per User (one-time fee) $399 USD, $369 for 10 or more licenses n/a
Annual Licensing Fee (Per Computer/Per User) n/a $169/yr USD 10-20 users, $159/year 20+ users
Machine Transferable
User Transferable 1 year from activation date
Licensing Method Tied to user email address and hardware Tied to Windows NT Domain
Software Upgrades Included 1 year, same version  All updates
Support Included 1 year
Supported HL7 versions 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7
View/Edit/Create Messages
Hex Editor
Search/Filter Messages
MLLP Send
MLLP Receive
Field/Component/Sub-Component Statistics
Message Statistics
Watch Window with report generation
Export specified fields to Excel, CSV, and PDF
Merge and Sort Messages
Message Compare
Bulk Message Compare – Compare 2 streams of messages, skip inconsequential fields, generate a summary report
Custom Code Tool – Perform advanced tasks such as transforming, validation, anonymizing messages, exporting, and performing complex searches
SQL HL7 – Query messages using SQL like syntax
SQL Loader – Load messages from a database
FTP Explorer – Load messages from an FTP server using FTP, FTPS, and SFTP
Time Line – Shows a graph of the message transactions/second over time
HL7 Transform – Perform bulk transformations on messages

*HL7Spy is licensed on a per user / per machine basis. The total number of licenses required is the greater number of:  (1) the number of users accessing the software, and (2) the number of machines (physical, or virtual) HL7Spy is installed on.

**All purchases include 1 year of support and free same version software upgrades.

HL7Spy How To Videos

  • Load 100K Messages From a File

    In this example we are loading 100,000 messages using the “Open File” menu option, then we are opening another 100,000+ messages by dragging and dropping them using Windows File Explorer.

  • Getting Statistics on an HL7 Field

    One of the most powerful features of HL7Spy is calculating statistics on a particular field. In this example we are loading 100,000 messages and getting the statistics on PV1-2. You will notice that 50,178 with value “O”, and 14,733 with the value “E”.

    You can navigate values of a particular type by using the forward and back buttons as shown in the short clip.

    You can also right-click on a field type, say “O” and send all messages with PV1-2=”O” to a separate tab.

  • Select All Messages for a Patient

    By right-clicking on an HL7 field you can easy to select all messages for a patient. HL7Spy will query all messages, find those that match, and present an ordered list of messages.

    If you want to compare any 2 messages, simply select any 2 messages from the list, then right-click and select the “Compare Messages”.

  • Write Custom Code in C#

    Power users can write custom code in C# to do almost anything the .NET framework will allow you to do. In this simple example we are appending the text “-test” to the existing value of MSH-3.

    Included in HL7Spy are examples of how to de-identify patient information, generate messages, and other more complex message processing routines.

  • Send and Receive HL7

    In this example we are demonstrating sending HL7 messages from one instance of HL7Spy to another. Look how fast it sends 100,000 messages!

    HL7Spy supports sending and receiving HL7 using SSL.

  • Load Messages From Folder

    Directories can be loaded recursively and filtering by file extension and file content are also supported.

  • Load Messages From Database

    Messages can be loaded from Sql Server, Oracle, Postgres, My Sql and many other databases. HL7Spy will automatically detect which column contains the message data and will load the messages into the message editor. Clicking on a row in the result set will display the associated message in the Message Editor.

  • Load Messages with FTPS/SFTP

    Message can be loaded directly from an FTP server using secure FTPS, or SFTP.

  • Load HL7 from zip, xz, 7z, gz

    In the example above we are loading 300,000 files from xz, zip, and gzip files. HL7Spy takes care of detecting the file type, decompressing, and loading the files.


  Ways to Buy HL7Spy

  • Online using the links below.
  • Purchase order process. Contact us at support@HL7Spy.com for a quote to start the process going.

*HL7Spy is licensed on a per user / per machine basis. The total number of licenses required is the greater number of:  (1) the number of users accessing the software, and (2) the number of machines (physical, or virtual) HL7Spy is installed on.

**All purchases include 1 year of support and free same version software upgrades.

Professional Pricing (in US dollars)

Licenses* Cost
1-10 $399
11-25 $369**
>25 $349**

*HL7Spy is licensed on a per user / per machine basis. The total number of licenses required is the greater number of:  (1) the number of users accessing the software, and (2) the number of machines (physical, or virtual) HL7Spy is installed on, whichever is greater.

**The license is tied to the user’s email address and the Hardware ID of the computer. It may be transferred to another user provided the license is less than 1 year old.

**To take advantage of our volume pricing, please contact us at support@HL7Spy.com

***All purchases include 1 year of support and free same version software upgrades.

Enterprise Pricing (in US dollars)

Licenses* Annual Fee
10-20 $169/yr/user
21-40 $159/yr/user
>40 $149/yr/user

*HL7Spy is licensed on a per user / per machine basis. The total number of licenses required is the greater number of:  (1) the number of users accessing the software, and (2) the number of machines (physical, or virtual) HL7Spy is installed on whichever is greater.

** License is provided as an Enterprise License Key tied to the customer’s Windows NT Domain

***Support and free software upgrades are included with the Enterprise license.

Trial Version

FREE

Enterprise

$169 /user/year
  • Windows NT Domain License Key
  • Minimum of 10 users
  • Contact us at support@HL7Spy.com