IBM Integration Bus includes the Healthcare sample. This sample is a basic example of the Healthcare: HL7 to HL7 pattern, which is included as part of IBM WebSphere Message Broker Connectivity Pack for Healthcare.
IBM WebSphere Message Broker Connectivity Pack for Healthcare builds on IBM Integration Bus to provide support for applications in healthcare environments.
IBM WebSphere Message Broker Connectivity Pack for Healthcare provides the following features:
The following diagram shows the basic architecture of an IBM WebSphere Message Broker Connectivity Pack for Healthcare configuration. It shows how IBM WebSphere Message Broker Connectivity Pack for Healthcare can connect to a wide variety of healthcare systems, including medical devices, clinical applications, device gateways, billing systems, and health information exchanges.
For more information about the IBM WebSphere Message Broker Connectivity Pack for Healthcare, see IBM Integration Bus.
The Healthcare: HL7 to HL7 pattern that is included in IBM WebSphere Message Broker Connectivity Pack for Healthcare mediates between clinical applications that use the HL7 v2 standard for messages. For example, a Patient Administration System (PAS) might issue messages that are distributed to one or more clinical applications that require the patient information.
The pattern is not constrained to deal with messages of a single HL7 type (for example ADT) and code (for example A01), but can receive and process any message with a valid message type and code. For more information about HL7, see Health Level Seven International.
The pattern contains three different message flows (if you choose multiple destinations, you get additional message flows).
After processing the message, this flow puts the message on a WebSphereMQ queue, from where it is read by subsequent flows in the pattern, and then returns an acknowledgment to the source application. After the message has been sent, the remaining flows ensure that the message data is not lost, and the message is either sent to all destinations or sent to an error queue.
The Transform and Route flow includes subflows, which you can customize. These subflows can include the transformation of data for clinical applications that might contain non-standard features. You can use these customization points to make changes, without changing the structure of the overall flows.
When you use the Healthcare: HL7 to HL7 pattern, you must configure the processing of the incoming HL7 message, the number of destinations that you require, and how to transform the messages for each destination. Details about the configuration are given in the pattern specification that is displayed when the Healthcare: HL7 to HL7 pattern is selected in the Patterns Explorer view .
If you want to know when duplicates occur, the pattern also optionally reports any duplicates that it finds.
IBM WebSphere Message Broker Connectivity Pack for Healthcare includes a Healthcare Operational Monitoring view within IBM Integration Explorer to monitor the flow of messages between your clinical applications, thus helping to identify and rectify any connectivity problems that arise.
Message flows that are generated as a pattern instance are defined with properties that enable the operational monitoring in IBM Integration Explorer to identify the TCP/IP connections of each message flow and the applications that are associated with each of these TCP/IP connections. Therefore, the monitoring panels can display a warning icon that identifies when an application is disconnected so that the administrator can take remedial action.
The TCP/IP monitoring panel can also display the state of the TCP/IP connections that are part of message flows that have not been generated by the Healthcare: HL7 to HL7 pattern; for example, flows developed by using the HL7v25P message set . These flows do not have the additional information that is configured by the pattern instance unless the flows are defined with the same properties as those properties used by the pattern.
The Healthcare Operational Monitoring view for operational monitoring also displays the status of queues that are used by the message flows of a pattern instance. All queues for a given pattern instance are named with a queue prefix specific to the pattern instance. The use of a queue prefix enables an administrator to view all the queues for a pattern instance, monitor the queue depth, and identify when a threshold is reached, which is indicated by a warning icon that is displayed for the queue. The ability to view all the queues enables further problem determination, in particular the buildup of messages on sequencing queues, which indicate that a missing message in a sequence is causing following messages to be held for delivery until the missing message arrives. This action ensures that you can take remedial action to keep the messages flowing from source to destination.
You can monitor queues, in the same way as TCP/IP connections, in Healthcare message flow applications that are developed by using the HL7v25P message set . If monitoring is required, the queues that you want to monitor must all be named with the same prefix to allow grouping of information for the clinical application on the monitoring displays.
If you are an existing user of the HL7v25P message set that is provided with the IBM Integration Bus Healthcare sample, you are familiar with the CIM canonical message set. The IBM WebSphere Message Broker Connectivity Pack for Healthcare does not use the CIM canonical form, but provides an additional XML wire format layer on the HL7v25P message set . While you can use the XML wire format layer to hold a platform independent representation of your data, you should note that this format is not HL7 XML (as defined by the industry standard) and is also different to the previously supplied IBM CIM canonical form.
The HL7v25P message set includes a definition of the generic HL7 message that is used by the Healthcare: HL7 to HL7 pattern. This generic HL7 message is used, with the MRM parser in the pattern, to read messages that have any sequence of HL7 segments from the source clinical applications, and writes the messages to the destination clinical applications. This HL7 message can process any valid segment that is defined in HL7 version 2.5.1 or earlier.
Clinical applications can also communicate non-standard information by using Z-segments in HL7 messages. When you are using this type of message with the pattern, you can add additional non-standard Z-segments to the HL7 message to support these site-specific Z-segments .
When an HL7 message is read into the pattern instance, you can also use the HL7v25P message set to output the canonical form (XML format), which is generated after the first customization point. The canonical form that is output by the pattern is not HL7 XML, but you can use it to hold a representation of your data that is platform independent. This data might be in the form of standardized dates and times, formatting of numbers, or any other data standardization requirement that is imposed.
The generic approach of the Healthcare: HL7 to HL7 pattern produces message flows that handle any HL7 segment. You might also be required to handle the exchange of a specific HL7 message between clinical applications. The HL7v25P message set can also process HL7 messages of a specific type and event code. If you want to implement message flow applications that process a message for a specific HL7 chapter, the messages must be read, and written, by using the appropriate message type from the chapter definitions in the HL7v25P message set . HL7 divides all its messages into groups that are called chapters, which correspond to the chapters of the HL7 standard. When you are working with specific HL7 messages from the message set, it is possible to output the messages in either HL7 format or in HL7 XML format. Using these formats also simplifies the use of graphical mapping in the transformation of a message between source and destination messages.