HL7Spy Overview
 

One of the most complex aspects of configuring, and maintaining, healthcare applications is interpreting the semantics of the data being exchanged. HL7Spy has been designed to help HL7 analysts and programmers quickly interpret, and characterize very large HL7 message streams. It quickly reads in 1000s of messages and provides statistics at the message, field, component and subcomponent levels providing great insight into the nature of the data exchange.

 

HL7 Spy can answer quite complex questions about a set of HL7 transactions. For example, with a sample HL7 message file, HL7Spy can answer the following questions:

  • “What are the values being transmitted for Order Status (ORC-5), and what are the distributions for each value?”

  • “How large is the largest message in the stream?”

  • "Are there any ORM messages where ORC-3 is null?"

  • “How often is patient sex (PID-8) filled in for ADT^A08 messages?”

  • “What are the maximum and minimum lengths of the patient identifier (PID-3.1)?”

  • “Are there any patient encounters where the report status (OBR-25) incorrectly transitioned from ‘Final’ to ‘Preliminary’?”

These are only a sampling of the questions that many analysts want answered when trying to interpret, troubleshoot, and configure HL7 interfaces. With just a few clicks HL7 Spy can easily provide this information, and much more.

 

While HL7Spy was designed by HL7 Analysts, for HL7 Analysts, it is also an invaluable tool for novice users and developers.

 

For the novice user, HL7Spy provides a great platform for learning HL7. There is nothing like going through a large data stream with HL7Spy and following an exchange of messages for a specific patient to learn about HL7. 

 

For developers and power users, there is a custom code editor. Custom functions unleash the maximum capabilities of the product. Users can accomplish complex tasks in a simple programming environment. With the custom code editor it is possible to: generate a CSV file of patient attributes that match some criteria, file data into a database, analyze complex message exchanges, or any task that isn't directly supported by the product.

 

Try out HL7Spy for free.

 

Click here to download and try HL7Spy today.

 

Click here to purchase HL7Spy ($249/$349 USD)

 

Click here for news on the latest HL7Spy developments.

 

We think you will find HL7Spy to be a great productivity improvement tool; well worth the money.


 

 HL7Spy Activities

 

Activity
Capability
Advantage
Navigate/Edit
 
 
Navigate through very large data sets with context sensitive information about the displayed HL7 Message.
 
Opening 100,000 Messages is no problem for HL7Spy.
Simplifies understanding of the HL7 Message.
 
Quickly navigate to interesting messages.
Load Messages 
 
 
Load multiple files at a time into a single tab, or 1 tab per file. Option to sort message, or sort tabs by date/time.
 
Supports many file formats, including:
  • 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
 
Compress files are handled seamlessly.
HL7 message streams come in various formats. HL7Spy can handle any format and can load thousands of messages from a single file, or many files.

Query Database

 

 

Load Messages directly from an Oracle, SqlServer, MySql, PostgresSql, ODBC, or OLEDB compliant database.

 

Store as many predefined queries regions for quick access to commonly used queries.

 

Message data column is automatically detected and formatted message is displayed in the editor window where all the great HL7Spy features are available.

Ability to integrate directly with many Integration Engines and custom solutions.
Search/Filter Messages
 
 
Search the entire message text, a specific field or a combination of fields.
 
Search for fields with null, or non-null values.
 
Search based on field lengths.
Quickly find messages that are of interest.
Sort Messages
 
 
Sort messages on any combination of HL7 fields, or on message size.
 
Commonly used sort orders are available with a single click.
View messages in the order that makes sense for given task.
 
Sort by message size to find the largest message in the stream.
 
Sort by patient ID to follow the sequence of events in patient order.
Test Interfaces
 
 
 
Send, receive, merge, sort, modify, anonymize, generate HL7 data streams, and author custom code.
 
Selectively display AEs, ARs, and regular ACKs in a separate tab.
 
Open as many HL7 MLLP Receive ports as you like.
 
Set the character encoding and HL7 protocol framing bytes for both send and receive.
 
View, edit, search messages while they are being received.
Test products and debug interfaces before going live.
 
Receive HL7 messages from a device for analysis.
 
Analyze Messages
 
 
 
Generate statistics for all messages, segments, and fields within the message stream.
 
Analyzing 10,000 messages takes only a second.
Get a high-level view of what message types are in the stream and for each message type which fields are filled in, and how often.
Analyze Fields
 
 
Double-click on any field to produce a list of all values for the field, how many occurrences of each value, how often it is null, and the minimum and maximum length of each value.
 
Use the navigation buttons to move to messages within the data stream that match the selected criteria.
Understand exactly what to expect in any given field.
Validate Messages
 
 
Write custom functions to validate a message stream.
 
Custom functions are easy to write and provide the ability to write complex validation rules, well beyond the capabilities of meek table validation.
Quickly discover which messages would cause a failure because it does not conform to the receiving healthcare application.

View Raw Message

 

 

 

View the message data in hex Find and correct messages with invalid characters in the message body.
Code Special Functions
 
 
Custom functions are simple to write and provide infinite flexibility.
 
It is even possible to link in your own assemblies.
Export specific fields to a file.
Write complex searches.
Anonymize data.
Generate HL7 message streams.
Anything is possible!

 

 

  
 | Login