HL7 Messaging with NiceWatch Enterprise-HL7 Edition
With dozens of disparate software applications and the placement of electronic devices in hospitals, combined with the increased awareness of patients and their safety, many hospitals have adopted a messaging standard called Health Level Seven (HL7) to facilitate application interoperability. HL7 is a messaging standard that creates structured, text based transactions of health care information for the purpose of communicating patient care information, financial information and more within a healthcare institution.
Niceware added the NiceWatch Enterprise-HL7 edition to the NiceLabel product line to provide a single point of convergance to any Healthcare Information System (HIS), Laboratory Information System (LIS) and Pharmacy Information System (PIS) application. This simplifies the interface of bar code and RFID document printing through a common interface rather than each subsystem managing printing itself.
Introducing HL7 Transaction Files with NiceWatch Enterprise-HL7 Edition
HL7 is a tool that enables interoperability between different hospital information systems by communicating on a common language platform. Most major hospital information systems support HL7 messaging but each system may format their messages differently from one another. These systems publish what is known as a conformance standard.
A conformance standard is a document that states which fields and components of the HL7 standard message the software is going to transmit for a specified transaction. The NiceWatch Enterprise-HL7 edition is able to take the data structure defined in the vendor's conformance standard and creates a filter to either print a label or send an outbound HL7 message to another system.
The NiceWatch Enterprise-HL7 edition supports the 62 different patient admitting events defined in the Admitting, Discharge and Transfer (ADT) transaction set. General acknowledgements (ACK) as an auto reply to the sending system or as an outbound response to an incoming system are also supported. HL7 v2.x transmissions typically include a standard, pipe delimited data structure. The filters rarely change within a specified conformance standard, which makes the task of setting up the filter and pulling data from the incoming messages relatively easy.
HL7 v3 is not widely adopted in live hospital applications at this time. The current XML filter in NiceWatch Enterprise can be used to parse incoming XML of any schema.
Setting up NiceWatch Enterprise-HL7 Edition to Accept Incoming HL7 Messages
Once the conformance standard is received and data components that will be sent to NiceWatch Enterprise are known, the operator has the following options:
1. Print from the incoming data
2. Parse the transmitted data and send an outbound HL7 message to another hospital information system
3. Use built-in functions to write data to a MS Access database table or use custom scripting to write to another database type
4. Setting up an HL7 filter is very similar to how you would setup a Document, XML or text database filter in NiceWatch.
To create a trigger for any kind of filter, follow the four easy steps below:
Step 1: Setup the initial properties of the trigger
The HL7 standard specifies that either a bi-directional TCP/IP socket interface or a file drop interface be used. Any time a new trigger is created (TCP/IP, File, Email, or COM) you must setup the basic properties of the trigger. These properties define the rules and actions that are executed when the trigger is activated. For example, when a TCP/IP trigger is created you must setup a port number the trigger is monitoring for data, how NiceWatch Enterprise begins processing, etc. You can move to step two when those options are configured.
Step 2: Setup the variables to print labels
There are two options when using variables in your trigger. You can either create the variables in NiceWatch or you can select to import the variable names from a label template. For example, if you have created a patient wristband, you can select the "Get Variables" option under the Variables tab in the trigger configuration. You don't need to create a variable manually if you use that feature.
Step 3: Setup the filter and mapping the variables
Once the variables are set up in NiceWatch Enterprise, click on the FILTER tab in the trigger configuration, choose the "Use Filter" checkbox and select "HL7 Analysis" from the list of filter types. Because NiceWatch has over 62 patient admitting (ADT) filters you have to be aware of what HL7 message you are going to be filtering for. The following example uses the A16 - Pending Discharge Notification.
The image HL7 Filter Configuration shows the layout of the HL7 filter configuration.
The screen shows four different sections:
Transaction Set: Either Patient Administration (ADT) or Acknowledgement (ACK)
Trigger Event: Specific to the Transaction Set used to show you the different message headers for the particular trigger event.
Message Headers: Contains each type if message header for that particular trigger event.
Message Segment Definition: Used to set up a data source for each piece of data that is coming across. This section is used to connect variables with the individual fields in the HL7 transmission so that they can be placed on the label file. At this point, the conformance standard comes into play because you have to know what data your application is going to transmit to. The NiceWatch Enterprise– - HL7 edition can correctly map the incoming message to a variable to be printed on a label, form or wristband; or to be sent out in an outgoing message.
Once you have finished the HL7 filter, NiceWatch Enterprise offers the "Verify the Definition" option under the filter tab. This option verifies if the data is correct. NiceWatch Enterprise displays all the variables and values in a table view that is built from a saved text file from a preexisting transmission. The option "Verify the Definition" does not require printing labels or forms to verify that all values are correct.
Step 4: Setup the actions to print the label
The NiceWatch Enterprise - HL7 edition is able to print labels designed in NiceLabel by passing in values mapped to the label design variables. The filter created in step 3 is used to set up and "grab" data from the HL7 transactions.
Once the data is stored in the variables, set up the actions to open the label you want to print, pass the variables from NiceWatch Enterprise to the label template and print the label.
The two basic actions in every printing application are OPEN LABEL and PRINT LABEL. Using these two actions, you are opening a label template designed in NiceLabel, passing in the variable data and printing the label. Both the label path and the print quantity can be transmitted in the HL7 message, adding dynamic printing to your trigger.
The image Action Editor Interface below shows a trigger setup to open a fixed label with a fixed quantity to be printed.
Sending outbound HL7 messages with NiceWatch Enterprise HL7 Edition
An Outbound HL7 message has a defined set of specific fields of data that needs to be sent to another hospital application. There are two options for outbound HL7 messages: a custom message or an acknowledgement.
Custom messages are used to take incoming data and pass it along to another Healthcare Information System such as a patient tracking system, lab system or pharmaceutical system.
Whether the message comes from a mobile computer, a medical device or another PC on the network, the incoming data is sent to NiceWatch Enterprise in a number of data formats:
- Any delimited format such as CSV, Pipe, etc.
- Any text file that contains repeatable data
- HL7 message
Using the above methods, NiceWatch is able to take the data file, parse out the data that is required for the custom outbound message and place it into a variable that can be linked to the HL7 structure. A filter that takes the incoming data and links the data to the variables is still required, just as with the HL7 filter.
Acknowledgements are messages that the NiceWatch Enterprise - HL7 edition sends in response to a transaction from a sending application. When the ACK transmission is sent, it is not required to make any variable connections or changes to the message structure. NiceWatch is simply taking the transmitted data and sends it back as a standardized HL7 confirmation.
Niceware Healthcare Positive Identification Solutions
If you want to learn more about healthcare specific positive identification solutions that are based on bar code and RFID software technology, including HL7 messaging, contact our Sales team.