 |
 |
 |
 |
|
|
Latest Changes
|
|
| HL7Spy v1.7.13 Released - Monday, November 14, 2011
- Added support for eBiz SYBASE HL7 Gateway log files
- Updated known values displayed for ORC-1
- Updated know vales displayed for MSH-12
- Modified how HL7Paths are displayed throughout the product. HL7 Paths are displayed based on the data type of a field according to the HL7 2.6 standard.
- Updated the context menu items to be more consistent
- Added a new type of Statistic: "R". This calculates the statistics for all values for the selected repeated field. "F" now shows statistics for the entire field and all repeats whereas in previous versions it had the behavior of "R".
- Added the table name from the HL7 Standard where the "Known Values" come from.
- Fix issue where trackbar in HL7 Editor is displayed as Black sometimes.
- Using the Close button in the OpenTcpPort dialog does not cancel the receive operation -- Nick Judson
- Fix problem reported by David White where |^^FOO| gets returned as FOO in Field Statistics
|
| HL7Spy v1.7.6 Released - Sunday, October 09, 2011
- Menu items have been updated to reflect whether or not when clicked they open up a secondary dialog. This follows Microsoft's GUI design standards.
- A new button has been added to the Message Editor toolbar that when depressed will look for new messages that have been appended to the current file. The button also contains a drop-down that when selected will automatically check and load new messages every 5 seconds. Note: HL7Spy opens files with 'ReadWrite' share permissions. This allows other programs to have the same file opened as HL7Spy, but only if they also open with at least 'Read' share permissions. Some applications wrongly open files in exclusive mode, these applications will not be able to open a file that is loaded in HL7Spy. Please ask the vendor of such applications to change their programs to allow shared Read access.
 |
| HL7Spy v1.7.4 Released - Sunday, September 18, 2011
- Faster start-up time
- Better support for users without administrative access to the machine HL7Spy is running on
- Fix application hang when receiving HL7 and performing statistics calculation on another tab simultaneously
- Change settings on the Custom Code Editor so that keyboard navigation behaves more like Visual Studio
- Better cleaning up of temporary files
- Change how Application Settings are stored so that they survive product updates better
- Add information about the data source of the message in the status bar. Requested by Darwin
- Reorganize HL7Message interface (Custom Code Editor). Push Segment functions into HL7SegmentCollection class.
- Speed up LIKE queries by avoiding the use REGEX. Limitation is that only '%' at beginning, or end is supported.
- HL7 SQL: Allow expressions in the SELECT * definition (eg SELECT PID-3+'-'+OBR-3 WHERE OBR-3 !='')
- HL7 SQL: Allow ?? (null-coalescing operator) in SELECT list of HL7 SQL (eg SELECT PID-3??PID-2 will select PID-2 if PID-3 is null)
- HL7 SQL: Add support for *** queries in HL7 SQL (eg SELECT * where *** CONTAINS 'SMITH' will select all messages that contain 'SMITH' anywhere in the message)
- Watch List: Add Field Statistics and HL7 SQL right-click menu items
- Segment Editor: add right-click menu item to add watch item
- Segment Editor" Add right-click menu for SELECT and SELECT INTO queries
- Fix tabbing in Search Dialog - George
- Changes to dialog that controls tab creation. Requested by David White
- Allow cutting/pasting multiple messages into HL7 Editor from notepad or other application
- Automatically display the DiffView when a compare is requested if it is not a Floating window. Requested by David White
- Add the ability to add messages to an existing tab. Requested by David White.
- Make HL7 Paths case insensitive, pid-3 is now equivalent to PID-3
- Fixed a problem with queries on repeated fields. Found By David White.
- Speed up SELECT * from 30 seconds for 100,000 to 4.5
|
| HL7Spy 1.6.4189 Released - Sunday, June 19, 2011
1873 - Speed up population of table values in the Segment Editor/Hl7GridView
1877 - Support pulling a message editor out of the main window to make it a pop-up
1879 - Fix resizing of "Know Values" table
1881 - Editing of HL7 Path in Advanced Statistics not functioning correctly
1882 - Update selected path when clicking on row in HL7Standard Tool
1883 - Major change to how HL7Path is interpreted. For example, PID-5 is now equivalent to PID-5.* where as it used to be equivalent to PID-5.1.1.
1885 - Update documentation with new HL7Path interpretation
1907 - Support relative Segment/Field for ==, !=, IN. For example, find all messages where the White Blood Cell count is greater than 12.3 would look like: SELECT * WHERE OBR[x]-3='WBC' AND OBX-5 > 12.3
1910 - Add the ability to perform DISTICT operations on the list of rows returned from the HL7 SQL query

1917 - Add short-circuit && and || evaluation to speed up queries
1918 - Support comments in expressions and queries
1919 - Recalculate Segment Repeats only when necessary. This significantly speeds up message differencing
1922 - Fixed issue where pasting a message into the difference failed to show differences
1924 - Add support for drag/drop and paste in HL7Editor and HL7 Difference Viewer
1926 - Fixed Message Slider where it didnnot reach the end of larger message streams |
| HL7Spy version 1.6.4160 Released - Sunday, May 22, 2011
- Add support for Sub-Component statistics - Requested by David White

- Allow editing of the HL7Path in the Advanced Statistics Dialog - Requested by David White

- Show path when user right-clicks and chooses a select field query. - Requested by David White
- Support returning sub-components in advanced statistics - Requested by David White
- Change the context menu's to include the HL7Path of the field the statistics are being calculated for. - Requested by David White
- Update Image on Field statistics based on the Statistics type - Requested by David White
- Fix Desktop and Menu item icons - Reported by David White
- Empty Fields and Components should return null, if all the components, and subcomponents are null. eg NK1-2.* will return null all components and sub-components are empty.
- Add Advanced Statistics to right-click menu in HL7 Editor
- Fix NULL value queries
- Error in the anonymizer code. - Reported by Mindy S.
- Add the Profile, Server and Database to the SQL Loader title bar description - Requested by Albert E.
- Make "Show Standard Encoding Characters" false by default
- Fix issue where offsets get out of sync when switching between Standard and non-Standard message encoding
- Updates to support interpreting date/time data types
- Fixed issue where the last line in the message was not getting a line number
- Select CONCAT(`data`,"ZET|",`ocischema`,"^",`et`,"|") not appending ZET| segment. Reported by Albert E.
- Fix issue where editing a field that does not exist in the SegmentEditor causes the offsets of the highlighting to be incorrect
- Fix the cut/copy functionality in HL7Editor
- Show Fraction of seconds for datetime values with milliseconds>0
- Fixed issue where the List of queries is not being saved per profile. - Reported by Albert E.
- Allow canceling during the Unzipping of a file
- Parsing error found by Gary M.
select MSH-7 as 'Date/Time', MSH-9.*, PID-3.*, PID-5.*, ORC-2, ORC-10.2 + ',' + ORC-10.3 as 'Entered By', ORC-12.2 + ',' + ORC-12.3 as 'Entered For'
where (ORC-10.2 + ORC-10.3) != (ORC-12.2 + ORC-12.3);
- Highlight fields within the message based on the name of the field - Requested by Glenn B.
- Link Diff Tool to active message - Requested by Peter H.
- Link Tool Improvements
Change orientation of the comparision windows
Turn on/off wrapping of text in the difference windows
Swap the contents of the left/right difference windows
Performance improvements

- Add "SELECT INTO" to the right-click context menu of the HL7 Editor

-
-
-
-
-
-
-
-
-
- Add Start/Stop button to the HL7 Mllp Receive window. - Requested by internal users

- Add the ability to pop out the HL7Editor window into its own window.
|
| HL7Spy 1.6.4109 Released - Saturday, April 02, 2011
- Most long running operations can now be canceled by clicking on the "Stop" button to the left of the progress bar.
- Option to turn on/off the display of the dialog that allows selecting a partial file. This dialog used to show up when the file size was greater than 50MB.
- Editor - Added Support for Cloverleaf LEN10 formatted files
- Editor - Dynamically update Message in Editor when edited with Segment Editor
- Editor - Ability to print current message
- HL7Send - Added Retry checkbox. When this is selected, any failed transmissions will be retried automatically. The default is unselected which causes HL7Spy to stop sending at the current index when an error occurs.
- HL7Send - Add a delay option to allow throttling of the messages being sent. The delay can be adjusted dynamically during transmission.
- SqlLoader - Fixed issue where the port could not be set higher than 100
- SqlLoader - Fixed an issue where a non-persistent password failed to be correctly used during the query.
- Fixed an issue with the Clean up utility function where errors from a previous run were being included in the current run.
- Fixed a crash that would occur if the application was exited while sending HL7 using the HL7Send function
- HL7Sql - The following queries were not returning the same results:
select OBR-18, OBR-30 where OBR-18='1' or OBR-18='2' or OBR-18='3' or OBR-18='4' or OBR-18='5' or OBR-18='6'
select OBR-18, OBR-30 where OBR-18 in ('1', '2', '3', '4', '5', '6')
- - HL7Diff - Ability to print the colored contents of the Difference Tool.
|
| HL7Spy v1.6.4071 Released - Sunday, February 20, 2011
- Added an option to put a delay between the sending of message in the Send HL7 tool window.
- Fixed a bug in the SQL Loader code that determines which column of data contains the HL7 message. Thank you to Doug Michel for reporting this issue.
- Fixed a bug in the HL7 SQL tool where statements such as PID-8 in ('M', 'F', 'U') were not returning the correct results. Than you to Mark Brighton for reporting this issue.
- Added auto-clean up of messages that are pasted into the Difference tool
- Added support for the Sunrise Log Format. Thank to Gary Mattison for this request.
- Fixed a bug in the Watch Tool that could cause the application to crash.
- Added auto correction of CR/LR endings when a message is pasted into HL7Spy
|
| HL7Spy version 1.6.4026 released - Sunday, January 09, 2011This release is mainly a bug fix release where we have adressed a few bugs reported by our customers. We also added a close button to message tab so that it is easier to close an open message stream.
 |
| HL7Spy v1.6.3998 Released - Sunday, December 12, 2010
New Difference tool for comparing HL7 messages
- Compare messages using drag & drop, cut & paste, or using the use current button shown circled below.
- Deleted fields are displayed with a strike through (left message only)
- Added fields are displayed in green (right message only)
- Modified fields are displayed in red (both right and left messages)

- Message comparison is also available from the "HL7 SQL" and "SQL Loader" tool windows using the "Compare" button, or Right-Clicking after selecting 2 messages to compare.

|
| HL7Spy 1.6.3981 Released - Sunday, November 21, 2010
- New Open Folder Dialog. Settings are now remembered across process invocations.
- Better error reporting from HL7 Query parser
- It is now possible to sort HL7 Query results by clicking on the Data Grid columns
- Results of HL7 Query are now displayed as they are found instead of when the query is complete.
- New HL7 Query "into" clause to select results into a new tab. For example, select * into 'Male Patients' where PID-8 = 'M' will select all male patients into a new message tab.
|
| HL7Spy v1.6.3963 - Sunday, November 07, 2010
New HL7 Editor
- Long segments are wrapped to the next line
- Option to display line numbers
- Option to display white-space characters
- Incremental search with Ctrl-I

- Many other performance and feature improvements |
| HL7Spy 1.5.3896 Released - Sunday, August 29, 2010
- Increased the speed of Sql Loader (from 25 secs to get 10,000 records to 3.5 secs)
- Reduced the memory usage of HL7Spy
- Fixed a small memory leak that occurred each time a file was opened
- Optimized the default message loader to increase file opening speed for most common case
- Small fixes to Custom Code Editor
- Updated hardware id generation mechanism. Should no longer change when Microsoft applies updates
- Better resizing of dialogs and views under Win 7 at 125% DPI
- Fixed an ArgumentOutOfRangeException when searching by field length in the advance search dialog
|
| HL7Spy 1.5.3880 Released - Monday, August 16, 2010Fixed memory leak that would impact users who open very large files
Improved the performance of the application when receiving HL7 Messages
Fixed an exception that occurred very occasionally on Windows 7 64-bit
|
| HL7Spy 1.5.3820 Released - Thursday, June 17, 2010Fixed an exception being reported by HL7Spy when a user loads a zero length file |
| HL7Spy 1.5.3818 Released - Tuesday, June 15, 2010This is just a maintenance release containing a few bug fixes and performance enhancements |
| HL7Spy 1.5.3694 Released - Thursday, February 11, 2010This is a minor bug fix release with 3 very minor changes.
- Allow lower case segment names
- Do not automatically try to restore remote mounted directories because of potentially long delays if the remote directory becomes unavailable.
- Do not show the results tab when the user is just compiling, or saving code. |
| HL7Spy 1.5 Released - Friday, February 05, 2010
New Advanced Statistics Tool
This tool allows calculation of statistics across repeating fields and repeating segments. It also provides filtering based on the contents of any field within the repeating segment. For example, if you want to find the statistics of OBX-5 across all repeating OBX segments where OBX-3 has a value of TNMODE, then this tool will do the trick. (Thanks to Paul Coyne from TSystems for this feature suggestion)
As another example, the figure below shows how to get the statistics of all allergy descriptions across all messages for the first 2 AL1 segments in the message.

Here is a description of the various settings in this dialog.
-
HL7 Path – this will be the path to the field for which the statistics will be calculated. The path is set to the currently selected path in the Message Editor window at the time the Advanced Statistics button is clicked in the toolbar. This path can be changed at any time by clicking on a field within the Message Editor. There is no need to close the Advanced Statistics dialog to do this.
-
Component or Field – sets whether the statistics will be calculated for the specified component, or the entire field.
-
Include Segment Repeats – sets whether or not all matching segments are included in the statistics. If not selected, only segments matching the specified segment repeat will be included in the statistics calculation.
-
Include Field Repeats – sets whether or not all repeating fields are included in the statistics. If not selected, only the specified field repeat will be included in the statistics calculation.
-
Only include repeated segments that match the following criteria – sets whether segment filter is enabled or not.
-
Sets the Component and Field location that will be used in the matching criteria. If component is set to 0, then the entire field is used in the matching criteria.
-
A comma separated list – sets the matching criteria that the field specified in (6) must match for the repeated segment to be included in the statistics calculation.
Official Support for Windows 7 and Windows 2008 x86 and x64
-
HL7Spy has now been validated on all the following Microsoft Operating Systems: Windows XP, Vista, Vista, Windows 2003, Windows Windows 2008, and Windows 7.
Many Small Improvements
-
It might be hard to believe, but HL7Spy now performs searches and queries even faster than before.
-
Connect/Disconnect the TCP/IP connection in the HL7 Send window. To access this functionality right click on the connection status indicator to the left of the “All” button.
-
Better handing of large files in the OpenFolder dialog.
-
Better handing of localhost when IPv6 is installed.
New Custom Code Features:
- Access to the raw message bytes from a new Message property.
- Two new SaveMessage methods:
Save(IMessageData message, string collectionName) ;
Save(IEnumerable<IMessageData> message, string collectionName) ;
These methods will allow you to create new MessageCollection tabs from messages in the current tab.
For example, the following custom function creates a new tab containing the last ADT^A08 message received for each unique patient identifier found in a collection of messages. (This example was a customer request to aid in the calculation of statistics of ADT^A08 messages. The requirement was to only include a single ADT^A08 message per patient identifier)
string _fileName = @"c:\_test.txt";
Dictionary<string,Patient> _data = new Dictionary<string,Patient>(10000);
public class Patient
{
public Patient(string patientId)
{
PatientId = patientId;
}
public IMessageData Message;
public string PatientId;
}
public override void Run() {
// Get an HL7 Message in parsed format
Hl7Message message = GetParsedMessage();
MSH msh = message.GetFirstSegment<MSH>();
if(msh==null || msh.MessageType_09.TriggerEvent_02.Value!="A08")
return; // not an ADT^A08 message
PID pid = message.GetFirstSegment<PID>();
if(pid==null)
return; // no pid segment
string patientId = pid.PatientIdentifierList_03.First.Value;
Patient pat;
if(!_data.TryGetValue(patientId,out pat))
{
pat = new Patient(patientId);
_data.Add(patientId,pat);
}
pat.Message = Message;
}
// Called once after the last message has been processed.
// It is a good place to perform cleanup and to report information.
// Always called from the UI thread.
public override void OnFinish()
{
// Save all the messages collected in an new Message Tab
SaveMessage(_data.Values.Select(p=>p.Message),"Last A08");
}
|
| HL7Spy 1.1.3674 Released - Friday, January 22, 2010
In addition to some minor bug fixes, this release contains the following enhancements:
- Socket timeouts for both HL7 Send and Receive
- An option to the ‘Save As’ dialog to save batches of messages using the Batch File Structured as defined in the HL7 Standard V2.6, Chapter 2, Section 2.10.3.1.
Both of these features were requested by our user community. Thank you for your support and great ideas.
|
| HL7Spy 1.1.3664 Released - Tuesday, January 12, 2010New HL7 Query for HL7Spy Professional
The HL7 Query window provides a SQL like interface for querying an HL7 Message collections. This can be particularly useful for finding messages that match a set of very specific criteria. For example, the figure below shows the results of executing the following query:
select MSH-7, MSH-9.*, PID-3, PID-5.*, PV1-2
where PV1-1 not null and PV1-2 NOT IN ('I','E','P')

This query displays a row for each message found that contains a PV1 segment, and where PV1-3 is not one of 'I', 'E', or 'P'. In the case of the sample data that ships with HL7Spy, this query returns 9084 rows.
For each row in the matching set, the HL7 Paths MSH-7, MSH-9.*, PID-3 and PID-5.* are displayed. Note the aliasing of MSH-7 to 'Date/Time' (see below for a discussion of HL7 Paths).
Clicking on one of the rows in the data grid will cause the message associated with that row to be displayed in the message editor.
The supported query specification is as follows:
SELECT [ TOP ( integer ) ] <HL7Path_list> [where < search_condition >]
<HL7Path_list> ::= HL7Path [ [ AS ] column_alias ][,...n]
< search_condition > ::=
{ [ NOT ] <predicate> | ( <search_condition> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition> ) } ]
[ ,...n ]
<predicate> ::=
{ HL7Path { = | < > | ! = | > | > = | < | < = } string_expression
| HL7Path [ NOT ] LIKE string_expression
| HL7Path REGEX string_expression
| HL7Path IS [ NOT ] NULL
| HL7Path [ NOT ] IN ( string_list )
}
Query Examples:
No where clause. Useful for exporting data
select MSH-7 as 'Date/Time', MSH-9.*, PID-3, PID-5.*, PV1-2
Find any illegal SSNs
select MSH-7, MSH-9.*, PID-3, PID-5.*, PID-19 as SSN
where PID-19!='' AND PID-19 NOT REGEX '^\d{3}-\d{2}-\d{4}$'
Female birthdays < 1953 and male birthday less 1945
select MSH-7, MSH-9.*, PID-3, PID-5.*, PID-7, PID-8
where(PID-8='F' AND PID-7<='1953')
OR (PID-8='M' AND PID-7<='1945');
Female patients that contain the last name 'SMITH'
select MSH-7 as 'Date/Time', MSH-9.*, PID-3, PID-5.*, PID-7
where PID-8='F' and PID-5 LIKE '%SMITH%';
Present, but Invalid SSN 'SMITH'
select MSH-7, MSH-9.*, PID-3, PID-5.*, PID-19 as SSN
where PID-19!=''
AND PID-19 NOT REGEX '^\d{3}-\d{2}-\d{4}$';
No PV1 Segment
select MSH-7, MSH-9.*, PID-3, PID-5.*, PID-19 as SSN
where PV1-1 is null;
--region: Find Patient by original identifier, or by their new patient identifier
select MSH-7, MSH-9.*, PID-3, PID-5.*
where PID-3 IN ('800292182','800191207');
HL7 PATHS
An HL7 Path is defined as:
SEG[SEG_NUM]-F[REPEAT_NUM].C.S
where:
-
SEG – a 3 character segment name. For example PID.
-
[SEG_NUM] – SEG_NUM is an integer value where SEG_NUM>0. If [SEG_NUM] is omitted, SEG[1] is assumed. For example OBR[2] means the second OBR segment, whereas OBR[1] and OBR are equivalent.
-
F – is an integer value where F>0. For example PID-3, means the 3rd field in the PID segment.
-
[REPEAT_NUM]– is the Field Repeat number where REPEAT_NUM>0 or REPEAT_NUM='*'. If REPEAT_NUM='*' a concatenation of all repeating fields is returned. If [REPEAT_NUM] is omitted, F[1] is assumed. For example PID-3[2] means the second repeating field of PID-3, and PID-3[*] means PID-3[1] + PID-3[2] + PID-3[3]...PID-3[N].
-
C – is the Component number where C>0 or C='*'. If C='*', a concatenation of all components is returned. If C is omitted, C=1 is assumed. For example, PID-3.2 means the second component of PID-3, and PID-3.* means PID-3.1 +PID-3.2+PID-3.3...PID-3.N.
-
S – is the Subcomponent number where S>0 or S='*'. If S='*', a concatenation of all subcompents is returned. If S is omitted, S=1 is assumed. For example, PID-3.2.3 means the third subcomponent of the component of PID-3, and PID-3.2.* means PID-3.2.1+PID-3.2.2+PID-3.2.3...PID-3.2.N.
HL7 Path Examples:
For the following Message:
|
MSH|^~\&|SPC|M||M|20040503223716||ORM^O01|176201653|P|2.2|
|
|
PID|1||0000307656^^^M&FEE&&FIE&&FOO&&FUM^MR~0000858462^^^P&FOO&BAR^MR
|
|
OBR|1||3844834|2035^NM HEPATOBILIARY DUCT^MRD|||200405030939||
|
|
OBR|2||44834|21493^RADIATION THERAPY PLANNING|||200406020800||
|
|
PID-3[*] = '0000307656^^^M&FEE&&FIE&&FOO&&FUM^MR~0000858462^^^P&FOO&BAR^MR'
|
|
PID[1]-3[2].1 = PID-3[2].1 = PID-3[2] '0000858462'
|
|
PID[1]-3[2].* = PID-3[2].* = '0000858462^^^P&FOO&BAR^MR'
|
|
PID[1]-3[2].4.1 = PID-3[2].4 = 'P'
|
|
PID-3[2].4.* = 'P&FOO&BAR'
|
|
PID-3[2].4.2 = 'FOO'
|
|
PID[1]-3.1.1 = PID-3.1.1 = PID-3 = '0000307656'
|
|
OBR[1]-4.* = OBR-4.* = '2035^NM HEPATOBILIARY DUCT^MRD'
|
|
OBR[2]-4.* = '21493^RADIATION THERAPY PLANNING'
|
where PID-19!='' AND PID-19 NOT REGEX '^\d{3}-\d{2}-\d{4}$';
|
| HL7Spy 1.1.3613 Released - Sunday, November 22, 2009This release contains:
- Support for opening a file by double-clicking on it within Windows Explorer.
- Support for exporting Statistics to Excel, PDF file, and printer. See figure below.

- Miscellaneous bug fixes, and performance improvements. |
| HL7Spy 1.1.3608 Released - Tuesday, November 17, 2009Fixed a particularly difficult to track down crash bug. Thank you Joel for reporting the usage scenario that caused this crash. |
| HL7Spy 1.1.3607 Released - Monday, November 16, 2009Our apologies. The previous release broke the Custom Code feature. |
| HL7Spy 1.1.3605 Released - Saturday, November 14, 2009Added a new search dialog which allows you to search on a combination of fields. For example, in the picture below we are finding all messages in the date range of April 2004-May 2004 that have a diagnostic code starting with the word "CHEST".

Also, in addition to a few minor bug fixes, we have added the ability to copy the contents of the data grid in the Statistics View to the clipboard. The data is formatted in such a way that it can be easily pasted into Excel for display. |
| HL7Spy 1.3589 Released - Thursday, October 29, 2009This is a minor bug fix release.
The only feature added is the ability to search for fields greater than, or less than a specific value in the Search dialog (Ctrl-F). This is mostly useful for search filtering date ranges. It was requested by one of our customers. |
| HL7Spy 1.1.3581 Release - Wednesday, October 21, 2009This is primarily a bug fix release, though we did manage to add a few small features.
1) There are now options to delete ACK messages with Acknowledgement Code equal to 'AE', and/or 'AR'. In the previous release, it was only possible to remove ACKs with Acknowledgement Code equal to 'AA'.
2) After HL7Spy performs a clean-up, a summary dialog is now displayed which details the operations performed during the clean-up. There is also an option to display any messages that had parsing errors during the clean-up procedure.


3) A SQL History feature was added to the SQL Loader tool which stores the 40 most recent SQL queries. This time-saving feature keeps your favorite queries at your fingertips.
 |
| HL7Spy 1.1.3579 Release - Monday, October 19, 2009
In this release we have added support for opening an entire directory of messages. While the standard File Open dialog supports opening more than one file at a time, it has a limitation of a few hundred files. The new Open Folder dialog supports opening thousands of files. We have tested it to 50,000 files. You can also control which files are loaded by modifying the file extension specification, or writing a Regular Expression search pattern.

Also in this release are improvements to the Custom Code and Sql Loader tools.
|
| HL7Spy 1.1.3572 Released - Monday, October 12, 2009
The major feature in this release is the SqlLoader tool. This tool enables users to extract HL7 messages directly from an Oracle, Sql Server, MySql, ODBC, or OLEDB compliant database. It is super fast, and super slick.
To use this feature connect to a compliant database using the Connect button, write a SQL query and let the tool do the rest. SqlLoader will automatically detect which column contains the message data and load them into HL7Spy where all the great features such as searching, sorting, and statistics generation are available; just as if you opened the messages from a file.

We have added the ability to edit the descriptions in the Watch List. This feature is handy for documenting non-standard fields and Z-segment.

The field descriptions now show up as part of the column names when exporting messages to Excel (see below), and also in the generation of Watch List reports.

|
| HL7Spy v1.1.3555 Released - Friday, September 25, 2009
Although HL7Spy is extremely fast, users are opening files with a million messages, or more. Depending on the format the messages are stored, this can take a minute even in HL7Spy.
Often one only want to load up messages from a portion of a file. This new feature allows you to do this.
A new dialog is automatically displayed if a file you have selected for loading is greater than 50 MB. It allows you to control the range within the file in which HL7Spy will scan for messages, and it also allows you to limit the number of messages that are read.
Hopefully you find the user interface intuitive to use. The 'Summary' text describes what portion of the file will be scanned, so you should be able to figure out how to use it by changing the knobs and watching the summary text change.

|
| HL7Spy 1.1.3553 Released - Wednesday, September 23, 2009
An unfortunate bug was introduced which prevented the automatic opening of files that contain only a single message and no standard message framing characters. Our apologies!
We spent the last several days testing various HL7 message file formats. Thanks to some of our customers for sample data, we now can support the following formats:
- Standard 0x0bMSH...0x1c0x1d
- Single message in the file with no framing bytes
- Carriage return separated messages
- Carriage return with Line Feed separated messages
- Japanese framing (omits the 0x0b character at the beginning of the message)
- EGate log file format
- Pyxis log file format
- STC Datagate formats (several flavors)
- IDX ConnectR log format
If you have a format that you would like us to support, please email us a sample file and we will do our best to include support for it.
HL7Spy will do its best to choose the correct file format. If it fails to select the correct one, you can always force it to a know preset, or you can configure your own message framing. To change the message framing options, select from the toolbar the Message Framing button.

The following dialog will be presented. Which allows you to change the message framing characters, change the character encoding of the message, and replace any unwanted strings.
|
| HL7Spy 1.1.3552 Released - Saturday, September 19, 2009
Support for automatically detecting and loading HL7 messages from EGate log files.
Includes other minor bug fixes and improvements as well as some infrastructure changes to support some new features coming out at the end of the month. One of which is the ability to create and manage message definition profiles. This feature will enable users to edit the field, component, subcomponent, and table definitions for different flavors of HL7.
|
| HL7Spy 1.1.3544 Released - Monday, September 14, 2009
In this release we added a Hex Editor to toolset provided in HL7Spy. The editor is capable of editing very large files while utilizing very little memory and resources. It supports copy, paste, search, and go-to offset functionality.
Additonally, we are displaying non-printable characters in red to make them easier to locate. The end-of-segment byte is displayed as ¶ and other non printable characters are displayed as ▒.

We have also fine-tuned some of the keyboard shortcuts. A listing of the shortcuts can be found under the Help/Keyboard Shortcuts menu item. They are repeated below:
Tool Navigation
|
Ctrl+Tab
|
Switch Focus between the Editor and Segment Editor
|
|
Ctrl+P
|
Open message property window for the selected message
|
|
Ctrl+E
|
Show Segment Editor view
|
|
Ctrl+Shfit+M
|
Merge Message tabs
|
|
Ctrl+W
|
Show the Watch List view
|
|
Ctrl+Shift+S
|
Sort Message tab
|
|
Ctrl+Shift+R
|
Generate watch list report
|
|
F1
|
Show HL7 Standard view
|
Message/Field Navigation
|
Ctrl+Left
|
Move to previous non-null field
|
|
Ctrl+Right
|
Move to next non-null field
|
|
Alt+Right
|
Go to next message
|
|
Alt+Left
|
Go to previous message
|
|
Ctrl+Home
|
Go to first message
|
|
Ctrl+End
|
Go to last message
|
|
Ctrl+(0-9)
|
Move to a specific field number. Eg Ctrl+19 move to field 19 in the current segment.
|
|
Ctrl+G
|
Go to specific message index.
|
Message Editing
|
Ctrl+I+S
|
Insert Segment
|
|
Ctrl+I+F
|
Insert Field
|
|
Ctrl+I+R
|
Insert Repeat
|
|
Ctrl+I+C
|
Insert Component
|
|
Ctrl+I+T
|
Insert Subcomponent
|
|
Ctrl+Delete
|
Delete current Selection
|
|
Ctrl+Z
|
Undo edit
|
|
Ctrl+Y
|
Redo edit
|
|
Ctrl+Shift+C
|
Copy message
|
|
Ctrl+Shift+V
|
Paste message
|
Search
|
Ctrl+F
|
Show Find Message dialog
|
|
F3
|
Search Next
|
|
Ctrl+Shift+F
|
Quick Find Message text
|
|
Ctrl+Shift+Down
|
Quick Find Next
|
|
Ctrl+Shift+Up
|
Quick Find Previous
|
|
Ctrl+Shift+H
|
Highlight specific field within the message
|
File
|
Ctrl+N
|
Open new message tab
|
|
Ctrl+O
|
Open File
|
|
Ctrl+X
|
Close File (clicking on the message tab with the middle mouse button will do the same)
|
|
Ctrl+Shift+X
|
Close all files
|
|
Ctrl+S
|
Save File
|
|
Ctrl+H
|
Open file with the hex editor
|
Segment Editor
|
Ctrl+Up
|
Go to previous segment
|
|
Ctrl+Down
|
Go to next segment
|
|
Right
|
Go to next field
|
|
Left
|
Go to previous field
|
|
Ctrl+T
|
Toggle “Show Empty Components” and “Show Empty Fields”
|
Miscellaneous
|
Ctrl+Shift+W
|
Add current selection to Watch List
|
|
Ctrl+Space
|
Show statistics for selected component
|
|
Ctrl+Shift+Space
|
Show statistics for selected field
|
|
Ctrl+Mouse
|
Hovering over a field with the Ctrl key pressed will display a tooltip with the field description
|
|
| HL7Spy 1.1.3537 Released - Monday, September 07, 2009
The theme of this release is keyboard usability.
Most buttons and menu items now have equivalent shortcuts. Please hover over the buttons to bring up the tooltip and the identification of the particular shortcut.
There is better integration between the Message Editor, and the Segment Editor. Ctrl+Tab will toggle between the two editors. There are also shortcuts for displaying/hiding fields and components with empty values, and for moving between segments in the Segment Editor.
Additionally, a hex viewer was added to display the binary data of a message, to for instance, find invalid characters within a message. Thanks goes to Albert from Cleveland Clinic for suggesting this feature.
This is a first cut of this feature. In the next release we will be adding the ability to scroll to other messages within the hex viewer, as well as the ability to edit the raw message data.
 |
| HL7Spy 1.1.3531 Released - Wednesday, September 02, 2009This release contains some improvements to the Watch List feature. The changes are as follows:
- Support for multiple Watch Lists
- Ability to reorder the items in a Watch List using drag-and-drop
- Ability to export Watch List items for all messages into a CSV, or Microsoft Excel file.

 |
| HL7Spy 1.1.3524 - Tuesday, August 25, 2009
New Features
- Improved scrolling speed when traversing a large message collection
- Better handling of messages in the Statistics View for those that lack a Trigger Event (MSH-9.2), but contain an Event Type Code (EVN-1).
- Double-clicking on a Component in the Statistics Page will bring up Component Statistics for the Message type that is active. In the figure below, if the segment pointed at by (1) is clicked, statistics for all PID fields will be displayed on the right. If however, the segment under the message type ADT^A08 is selected (3), then PID field statistics will be displayed, but only for messages of type ADT^A08.

Double-clicking on (2) with (3) selected will display the field statistic for PID-8 for all ADT^A08 messages (see image below). The behavior of this dialog is described below:
1) Find all messages with PID-8 that matches the selected value in the grid below. In this case, a new document tab will be openned with all ADT^A08 messages that have PID-8='M'.
2) Find the next message with PID-8 equal to the selected value in the grid. In this case, the editor will move to the next ADT^A08 message with PID-8 = 'M'.
3) Find the previous message with PID-8 equal to the selected value in the grid. In this case, the editor will move to the previous ADT^A08 message with PID-8 = 'M'.
4) Clicking here will take you to the previous ADT^A08 message that has a null PID-8. (Right-clicking will bring up a context menu with more options)
5) Clicking here will take you to the next ADT^A08 message that has a null PID-8. (Right-clicking will bring up a context menu with more options)
6) Double-clicking will take you to the next ADT^A08 message with PID-8='M'. (Right-clicking will bring up a context menu with more options)
Bug Fixes:
2214: Searching for specific fields that are null does not work propery
2215: HL7Spy User Interface flashes and is slow to update when resized
2219: Please switch Cntrl-double-click to bring up Field Statistics, and double-click to bring up Component Statistics in the Message Editor and Statistics Pages
|
|
|
|
 |
 |
 |
 |
|
|
|