IBM® Integration Bus Healthcare Pack builds on IBM Integration Bus to provide support for applications in healthcare environments.
IBM Integration Bus Healthcare Pack provides the following features:
The following diagram shows the basic architecture of an IBM Integration Bus Healthcare Pack configuration. It shows how IBM Integration Bus Healthcare Pack 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 HL7, see Health Level Seven International.
DFDL (Data Format Definition Language) is a universal, shareable, non-prescriptive description for general text and binary formats that is used in IBM Integration Bus (version 8.0 and later) to define message models. For more information about the use of DFDL in message models, see Message models in the IBM Integration Bus product documentation.
IBM Integration Bus Healthcare Pack provides three versions of the DFDL message model, one for HL7 version 2.7, one for HL7 version 2.6, and one for HL7 version 2.5.1 and earlier. Each DFDL message model includes a definition of a generic HL7 message. This generic HL7 message is used with the DFDL parser in the pattern to read messages from the source clinical applications, and write the messages to the destination clinical applications. This HL7 message can process any valid segment that is defined in HL7 versions 2.7, 2.6, 2.5.1 or earlier.
The HL7v25P message set includes a definition of the generic HL7 message. This generic HL7 message is used, with the MRM parser in the pattern, to read messages from the source clinical applications, and write 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.
Although it is recommended to use the DFDL message model instead of the HL7v25P message set, there are situations when you might prefer to use the HL7v25P message set. For example, if you convert data from the HL7v2 non-XML standard to an XML representation by using the HL7v25P message set, it is not necessary to rename the elements of the message tree.
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 patterns, 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 a pattern instance, you can also use your chosen message model 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 message models 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 message model. HL7 divides all its messages into groups, that are called chapters, that correspond to the chapters of the HL7 standard. When you are working with specific HL7 messages from the message model, 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.
For more information about HL7, see Health Level Seven International.
IBM Integration Bus Healthcare Pack includes an input node, the MedicalDeviceInput node, which enables information from connected medical devices to be passed into a message flow. By using this node, you can develop message flows to send medical device data to other systems, for example, a data warehouse, or to a nurse's monitoring station.
Each device is connected to a separate communications port (either serial or LAN), and device drivers within the MedicalDeviceInput node are configured to listen on these communications ports. The node configuration identifies the connected devices, and the measurements that are required from each device.
The diagram shows the flow of data from the clinical appliances at each of Bed 1, Bed 2, and Bed N to the device drivers. For example, from the heart-rate monitors to Driver 1, and from the infusion pumps, through an execution group to Driver 2. The flow then goes to the MedicalDeviceInput node, which sends the status and data information to the rest of the flow.
The flow of data from message flows must not be disrupted when the device configurations are updated; for example, when you change the measurements that are required, or change the physical connections as devices are added, disconnected, or moved. The configuration data is, therefore, held as a configurable service so that configuration changes can be implemented by the node without the requirement to stop or redeploy the message flow that is receiving the medical data.
The MedicalDeviceInput node is configured by using the Properties tab, which starts an editor for the configurable service. In the Medical Device Configurable Service editor, an administrator first selects the device type from a list of supported devices, then selects the communications type (serial or LAN), and provides the appropriate communications details.
It is frequently the case that a number of devices of the same type are required to provide the same types of measurement at the same intervals, for example, the heart rate, blood temperature, and respiration rate every 5 minutes. This requirement might be true of a number of devices that are deployed at all beds in a ward. The Medical Device Configurable Service editor therefore supports the configuration of measurement sets, which specify a number of measurements and can be applied to any number of devices.
When configuring a measurement set, the administrator selects a device type and is presented with a list of measurements that are supported by that device type. The administrator can select the required measurements, and for each measurement the administrator specifies the interval at which measurements are passed into the message flow for processing.
Where many devices and measurements require configuring, the configuration data might be extensive. Therefore, to add clarity, the administrator can provide a description of the location of each device, patient ID information, notes, and tags for each device and measurement set.
The data that flows from the MedicalDeviceInput node can be processed by a message flow by using any of the nodes available to you in IBM Integration Bus. The measurement data is passed into the message flow as a logical message tree. The message tree uses the DataObject domain and has XML as its serialization format (the message is serialized to XML if the message is written to a message queue). This data can be filtered, transformed, aggregated, and routed, by using standard IBM Integration Bus capabilities, before it is written to target endpoints: databases, IBM WebSphere MQ queues, or service calls, for example.
For more information about using the MedicalDeviceInput node, see Using data from medical devices in message flows and MedicalDeviceInput node.
DICOM (Digital Imaging and Communications in Medicine) is a standard for handling, storing, printing, and transmitting medical image information. The information can include DICOM images and DICOM Structured Reports (SR).
You can use IBM Integration Bus Healthcare Pack to connect DICOM PACS (Picture Archiving Communication Systems) and other DICOM modalities to message flows to allow location, processing, and routing of DICOM images across a healthcare system.
The DICOM capability that is provided by the IBM Integration Bus Healthcare Pack supports a number of key scenarios.The Healthcare: HL7 to HL7 DFDL pattern mediates between clinical applications that use the HL7 v2 standard for messages. For example, a Patient Administration System (PAS) might issue a single message that is 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. The applications must be able to send and receive the messages by using MLLP over TCP/IP.
The pattern contains three different message flows (if you choose multiple destinations, you get additional message flows) and includes subflows that you can customize.
For more information about the patterns, see Developing healthcare message flow applications by using the patterns supplied in IBM Integration Bus Healthcare Pack.
IBM Integration Bus Healthcare Pack includes a Healthcare Operational Monitoring view within IBM Integration Explorer to monitor the flow of messages between your clinical applications and the status of your medical devices. You can use this information to help you to find and fix 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 one of the patterns in the IBM Integration Bus Healthcare Pack. For example, flows developed by using the DFDL message model or 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 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 DFDL message model or 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.
You can monitor the status of medical devices that are connected to a MedicalDeviceInput node.
For more information about operational monitoring, see Operational monitoring.
The ATNA (Audit Trail and Node Authentication) Integration Profile covers several aspects of security, including the standards and processes for securely routing and storing audit event messages in a repository. Using an ATNAAudit node, you can generate ATNA audit event messages from the healthcare data that is routed through message flows and send these audit event messages to a specified ATNA audit repository.
For information about auditing data in message flows, see Auditing data from message flows.
IBM Integration Bus Healthcare Pack provides four Data Analysis profiles. Each profile is used for a specific type of healthcare data.
For more information about analyzing healthcare data, see Analyzing healthcare data in message flows.