NEW - HL7Spy v2020.2 just released!

HL7Spy v2020.2.220 (15 day trial, and v2020 licensed users)

Customers with an Enterprise subscription receive a free upgrade

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.2424 (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 2.1.123 Released

  • Improvement – SqlLoader – Added support for Oracle 8 using Oracle’s managed library
  • Improvement – HL7 Listener – Added support for starting the HL7 MLLP Listener from the command line: -mllp port (e.g. -mllp 12000 will start the listener on port 12000. Requested by Nick.
  • Improvement – Licensing – Added the ability to install Enterprise Licenses from the command line. Useful for IT departments that wish to deploy HL7Spy using active directory, or other enterprise software deployment software.
  • Improvement – HL7Spy Application – improved HL7Spy start-up time. HL7 Standard data structures are now loaded in the back-ground as needed instead of loading them all up at start-up time.
  • Improvement- Added support for LZW compressed files. Requested by Jonathan H.
  • Bug – Fixed issue where no tool tips are provided for pasted in messages.
  • Bug – Fixed NullReferenceException when accessing HL7 Standard information under some situations.
  • Bug – Fixed issue where pasted in messages are not handled correctly. Reported by Adam F.

HL7Spy v2.1.056 Released

  • Bug – Message Editor – Backslashes, ‘\’, are being automatically removed when a message is cut/pasted into HL7Spy. Reported by Adam F.
  • Bug – HL7 SQL – Show/Hide Path descriptions not working properly. Reported by Barry V.
  • Bug – HL7 SQL – TS values are not being interpreted into Date/Time values properly. Reported by Barry V.

HL7Spy 2.1.051 Released

  • Improvement – Support for HL7 2.7 messages with the Truncation character ‘#’ included in the encoding characters. Requested by Jose S.
  • Improvement – Option to control Message detection algorithm. The new option is found under: Option/File Settings/Use Strict Message Detection. When enabled, ‘Strict’ mode provides a more accurate message detection algorithm in some rare cases,  however; all messages have to have the same message encoding, and framing. This option is disabled by default.
  • Bug – Invalid HL7 message causes segment editor to display a big X. Segment editor never recovers from this
  • Bug – Fix flickering issue in the FTP Explorer
  • Bug – Fix copy to clipboard issues in the HL7 SQL tool
  • Bug – Message Compare – Drag/Drop from editor to Compare Window does not work properly
  • Bug – AppDomain Unhandled Exception caught System.Threading.ThreadAbortException: Thread was being aborted.
  • Bug – Add the Postgres database provider to the HL7Spy installer
  • Bug – Sql Loader: Fix issue with Database Connection Settings not saving properly
  • Bug – Custom Code Tool:  Segments.Append(“ZZ1”) does not function properly
  • Bug – Improve copy/paste message in Editor. Reported by Paul C.
  • Bug – Fix issues with the display of segments with errors in the Editor
  • Bug – HL7 SQL/SQL Loader: Distinct Button disappearing when multiple query result tabs displayed. Reported by Albert E.
  • Bug – HL7 SQL Tool: LEFT/RIGHT functions in the Expression language not implemented properly

HL7Spy 2.0.4245 Released

  • New – Bulk Message Compare Tool – Useful when migrating between HL7 Integration Engines
    • Compare messages across 2 different message streams
    • Single step through messages with the same correlation key (MSH-10 by default)
    • Ignore specific Segment, Fields, Components, and Subcomponents in the comparison
    • Generate a report summarizing the differences between 2 message streams


  • New – Prompt for a password when opening encrypted Zip files
  • Improvement – Add option to link scrollbars in the Compare tool – requested by Albert E., Cleveland Clinic
  • Improvement – Add support for .NET 4.5.2 high resolution monitor improvements
  • Improvement – Do not adorn the message in the editor with highlighting if it is larger than 5MB to improve render performance of large messages.
  • Improvement – Add region markers around historical  queries in SqlLoader, and HL7 SQL – requested by Albert E., Cleveland Clinic
  • Improvement- Ctrl-F in code editor switches the UI to the Segment Editor tool. We would prefer searching in the code editor. – requested by Ankie B., Universitair Medisch Centrum Groningen
  • Improvement- Add additional Assert methods to Asserts class. – requested by Ankie B., Universitair Medisch Centrum Groningen
  • Bug- Remove annoying beep when enter is pressed in the message index textbox
  • Bug- Proper version of the HL7 Standard not always honored when selected from the toolstrip.
  • Bug – HL7 SQL does not interpret some date/times unless the path is fully qualified. – requested by Saravana K., Medicity
  • Bug- Change “Mother’S Maiden Name” to “Mother’s Maiden Name” – reported by Albert E., Cleveland Clinic
  • Bug – Database Connector form – Timeout is always greyed out for a particular user. – reported by Mike T, Cleveland Clinic
  • Bug – Bug: MSH-2 Encoding characters, in the statistics tool the example value shows “^~\&” and the Len value is 4. When you select the component statistics from this field the “&” is missing and the Len value is 3. – reported by Ankie B., Universitair Medisch Centrum Groningen
  • Bug – Copy All in Sql Loader and HL7 SQL only copies the selected row instead of all rows – reported by Albert E., Cleveland Clinic
  • Bug – Fix issue where hitting the escape key when being prompted about deleting a custom function still deletes the function.

HL7Spy v2.0.4111 Released

– New Dialog for importing referenced assemblies
– Reference custom, or .NET framework assemblies
– Assembly information displayed on right
– Search/Filter assemblies
– Imported assemblies are now moved into the proper folder (c:\Program Data\Plugin) automatically.


  • Improvement – Custom Code: Add support for virtual void RunOnce and virtual void OnError
  • Improvement – Custom Code: Add support for modifying the text, and visibility of the Run/RunOnce/Previous/Next buttons are displayed (OnUserInterfaceSetup).
  • Improvement – Custom Code: Expose the MessageCollection object in the Custom Code function
  • Improvement – HL7 Statistics: Distinquish between NULL and Segment Not Present in HL7 Statistics.
  • Improvement – HL7 Statistics: Find Next/Previous Missing Segment


  • Improvement – Support for opening remote gzip, bzip, and zip files via FTP
  • Improvement – HL7 Send: Replace X with Recycle bin icon, and add a deletion confirmation dialog to prevent accidental deletion of destination – Requested by Albert E.
  • Improvement – HL7 Query: Present the “Data Type” that is in the “Description column” to present in a separate column … or have an option to “suppress it” – Requested by Albert E.
  • Improvement – HL7 Compare: Highlight the first time the sequence in the message changes – Requested by Albert E.
  • Bug – HL7Parser: Application Unhandled Exception: System.ArgumentOutOfRangeException: Length cannot be less than zero.
  • Bug – Editor: Fix the issue with saving the ShowKeyboardTooltips option – Reported by Albert E.
  • Bug – Sql Loader: Fix issue where the number of messages in the results window is different than the number of messages in the report grid
  • Bug – Sql Loader, HL7 Query: Fix StackOverFlowException in the bowels of System.Windows.Forms.dll!System.Windows.Forms.DataGridViewCell.DataGridViewCellAccessibleObject.GetAccessibleObjectBounds

HL7Spy v2.0.4001 Released

  • Improvement – Various UI improvements to support 200%+ resolution modes in Windows 7/8
  • Improvement – Better positioning of Search Dialog (Cntr-F). It will now track  the location of the main application window.
  • Improvement – Add support for 4 character Z-Segment names. Yes, its not valid HL7 but we have customers using them. Why, I don’t know.
  • Improvement – Shrink the name of the file path when it gets longer then 150 characters
  • Improvement – Send HL7 View – Improve the layout, move some configurations to the configuration dialog to free up space, minor bug fixes.
  • Improvement – Update internal libraries used by HL7Spy to latest version
  • Improvement – Fix scaling of side toolbar in Compare tool on high res displays
  • Improvement – Add bz2 and gz in the Open File Dialog. Requested by Albert E.
  • Improvement – Add support for querying the HL7 Standard by data type
  • Bug – Fix add folder when right-clicking in the FTP Explorer
  • Bug – FTP Explorer – Make sure the MessabeBoxEx owner is a window that is visible otherwise the message being displayed is hidden.
  • Bug – Fix NullReferenceException in FTP Explorer
  • Bug – Fix OutOfRangeException in MessageCollection.GetRange
  • Bug – Fix selection mechanism so drag-selection works within the HL7 Editor
  • Bug – Fix issue with DISTINCT drop-down double spacing found by Albert E.
  • Bug – Fix Directory being created by the Custom Code Tool every time HL7Spy is started.
  • Bug – Fix Status is being inadvertently modified which results in Sorting… being displayed always.

HL7Spy v2.0.3901 Released

  • Bug – Fixed unexpected exception Index was out of range. Must be non-negative and less than the size of the collection.
  • Bug – Fixed the ADO.NET provider with invariant name ‘System.Data.SqlServerCe.4.0’ is either not registered in the machine or application config file, or could not be loaded.
  • Bug – Fix query when path is typed in as a lower case segment
  • Bug – Fix Unhandled Exception:|Appccelerate.EventBroker.Internals.Exceptions.RepeatedPublicationException: Cannot add more than one instance of the same publisher to one topic
  • Bug – Fix applications use of Clipboard.SetText. Clipboard.SetText throws an exception if string.empty, or null is passed into it.
  • Bug – Fix DiffView|Microsoft Windows NT 6.1.7601 Service Pack 1|Error comparing messages|System.ObjectDisposedException: Cannot access a closed file.
  • Bug – Fix Deadlock introduced in the EventBroker
  • Bug – Fix Search Highlight getting hidden if search text is the name of a segment
  • Bug – Fix searching forward/back from Navigation bar
  • Bug – Fix issue where querying for results does not properly clear older results in Sql query
  • Bug – Fix Sometimes SelectedPath is set to an invalid value which prevents statistics buttons from working
  • Bug – Hide Large Message Dialog in Compare tool when loading complete
  • Bug – Fix HL7TreeView|Microsoft Windows NT 6.1.7601 Service Pack 1|ShowTableValues|System.InvalidOperationException: No room is available to display rows.
  • Bug – Fixed Search from FieldStatistics view not advancing when double-clicking. Reported by Cleveland Clinic
  • Bug – Pasting passwords into the FTP Explore password dialogs does not work
  • Improvement – Add clear buttons to the Compare Tool
  • Improvement – Add support for exporting message difference to the clipboard.
  • Improvement – Speed start-up of application by natively compiling assemblies during install
  • Improvement – Remove flicker in HL7QueryView and SqlLoaderView when paging through messages using the Navigation bar
  • Improvement – Don’t show Message tab if there are no errors in HL7 Sql query
  • Improvement – Cleanup Message/Segment cloning in Custom Code
  • Improvement – Better DISTINCT Functionality. Right-Click DISTINCT context menu
  • Improvement – HL7 SQL, SQL Loader fixes to History, and HistoryProvider
    Add better tooltips
  • Improvement – Add support for multi-column DISTINCT in both HL7 SQL and Sql Loader tools. Requested by Albert E.
  • Improvement – Add Message Type name in the toolbar of the Statistics tool. Requested by Saravana
  • Improvement – Add name of Segment in the toolbar of the Segment Editor
  • Improvement – Add repeat functionality in the HL7 Send tool to repeatedly send the same messages
  • Improvement – Remember the number of rows returned when switching between HL7 SQL and Sql Loader results

HL7Spy 2.0.3771 Released

  • Bug – Excel Writer missing namespace on column definition. Reported by IHIE.
  • Bug – Statistics calculation time always shows 0 seconds.
  • Bug – Field description tooltips missing from Compare Messages tool.
  • Bug – Fixed issue where the HL7 SQL results were incorrect. Reported by Cleveland Clinic.
  • Bug – Fixed a crash on 64-bit systems when double-clicking on an HL7 file in Windows Explorer.
  • Improvement – Reduce application flicker.
  • Improvement – Reduce application start-up time.
  • Improvement – Add the ability to change the Message Editor Font.
  • Improvement – Better positioning of DropDown menu list items.
  • Improvement – New Visual Studio 2012 look and feel.
  • Improvement – Option to use HL7Spy 1.x look and feel.
  • Improvement – Option to hide/show the Menu items using F11.
  • Improvement – Database connection timeouts can now be set on a per-connection basis. Requested by Cleveland Clinic
  • Improvement – Sql Loader speed improvements.

HL7Spy 2.0.3640 Released

  • Bug – Too much memory being used when exporting HL7 SQL results to excel, or Clipboard. Reported by Huntington Hospital.
  • Bug – Message selection becomes broken if a message is deleted from the HL7 SQL query results. Reported by Huntington Hospital.
  • Bug – Too much memory being used when exporting SQL Loader results to excel, or Clipboard.
  • Bug – Better handling of Date/Times when exporting HL7 SQL query results.
  • Improvement –  Copy from HL7 SQL using Control-c. Requested by Cleveland Clinic.
  • Improvement –  Copy from SQL Loader using Control-c.
  • Improvement – Better handling of Date/Times when exporting the contents of the Segment Editor to Excel.
  • Improvement – Clean-up messages that are copied from Orion Rhapsody and pasted into HL7Spy. Reported by Cleveland Clinic.