• 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.

Archive for 2016

HL7Spy v2.3.555 Released

  • Improvement – Do not show the popup when pasting text into the HL7 Editor.
  • Improvement – Add a new right-click menu option to paste and replace text from the clipboard to the HL7 Editor
  • Improvement – Better logic for saving application size and location with multiple monitors

  • Bug Fix – Mask HL7: Fix issue where hitting the “Enter” key in mask fields dialog causes the dialog to exit.
  • Bug Fix – Sql Loader: Fix issue where error messages are not being cleared between queries
  • Bug Fix – Split Messages – Fix issue with a file being locked when exporting
  • Bug Fix – Split Messages – Fix issue with splitting messages by index range misses the last message in the index
  • Bug Fix – Split Messages – Fixed issue with splitting messages by file size not working correctly

How do I pull all OBX-5s where OBX-3.1=’SS003′


I am working on a syndromic surveillance feed for the CDC and hope you can help me with an HL7 SQL question. The messages contain multiple OBX lines. In those lines, I need to pull: 

data in OBX-5
from the segment
 where OBX-3.1 = ‘SS003’

The order and number of OBX segments varies, so I can’t always specify a specific OBX segment.
Is there a way to do this in HL7 Spy? I’m including a set of OBX segments below as an example.

OBX|7|TX|44833-2^DIAGNOSIS.PRELIMINARY:IMP:PT:PATIENT:NOM:^LN||per ems pt with increased confusion. pt also presents with ulcers to bilateral feet||||||F


The best way to accomplish this is to write a small amount of Custom Code. In the example below, all OBX-5 values where OBX-3.1 = ‘SS003’ will be placed in a file called obx5s.csv. Once all the messages have been processed the file will automatically be opened in excel, if it is installed on the computer.

private StreamWriter _writer;
private string _fileName = Path.Combine(Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop),"ob5s.csv");

public override void OnStart()
  _writer = new StreamWriter(_fileName,false);

// Called once or many times based on RunTypeRequested
public override void Run()
  // Get an HL7 Message in parsed format
  HL7Message message = GetParsedMessage();
  foreach(var obx in message.OBXs)
    if(obx[3,1,1] == "SS003")
    _writer.WriteLine("{0}", obx[5]);
public override void OnFinish()
     _writer = null;

HL7Spy 2.3.534 Released

  • Improvement – Better appication startup window positioning – Requested by Len F.

  • Bug Fix – Custom Code: HL7Message InsertAfter throws unexpected exception.
  • Bug Fix – HL7DocumentationProviderFactory.GetOrCreateProvider1 [ArgumentException] An item with the same key has already been added.
  • Bug Fix – Could not save configuration for HL7QueryViewSettings.
  • Bug Fix – Update help web links to point to new web location
  • Bug Fix – Fix missing tooltip issue when navigation bar is set to top – Report by Scott H.
  • Bug Fix – Fix a problem where the last char could be 0x1c or 0x0b and was included as part of the message
  • Bug Fix – Custom Code: Fix up code documentation so it properly shows the parameter information in the code editor

HL7Spy v2.2.501 Released

  • Improvement – Update Custom Code tool to support for C# 5.0 syntax
  • Improvement – Support REGEXP in addition to REGEX – Requested by Albert E
  • Improvement – Add menu option to reset application registry and folder permissions
  • Improvement – Message Editor should track WatchView path when WatchView is navigated with the keyboard
  • Improvement – Make HL7 text comparison case insensitive
  • Improvement – Add clear Watch functionality
  • Improvement – Select All/Clear all in the DISTINCT tool
  • Improvement – Print out duplicate keys as part of the Bulk Compare Report
  • Improvement – When generating a Bulk Diff Compare, print out indexes of messages with duplicate keys
  • Improvement – Turn high res mode on in app.config. Requires .NET 4.5 or above

  • Bug Fix – Do not use Courier New. Some systems in India do not seem to have this font.
  • Bug Fix – When I use the dropdown to select the ‘MySQL’ Database type, it doesn’t get selected and remains ‘SqlServer’. – Mike S
  • Bug Fix – Fix issue where buttons in Custom Code Device are being hidden.
  • Bug Fix – Fixed issue where \r\n in password prevented the FTP explorer from working
  • Bug Fix – Fix issue where the word “select” in region generates an error message
  • Bug Fix – Fix NRE when launching the Sql Loader when it has never been configured
  • Bug Fix – HL7Spy does NOT display message in file with MSH-18 equal “UNICODE UTF-8”