• Inner Harbour Software

    Inner Harbour Software consists of a dedicated team of .Net programmers whose mission is to create exceptional and affordable HL7 products. Please email us at support@HL7Spy.com to contact us with questions regarding our products or services.


New! - HL7 Spy v3.1 has been released and is now available for download - try it now for free!

HL7Spy v3.1.1913 (20 day trial, and 3.x licensed users)

Customers with an Enterprise subscription receive a free upgrade!

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

HL7Spy 3.0 User's Manual             End User License Agreement

HL7Spy v2.3.576 (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.448 Released

  • Improvement – HL7 SQL – Expand repeated fields when “*” is specified for the repeat – Requested by Albert E.
  • Improvement – Sql Loader – Improved DB connection dialog. Better cancel support. – Requested by Albert E.
  • Improvement – Add new Find Duplicates functionality. Finds messages in a tab that have duplicated MSH-10 (message Control ID). This new function can be found under the “Tools/Find Duplicate Messages” menu item.
  • Improvement – Add new Remove Duplicates functionality. Remove messages in a tab that have duplicated MSH-10 (message Control ID). This new function can be found in the toolbar and under the “Tools/Remove Duplicate Messages” menu item – Requested by Lonny K.
  • Improvement – Add new Set HL7 Field Value Function (see Set HL7 Field Value for details). This new feature can be found in the toolbar, and under the “Tools/Set HL7 Field Value…” menu option – Requested by Joseph Z.


  • Bug Fix – Issue where very large subcomponents are not shown in the Segment Editor – Reported by Paul C
  • Bug Fix – Ack message received should not contain the framing characters
  • Bug Fix – Statistics at the *** message level are not always accurate. Reported by Adam F.
  • Bug Fix – Fix issue where progress bar not show during generation of Compare Report.

HL7Spy 2.1.411 Released

  • Improvement – FTP Explorer – Add a folder search feature – Requested by Holly B.
  • Improvement – Message Tab – Add support for editing tab names – Requested by Justin N.
  • Improvement – Remove annoying ding when enter key is pressed
  • Improvement – Core – Change HL7Parser such that it if receives a second MSH, that it will create a parser error and stop parsing
  • Improvement – Custom Code – Add ClearFields and KeepFields function
  • Improvement – MLLP Maximum Message Size not being honored – Reported by Paul C.
  • Improvement – Changes to the HL7 MLLP feature to do 2 things when the configured Maximum Message Size has been exceeded:
    1) Stop the MLLP listener and display an error
    2) Append an ERR segment to the truncated message
  • Improvement – HL7 MLLP – Display a link that when clicked opens the debug log location
  • Improvement – HL7 MLLP – Add a button to clear the  debug logging output

  • Bug Fix – Search Dialog – Cannot edit the HL7Path. Reported by Jon S.
  • Bug Fix – HL7 Spy Version 2.x: Pasting Messages Problem
  • Bug Fix – Fix up resizing of the Message Properties Window
  • Bug Fix – Fix up Fonts in Message Properties Window and Hex Editor
  • Bug Fix – Clean up HexBox. Display was ugly because of how the characters were being aligned.
  • Bug Fix – Not properly identifying 4 character Z segments
  • Bug Fix – Version 2.x Issue – Highlighting of Fields and Pop-Up Field Counters not working properly. Thijs
  • Bug Fix – Wix installer should require only .NET 3.5 to run
  • Bug Fix – Compare tool not fully initialized when called from HL7 Sql, or other tool
  • Bug Fix – Custom Code Make sure the buttons are always re-enabled when switching between functions
  • Bug Fix – Cosmetic: Better alignment of FTP Explorer login settings
  • Bug Fix – Save FTP settings when a folder is created, or moved
  • Bug Fix – FTP Explorer – Modify Password Dialog so the login error is displayed
  • Bug Fix – MLLP Maximum Message Size not being honored – Reported by Paul C.

HL7Spy 2.1.334 Released

  • Improvement – Custom Code – Expose the collection of output MessageCollections in the Custom Code base class
  • Improvement – Bulk Compare – Add Ignore Case option in the Message Diff, and Bulk Message Diff functionality. Requested by Prasad K
  • Improvement – HL7 Editor – Change error messages for 4 letter Z-Segments to a warning
  • Improvement – HL7 Editor – Make the wrap text option more accessible by placing it in the toolbar
  • Improvement – Trim off any control characters at the start of an HL7Message
  • Improvement – Add auto-sizing option for the HL7 Statistics Grid
  • Improvement – Update to latest MySql nuget package v6.9.6
  • Improvement – Update to the latest postgres library
  • Improvement – FTP Explorer – Add Filtering cability. Requested by Justin N
  • Improvement – FTP Explorer – Add Home button. Requested by Justin N
  • Improvement – FTP Explorer – Auto-resize the Remote Directory Textbox to use all available space
  • Improvement – FTP Explorer – Support for AIX servers
  • Bug Fix – Highlight Field feature does not work
  • Bug Fix – Fixes to HL7 Message Statistics. Reported by Elizabeth S
  • Bug Fix – Show in HL7 Standard from Field Statistics right-click
  • Bug Fix – Segment Editor – Next/Prev segment button does not work. Reported by David G.
  • Bug Fix – Bulk Compare – Message differ report does not honor case-insensitivity. Found by Prasad K
  • Bug Fix – HL7 Editor – Issue where empty file creates a situation where the index is set to 0/0 and copy/paste fails to function properly. Reported by Cameron N

HL7Spy 2.1.268 Released

  • Improvement – New and improved Field/Component/Sub Component Statistics Feature.
    • Very fast navigation of messages with matching fields.
    • Ability to select multiple items in the Statistics Grid, and navigate to matching messages. For example, below selecting ‘O’ and ‘OP’ in the Statistics Grid and then clicking the Next/Previous Arrow buttons navigates to messages in the tab that have either a PV1-2 field equal to ‘O’ or ‘P’.
    • Ability to select multiple items in the Statistics Grid and have messages meeting the criteria placed into separate tabs. For example, clicking the “All” button in the case below would create 2 tabs: one with messages where PV1-2 = ‘O’ and the other where PV1-2 = ‘OP’. Holding the Control Key down and clicking the “All” button will place messages with either PV1-2=’O’, or PV1-2=’OP’ into a single tab. – Requested by Cleveland Clinic

New Field, Component, Sub Component statistics tool

  • Improvement – Added option to increase log verbosity.
  • Bug Fix – Don’t launch HL7Spy from installer when in silent mode
  • Bug Fix – Fix case sensitivity issue with most recently used file list
  • Bug Fix – Progress bar not showing when downloading files in file explorer if the system has been running for a long time. Environment.TickCount returns a negative value.
  • Bug Fix: HL7DocumentationProviderFactory.GetOrCreateProvider Illegal characters in path exception.
  • Bug Fix: Field Statistics Performance issue introduced in v2.1.167

HL7Spy 2.1.219 Released

  • Improvement – Install Enterprise licenses using arguments on the installer. See: Automating HL7Spy’s Installation
  • Improvement – Additional Command Line Options Added. See: Command Line Options
  • Improvement – Custom Code: HL7Message class ToString() performance improvements
  • Improvement – Add native Oracle driver ODP.NET
  • Bug Fix – Fix issue with installing HL7Spy on Windows XP
  • Bug Fix – Fix sending command line arguments between instances of HL7Spy
  • Bug Fix -Fix issue where installing the licensee and license key via the command line fails. Reported by Michael S. from Cleveland Clinic
  • Bug Fix – Fix Unhandled Exception Error
  • Bug Fix – Segment Editor Exception: System.ArgumentOutOfRangeException: capacity was less than the current size. Reported by Biju K.
  • Bug Fix – Make the email verification dialog case insensitive. Reported by Michael S. from Cleveland Clinic
  • Bug Fix – Remove registry key when uninstalling
  • Bug Fix – Improve error detection of an invalid HL7Path

HL7Spy 2.1.165 Released

    • Improvement – A Cloverleaf New Line message framing option. Requested by Ron B.
    • Improvement – Allow enterprise licenses to be registered using the command-line
    • Improvement – Use Code Sign to sign the installer to avoid warnings during install
    • Improvement – Update to latest MySql and Postgres client library
    • Bug Fix – Custom Code – Setting a Field/Component/Subcomponent to null should leave the existing value untouched.
    • Bug Fix – HL7 Editor – NRE and duplicate settings key error.
    • Bug Fix – HL7 Editor – issue where no tool tips are provided for pasted in messages
    • New Feature – Mask Protected Health Information (PHI)

, or Control-M – Turn on/off whether or not the fields specified in “Options/Mask PHI Fields Settings…” are used to hide fields within the HL7 Editor.

“Fields to Mask” – Identify specific fields that will be masked in the HL7 message.
“Fields to NOT Mask” – All fields in the HL7 segment that are not identified here will be masked
“Fields to Mask” – Fields identified here will have PHI found in the “Fields to Mask” and “Fields to NOT Mask” sections masked.
“Mask Character” – Specify the character that will be used to “mask” the PHI.

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.