New! - HL7 Spy v2020.1 Beta is now available for download - try it now for free!

HL7Spy v2020.1 Beta (25 day trial, and Enterprise Customers)

Customers with an Enterprise subscription will receive a free upgrade when it is released!

Platform Requirements: Windows 64-bit Platforms that support .NET 4.8 or higher

HL7Spy 4.x User's Manual             End User License Agreement

HL7Spy v3.1.2389 (7 day trial, and 3.x licensed users)

Platform Requirements: Windows 2008R2/2012/8.1/7/10 - 64-bit, requires .NET 4.5.2, or higher.

HL7Spy 3.x User's Manual             End User License Agreement

HL7Spy v2.3.586 (2.x licensed users only)

Platform Requirements: Windows 2008R2/2012/8.1/7 - 32/64-bit, requires .NET 4.5, or higher.

HL7Spy 2.3 User's Manual             End User License Agreement

HL7Spy.Core C# class level documentation

  (Right-Click after downloading and "Unblock" to view)

HL7Spy v4 Beta – Bulk Compare Tool

New – HL7Spy v4 is ready for Beta testing!

HL7Spy v3 was released in June 2017. Since that time we have released over 40 new versions of HL7Spy in response to customer requests for new features and to make bug fixes (many more improvements that bug fixes :)). We are now releasing a major upgrade to HL7Spy with some great enhancements.

One of the great new features in HL7Spy v4 is built for users who are migrating to a new HL7 Integration Engine, (like Rhapsody, or Corepoint –product plug intended). The Bulk Compare tool allows users to compare the output from their old integration engine with the output of their new one to ensure that the outputs are equivalent before flipping the switch.

The Bulk Compare Tool generates results that allow you to see exactly which messages and fields are different between to message streams. Statistics by message type and field are created. These results can be export to PDF and Excel for reporting purposes.

The Bulk Compare tool is fast, so fast. It can compare 100,000 messages in under 15 seconds. See it in action below.

The Bulk Compare tool was developed in conjunction with Rhapsody’s Co-Creation Labs: It was a great opportunity for us to work with the experts in the integration space and create a comprehensive HL7 integration engine migration tool. We were happy and impressed with the co-creation result and we think you will be too.

More information about the Bulk Compare tool can be found in the HL7Spy v4 user manual here: Bulk Compare Tool.

Try the HL7Spy v4 for 40 days for free here: Download HL7Spy

HL7Spy v3.1.2360 Released

  • Improvement – Custom Code – HL7Field.IsEmpty() is inconsistent with property HL7Component.IsEmpty and HL7SubComponent.IsEmpty. Should replace with IsNullOrEmpty()
  • Improvement – Custom Code – Add helper methods to set the number of Fields, Repeats, Components, and Subcomponents
  • Improvement – Custom Code – Custom Code Events- Speed up “Copy All To Clipboard” – L.B. from
  • Improvement – Open Folder – Remove annoying “No files found meeting the specified criteria” messagebox when there are no matches
  • Improvement – Installer – Add MessageBox when the .NET Framework cannot be downloaded
  • Bug Fix – Hex Editor – Fix Application Unhandled Exception. [NullReferenceException] Object reference not set to an instance of an object
  • Bug Fix – Field Statistics – System.NullReferenceException: ‘Object reference not set to an instance of an object.’
  • Bug Fix – [ObjectDisposedException] Cannot access a disposed object. Object name: ‘OpenFolderView’.
  • Bug fix – Custom Code – void OnError(Exception ex) not being called when there is no opened tab – reported by A.L. from
  • Bug Fix – HL7 Parser – Fix index out of range exception
  • Bug Fix – HL7 Receiver – fix issue with SSL and security access error to cert.PrivateKey.KeyExchangeAlgorithm

HL7Spy v3.1.2345 Released

  • Improvement – Application – Improve startup performance by disabling checks for code-signed assemblies
  • Improvement – Statistics – Processing statistics across 21+ million messages resulted in an out of memory exception  – Reported by Larry B. from
  • Improvement – UI components – Many bug fixes, usability and performance improvements
  • Improvement – Export to xls, and xlsx – Warn user when more than 65536 rows for xls, or 1048576 rows for xlsx are being exported (maximum number of rows allowed)
  • Improvement – FTP/SFTP libraries – Fixes a number of issues with connecting to some FTP/SFTP servers
  • Improvement – HL7 Receiver – Show SSL certs from both LocalMachine and LocalUser
  • Improvement – HL7 Receiver – Show thumbprint in Certificate window
  • Improvement – Open Folder – Speed up scanning when there are thousands of files
  • Improvement – Open Folder – Open Folder – Remove annoying “No files found meeting the specified criteria” message-box when there are no matches
  • Bug Fix- Open Folder – Fix potential issue when the Scan/Stop buttons are pressed quickly one after the other
  • Bug Fix- Open Folder – Clicking “Stop” during folder processing leaves the tool in an unusable state
  • Bug Fix- Open Folder – Unhandled exception when choosing Regex search with invalid Regex expression
  • Bug Fix – HL7 Send – SSL enabled and Certificate/Thumbprint empty does not encrypt the data but sends the data as clear text – Reported by Rick O. from
  • Bug Fix – HL7 Receiver – fix issue with SSL and security access error to cert.PrivateKey.KeyExchangeAlgorithm
  • Bug Fix – Field Statistics – System.NullReferenceException: ‘Object reference not set to an instance of an object.’ in some rare situations

HL7Spy 3.1.2306 Released

  • Improvement – HL7 SQL – Add a “Save” button to manually save the query text  – Requested by Larry B. from
  • Improvement – HL7 SQL – Add an option to not automatically save the Query text when the user clicks the “Execute” button
  • Improvement – Statistics – Speed up calculation of “Selected To Single New Tab” and “Not Selected To Single New Tab” – requested by Jeff D. from
  • Bug Fix – Fix issue where results from a SELECT INTO new tab results in the messages indexes in the results being incorrect and therefore showing the incorrect message in the editor when clicked on in the results grid – Reported by Jeff B. from
  • Bug Fix – Custom Code – Fix issue with Custom Code not saving correctly. All being saved to file “00000000-0000-0000-0000-000000000000.xml”
  • Bug Fix – Custom Code – Compile to user temp directory instead of the one in ProgramData\HL7Spy\temp
  • Bug Fix – Custom Code – Fix up location of the Actipro CacheSplash window
  • Bug Fix – Do not show files from the User’s temp directory in the Recent File List
  • Bug Fix – Save Recent File List on Application Exit

HL7Spy 3.1.2295 Released

  • Improvement – Add Certificate Selector in HL7 Receiver
  • Improvement – Speed up HL7Spy Installer
  • Improvement – Update to latest 3rd party libraries. Improves speed and stability of application
  • Improvement – Remove file from the Recent File List if an attempt to open it results in a file not found error
  • Bug Fix -FTP Explorer – Fix issue when remote directory doesn’t start with /
  • Bug Fix – Custom Code – Unable to change default HL7 message encoding characters
  • Bug Fix – Custom Code – Fix issue where _global_ custom code does not display unless you click to another function and back
  • Bug Fix – Custom Code – Compile to user temp directory instead of the one in ProgramData\HL7Spy\temp
  • Bug Fix – Increase the size of the message selector in the Bulk Compare tool
  • Bug Fix – Fix tab stops in Open Folder, Save As, and other pop-up dialog boxes – Reported by Michael W.
  • Bug Fix – Fix potential duplicate key exception in BaseView.AddCommandKey
  • Bug Fix – Fix issue where a window’s OnLoad can be called multiple times
  • Bug Fix – Show proper error when the .NET framework cannot be downloaded

HL7Spy 3.1.2273 Released

  • Improvement – Remember the last directory where data was exported to and reuse it next time another export is initiated. Requested by Jeff D from
  • Improvement – Remove all intermediate Export dialogs and show the standard Windows SaveAs dialog instead. Requested by Jeff D from
  • Improvement – Clean-up exporting from the Watch List
  • Improvement – Custom Code – Add more overloads to HL7Message.CombineObxsToObx5Repeats for transforming many OBX segments into 1 with repeating OBX-5
  • Improvement – Add an application option to Auto Open Export Files, or to just open File Explorer and select the file
  • Improvement – Handle loading multiple files where one, or more, has an access denied issue
  • Improvement – When Exporting to Excel, PDF, etc., reuse the same File Explorer instance to navigate to the file rather than opening a new one each time
  • Improvement – Update shortcuts for Field/Component/Subcomponent statistics
  • Improvement – Speed up loading of xz, zip, gz, etc. compressed files
  • Bug Fix – Fix issue where vv is placed on versions of HL7 Standard in the Export to Xml tool
  • Bug Fix – Remove double MessageBox request to overwrite a file when Exporting to Excel, pdf, etc. Reported by Jeff D. from
  • Bug Fix – Fix issue where Recent File List not saving properly
  • Bug Fix – Fix OpenFolder search issue where filtering is not working properly – Reported by Sandy D. from
  • Bug Fix – Custom Code – HL7DateTime.TryParse returns the datetime as being in the local timezone even if not timezone is in the DTM string
  • Bug Fix – Issue with “Redact messages to new Tab” when when tab contains multiple sources. Reported by David R from AGFA
  • Bug Fix – HL7Query – Fix Unhandled Exception. [ObjectDisposedException] Cannot access a disposed object.
  • Bug Fix – Fix An exception that was thrown during handling the topic ‘MessageCollectionRemoved’
  • Bug Fix – F11 should show/hide the Ribbon Bar but does not
  • Bug Fix – EventBroker – [InvalidOperationException] Sequence contains more than one matching element
  • Bug Fix – FileExplorer – SFTP error when navigating a directory that contains a file marked as FIFO. Reported by Jeff D. from HSHS
  • Bug Fix – Split Tab – Fix Message Collection that is split shows up as empty in HL7Spy until re-opened

HL7Spy 3.1.2228 Released

  • Improvement – Randomize sample messages used for calculating global statistics – Requested by Jeff B from mhg
  • Improvement – Message Split Tool – Add support to split files based on their original file name
  • Improvement – Editor – Improve performance of loading many small files – Requested by Joe M. from vumc
  • Improvement – Custom Code – Support setting the unescaped value of a field. HL7Subcomponent.EscapedValue
  • Improvement – Sql Loader/HL7 Sql – Add Windows Folder Browser dialog to ExportForm. Requested by Jeff D. from hicgrp
  • Improvement – HL7 Diff – Speed improvements to the HL7 Differencing algorithm for large messages. Reported by Tony C. from MModal
  • Improvement – FTP Explorer – Add support for recursive searches. Requested by Barry V. from princetonhc
  • Improvement – FTP Explorer – Add additional logging information when in “debug” mode to help troubleshoot connection errors
  • Bug Fix – Error getting Authentication Info. Padding is invalid and cannot be removed. Reported by John B. from Cook Children’s
  • Bug Fix – FTP Explorer – Fix Connection Timeout string showing as blank

HL7Spy 3.1.2173 Released

  • Improvement – HL7 Sender – Add logging of SSL info
  • Improvement – Editor – Add custom framing options to File SaveAs – requested by Joe E./li>
  • Improvement – General – Miscellaneous performance improvements/li>
  • Improvement – General – Update 3rd Party libraries/li>
  • Bug Fix – File Browser – SSH Private Key not functioning correctly- reported by Jeff D.
  • Bug Fix – HL7 Transform – Fix issue with edits not being picked up until a new row/column is selected
  • Bug Fix – HL7 Transform – Cannot delete transform
  • Bug Fix – Editor – Loading many small files compressed in 7z format is very slow – warren K.
  • Bug Fix – Editor – Fix issue with some HL7 Standard Table values not showing properly. Reported by Paul R.
  • Bug Fix – Editor – Copy/paste of Unicode characters incorrectly interpreted as ASCII
  • Bug Fix – Sql Loader – Fix database selection issue when the item selected is the first item in the list

HL7Spy v3.1.2119 Released

  • Improvement – HL7 SQL – When exporting to Excel do not show the count column. Requested by Cleveland Clinic
  • Improvement – SQL Loader – When exporting to Excel do not show the count column. Requested by Cleveland Clinic
  • Improvement – Compare Tool – Show differences in grid rather than as text. Requested by Cleveland Clinic
  • Improvement – Compare Tool – Issue seeing small changes like the period and space characters. Requested by Cleveland Clinic
  • Improvement – Windows Registry no longer required for install. Requested by
  • Bug Fix – HL7 SQL – HL7 datatype interpretation does not work when lower case segment names are used in the query – Reported by
  • Bug Fix – Custom Code – HL7 Anonymizer creating empty fields where in 2.x it did not. Reported by
  • Bug Fix – HL7 SQL – Add missing DISTINCT button in HL7 SQL
  • Bug Fix – Field Statistics – Fix tooltips for next/prev buttons – Reported by jb
  • Bug Fix – Compare Tool – issue where Compare tool launched from HL7 SQL tool does not display if the Compare window has never been selected
  • Bug Fix – Sql Loader – Fix issue where Database field is disabled when first displaying the DbConnection form
  • Bug Fix – Custom Code – Copying a field to itself produces incorrect results

HL7Spy v3.1.2036 Released

  • Improvement – Add ok button to close HL7TargetSelection popup
  • Improvement – Support for compressed file types: 7z ACE ARC ARJ B1 Cab cfs cpt dar DGCA LHA LZX RAR rzip sit SQX UDA Xar zoo ZIP ZPAQ – Requested by WK from New Mexico Health Information Collaborative
  • Improvement – HL7 Mllp Server performance impromements
  • Bug Fix – Fix name if it is ‘[no name]’ and there is only a single archived item
  • Bug Fix – Fix Don’t create empty file tabs when a bad password is entered
  • Bug Fix – Fix issue with Bulk Difference Report exporting results horizontally instead of vertically. Reported by RP from Cleveland Clinic
  • Bug Fix – Fix issue with Interpret data types not working HL7 SQL – Reported by RP from Cleveland Clinic
  • Bug Fix – Fix ArgumentOutOfRangeException in Export to Excel function
  • Bug Fix – Do not associate .zip/.txt files with HL7Spy because some user don’t know how to change the association