HL7Spy v2020.3.565 Released

September 9, 2021

  • Improvement – Segment – Add commonly used operations, such as Field Statistics, when you right-click on node within the segment editor – request by Paul @diridium.com
  • Improvement – Ftp Explorer – Automatically check for new messages when double-click the file, if it is already opened
  • Improvement – Better Layout of all windows and dialogs with scaling set to 300% – requested by Ben @zotecpartners.com
  • Bug Fix – Application – Saving/Restoring current Application Window Layout not working properly in some cases
  • Bug Fix – Application – [InvalidOperationException] Cross-thread operation not valid: Control ‘ShellView’ accessed from a thread other than the thread it was created on.
  • Bug Fix – HL7 Editor – Cntrl-V does not paste into the Find window when it is active and has focus – reported by Jeff D. @hicgrp.com
  • Bug Fix – HL7 Editor – Messages starting with MSH|^~\| rather than MSH|^~\&| do not get loaded properly in HL7Spy without changing the message framing
  • Bug Fix – Field Statistics – If there is an invalid value in a DTM, INT, or DOUBLE type, the sorting stops working
  • Bug Fix – Error initializing SettingsManagerBase. [UnauthorizedAccessException] Access to the registry key ‘HKEY_LOCAL_MACHINE\SOFTWARE\Inner Harbour\SqlLoader’ is denied
  • Bug Fix – FTP Explorer – Tail is not working – Reported By Alfred @musc.edu
  • Big Fix – FTP Explorer – Issue where opening a single compressed file in FTP Explorer does not correctly open – Reported by Alfred @musc.edu
  • Bug Fix – Error in BulkCompareView.RunInternal. [InvalidOperationException] Collection was modified; enumeration operation may not execute.
  • Bug Fix – Statistics View – [NullReferenceException] Object reference not set to an instance of an object.
  • Bug Fix – Custom Code View – Mouse selection issue in the Custom Code Editor with collapsed regions
  • Bug Fix – Custom Code View – Issue where Custom Code tool was not being restored to its saved state

HL7Spy v2020.3.494 Released

June 27, 2021

  • Improvement – Updates/Improvements to Core UI Libraries
  • Improvement – Custom Code – Updates/Improvements to .NET C# language libraries and editor
  • Improvement – Add the DynamicClass Identifier to the output window when compiling so that the user knows how to retrieve a backup from the backup folder
  • Improvement – Better handling of invalid characters in HL7 Message
  • Improvement – Better handling of Parser Errors/Warnings in HL7Editor
  • Improvement – Set UseLargeBuffers to true in Rebex Ftp and Sftp for better performance
  • Improvement – Speed up loading of messages
  • Improvement – BulkCompare – Speed up showing of Master/Detail results
  • Improvement – Remove even row appearance in BulkCompare tool because it looks too cluttered
  • Improvement – Sql Loader – Add option to enable/disable Even Row Appearance
  • Improvement – Statistics View – Change row and selection highlighting
  • Improvement – Custom Code – Add method HL7Segment.GetOrCreate to get or create HL7Subcomponents
  • Improvement – Custom Code – Do not create empty repeats/components/subcomponents when setting string.Empty
  • Improvement – Improve implementation of IsNull, Coalesce, == null, etc
  • Improvement – Custom Coe – Add BaseSegment.IsFieldNullOrEmpty
  • Improvement – Everywhere – Take advantage of new Devexpress search in grid column feature
  • Improvement – Bulk Compare – Highlight rows in the summary that have messages with errors
  • Improvement – Ftp Explorer – Update Rebex Libraries to take advantage of new features
  • Improvement – Everywhere – Update Devexpress Libraries to take advantage of new features
  • Bug Fix – HL7 SQL – Closing any tab always cancels the existing query
  • Bug Fix – Fix [ArgumentException] This causes two bindings in the collection to bind to the same property.
  • Bug Fix – Fix Unexpected exception in HighlightActiveField. [IndexOutOfRangeException] Index was outside the bounds of the array.
  • Bug Fix – Custom Code – Fix [NullReferenceException] Object reference not set to an instance of an object.
  • Bug Fix – Fix NRE when Custom Code Tool is hidden at startup then activated
  • Bug Fix – Fix NRE in HL7Spy.Views.MessageCollectionView.MessageEditorView.ShowMessagePropertiesView()>
  • Big Fix – Fix resizing of the FTP/SFTP Server Tree
  • Bug Fix – Fix up ToolStripSpringTextBox just for use in FileBrowser
  • Bug Fix – Fix issue where “Open Message in external editor” attempts to open the file with an empty editor path
  • Bug Fix – Fix NRE in SqlLoader DbConnection form
  • Bug Fix – Export – Fix Export of long file named message collections
  • Bug Fix – Custom Code – Fix issue with Connexion.Core appending new segments to HL7 Message
  • Bug Fix – Fix File in user exception when the Settings backup happens at start-up
  • Bug Fix – Fix ZSH-1 issue where Field is not being encoded properly into a Component
  • Bug Fix – Fix issue with detecting HL7Paths in an HL7Expression
  • Bug Fix – HL7 Message detection fixes – reported by Len F. from health.qld.gov.au
  • Bug Fix – Fix [XmlException] The ‘ ‘ character, hexadecimal value 0x20, cannot be included in a name.
  • Bug Fix – Fix unhandled exception when searching using the Multi-Value search tool
  • Bug Fix – Custom Code – Fix DateTimeOffset is not defaulting to the local DateTimeOffset when parsing HL7DateTime
  • Bug Fix – Fix issue where MSH-3, MSH-4, MSH-5 are not set correctly in the FHS and BHS segments – reported C.H @ tanaq.com
  • Bug Fix – Fix issue where message frame characters are set in each message within a batch. According the standard these should not be set. reported by C.H @ tanaq.com
  • Bug Fix – Fix threading issue with StringBuilder in HL7QueryView: [ArgumentOutOfRangeException] Index was out of range. Must be non-negative and less than the size of the collection.
  • Bug Fix – Fix HexEitorView.Selection [NullReferenceException] Object reference not set to an instance of an object.
  • Bug Fix – Fix: SplitCollectionView – [ParserException] Multiple MSHs found in message buffer at offset 1025
  • Bug Fix – Fix issue where opening files from the Ftp Explorer loads 0 messages when the configure type is a LocalFileSystem – Reported by A. Islam from health.qld.gov.au
  • Bug Fix – Message Editor – Selecting right-click option “Save Unescaped Field to File” does nothing
  • Bug Fix – Bulk Compare – Fix [NullReferenceException] Object reference not set to an instance of an object. in BulkCompare when message has errors in it
  • Bug Fix – Fix [NullReferenceException] Object reference not set to an instance of an object.
    at Be.Windows.Forms.HexEditorControl.Selection(Int64 offset, Int32 size)

HL7Spy 2020.2.296

November 18, 2020

  • Improvement – Bulk Difference Tool – Add support for Ignoring Extra Fields – Requested by Randall C. from vumc.org
  • Improvement – Add option to change the message framing in the Split Messages Tool – Requested by Mike T. from amwell.com
  • Improvement – Diff Tool – Update DiffView when settings change in BulkCompareView’s ignore fields
  • Improvement – Statistics – Add AverageSize to Message Statistics
  • Improvement – Remember message framing last used in SaveAs – Requested by Jeff D. from hicgrp.com
  • Improvement – HL7 Editor – Add support for changing the size that triggers field collapsing – Requested by Ruslan A. from rochesterregional.org
  • Improvement – HL7 Send – Add Clone functionality to clone an existing HL7 Target configuration – Requested by Jeff D. from hicgrp.com
  • Improvement – Diff Tool – Reduce flashing when comparing 2 messages
  • Improvement – Custom Code – Write out the custom code uid to the output window when compiling so a user can identify the correct backup file if an older version of the code needs to be restored
  • Bug Fix – Custom Code – Fix issue where when adding an assembly reference the code is blanked out – Reported by Charla from nehii.org
  • Bug Fix – HL7 Receive – Update the file name when the port changes – reported by Nick J. from Conevity
  • Bug Fix – Fix issue with formatting of DateTimes and exporting to Excel
  • Bug Fix – OBX-5 CWE not returning correct value for obx.ObservationValue_05.First.CWE_01.Text_02 – reported by Paul M. from BCCancer
  • Bug Fix – Diff Tool Fix jittering in synchronized scrolling
  • Bug Fix – Bulk Compare – Message Counts, File Path, and First Message Date time missing from dropdown
  • Bug Fix – HL7Send – Fix weird positioning of configuration window
  • Bug Fix – HL7Send – Fix up flickering when opening HL7 Send settings popup dialog
  • Bug Fix – HL7 Send – Clear the last error on each Send()
  • Bug Fix – HL7 Send – Fix issue where “Repeat” does not decrement to 0. Reported by Nick J. from Conevity
  • Bug Fix – HL7 Send – Fix issue where TargetSettings not being properly upgraded from v2.x – Reported by Matthew B. from corhio.org
  • Bug Fix – Custom Code Tool – Clone button does not work
  • Bug Fix – Hex Editor – Fix offset/size not shown in Hex Editor
  • Bug Fix – Fix sizing of count column in SqlLoader and HL7Query tool
  • Bug Fix – HL7Parser – Fix [IndexOutOfRangeException] Index was outside the bounds of the array.
  • Bug Fix – HL7Parser – Fix: [ArgumentOutOfRangeException] Index and length must refer to a location within the string.
  • Bug Fix – Ftp Explorer – Fix InvalidOperationException “Cannot send command to the server because the response for previous one was not received.” is sometimes thrown by FTP library
  • Bug Fix – Ftp Explorer – Fix issue were MessageFraming cannot be changed when files retrieved using the FTP Explorer – Reported by Brian G. from utmb.edu
  • Bug Fix – HL7 SQL – Execute Button is not restored if the tab being queried is closed

HL7Spy 2020.2.2 Released

May 2, 2020

  • Improvement – HL7 Sender Tool – Support for SSH Tunnel. Create a secure SSH tunnel to a remote HL7 Server – Requested by Paul C. from diridium.com
  • Improvement – Editor – Support for opening and drag-drop encrypted Cloverleaf smatdb files – requested by Keith M. from thechristhospital.com
  • Improvement – Sql Loader – Support for opening and drag-drop encrypted Cloverleaf smatdb files – requested by Keith M. from thechristhospital.com
  • Improvement – HL7 Editor – Better handling of large HL7 fields within a segment (OBX-5). Large fields are now collapsed to improve message readability. The size of the field is displayed in brackets. Do see the full field, double click on the collapsed region.
  • Improvement – HL7 Editor – Larger HL7 keyboard tooltips. They can be turned on/of (Ctrl+k,Ctrl+k). Hold down the Control key and move the mouse to a field with in the message also displays the tooltip.

  • Improvement – Segment Editor  – Support for OBX-5 variable data types
  • Improvement – Better sizing of columns in the SegmentEditor and HL7  Code table grids
  • Impvovement – HL7 Editor – Support for decoding a multi-part embedded OBX-5 field, for example an embedded pdf document split across multiple OBX segments
  • Improvement – HL7Standard Tool – Show Components/Subcomponents for search results
  • Improvement – HL7 Editor – Track temp files that were opened from OBX-5 encapsulated fields and delete them when HL7Spy exits
  • Improvement – Bulk Compare Tool – Sort field differences by Message Index, then HL7Path – request by Gavin M. from health.telstra.com
  • Improvement – Bulk Compare Tool – Save Ignore Paths when right-clicking and selecting “Ignore” in the Diff tool editor – requested by Gavin M. from health.telstra.com
  • Improvement – Diff Tool – Update DiffView when settings change in BulkCompareView’s ignore fields
  • Improvement – Speed up application startup
  • Improvement – Better handing of Windows Domain licenses for Enterprise customers
  • Improvement – Add support for per user settings for Enterprise customers
  • Improvement – Better display of Z-Segments in Segment Editor
  • Improvement – HL7 Transform Tool – Add more transform functions like Upper, Lower, Insert/Add Segment – requested by Len.F. health.qld.gov.au
  • Improvement – HL7 Transform Tool – Add a drop-down of available functions
  • Improvement – Custom Code Tool – Add right-click copy rows from Events table – requested by Len F. from health.qld.gov.au
  • Improvement – Rework the HL7 Send dialog for better space utilization
  • Bug Fix – File Save – Cannot set the Frame End setting to change the message end-of-frame character – reported by Mike T. from amwell.com
  • Bug Fix – Fix Batch Send View so that the FHS and BHS configurations can be modified
  • Bug Fix – HL7Sender Tool – Fix issue where SSL Validation in UI not happening at the correct time
  • Bug Fix – Show better error to user when Excel Export fails
  • Bug Fix – Advanced Statistics in v2020 do not report the same values as v3.1. Reported by Iris C. from cdph.ca.gov
  • Bug Fix – Highlight Field Tool- Fix exception when Segment Path is selected as a Highlight Path Support wildcard paths
  • Bug Fix – Bulk Compare Tool – Clear out Diff view when selecting a row in the Summary Grid row
  • Bug Fix – Ftp Explorer Tool – Fix issue with resetting the Master password
  • Bug Fix – Custom Code Tool – Fix [ArgumentOutOfRangeException] Specified argument was out of the range of valid values.
  • Bug Fix – HL7 Parser – Exception including entire contents of a large binary file with no messages
  • Bug Fix – HL7Spy not opening up a file when double-clicking it from Windows Explorer – reported by Jared R. from Queens University
  • Bug Fix – Fix spelling of Familiy name in v2.1 and v2.2 of the HL7 Standard

What’s new in HL7Spy 2020.1?

February 7, 2020

Lots…

  • We have made HL7Spy faster. We improved the performance of loading the application, loading messages, query messages, performing statistics calculations on a field, and many other aspects of the application.
  • HL7Spy can handle more data. We have improved HL7Spy’s already unique ability to load 100’s of thousands of messages. In HL7Spy 2020.1 we have improved many features to handle the increased size of HL7 data streams. We have some customers that are loading 42,000,000 messages and running queries to generate reports. That’s a lot of messages!

Here is what its like to load 1.1 million messages from a 7-zip archive containing 10 files on a standard laptop.

Watch how fast it is when used to calculate the statistics on the MSH-9 field.

  • We went through the entire product and improved every window and dialog in the application. We asked ourselves how we can make them better, and we did. Check it out for yourself.
  • We added more options for saving the application layout, font sizing, opening behavior, saving/restoring application settings, and more.
  • We added the ability to set the font size of the editor and most data grids within the application. This is great if your eyes are getting older like mine.
  • We have updated all data grids, and tree grids in the application. Where useful, they now support searching, sorting, and data grouping.
  • The HL7 Editor has been revamped. In v2020 it is snappier, renders text more precisely,  handles large HL7 messages better, supports configurable field highlighting, and has a cool new search tool (shown below).
  • The Custom Code Tool – This tool is for power-users! It is amazing what you can do if you know a little C#. In v2020 this tool has been completely redone. It now supports the .NET 4.8 run-time, and C# 7.x language specification.
  • One of the great new features in HL7Spy v2020 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 two message streams. Statistics by message type and field are created. These results can be exported 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.
  • HL7 Sender/Receiver – Improved SSL/TLS support.
  • Sql Loader tool – This tool has been updated for v2020.1 . We have also included  for InterSystems Caché/IRIS. (Thank you to Jeff Drumm for his help us get this feature into v2020!). Please see his article on how to set this up in your environment: https://community.intersystems.com/post/load-ensemble-messages-hl7-spy-v20201

HL7Spy v4 Beta – Bulk Compare Tool

October 8, 2019

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: https://rhapsody.health/co-creation-lab. 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.

HL7Spy v3.1.2360 Released

August 11, 2019

  • 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 cdph.ca.gov
  • 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 musc.edu
  • 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

August 11, 2019

  • 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 cdph.ca.gov
  • 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 hc1.com
  • 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

July 16, 2019

  • Improvement – HL7 SQL – Add a “Save” button to manually save the query text  – Requested by Larry B. from cdph.ca.gov
  • 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 hshs.org
  • 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 mhg.com
  • 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

June 23, 2019

  • 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