Design of the Healthcare: Medical devices to HL7 pattern

This pattern uses the MedicalDeviceInput node to read measurements and alerts from medical devices. The device readings are transformed into HL7 observation result messages (ORU R01). The transformed messages are sent to a destination application such as an Electronic Medical Record (EMR) using the HL7 MLLP protocol.

This topic contains the following sections:

Medical Devices flow
Transform and Route flow
Sender flow
Service flow
Observation results
Output from a pattern instance

Medical Devices flow

The Medical Devices flow processes the messages from the MedicalDeviceInput node. Each message has an expiry time added to it's MQRFH2 header. The messages are written to a queue ready for the Transform and Route flow. After a message has been written to the queue, a journal message is published for the device measurement.

Transform and Route flow

The Transform and Route flow converts a device message to an HL7 observation result (ORU R01). The flow checks each device message to ensure it's measurement is valid. Invalid measurements are written to a queue and discarded. If the pattern is configured to lookup patient identifiers, the device identifier is used as a key to a database table to obtain the patient identifier associated with the device message. The transformed HL7 message is written to a no-match queue for the Sender flow.

Sender flow

The Sender flow reads the HL7 messages from a queue and sends them to the destination application using the HL7 MLLP protocol. The Sender flow retries a configurable number of times if message delivery is disrupted. The Sender flow checks the expiry time of the message. If the message has taken too long to be processed, the message is written to an expired queue and then discarded.

Service flow

The pattern can optionally created a web service interface to the patient identifiers database. The interface is implemented using a message flow. Web service requests are received using a SOAPInput node and routed to a Compute node which performs the necessary database query or update. The flow requires a WSDL message set to configure the SOAP nodes. This message set is provided in the pattern resources topic.

Observation results

The following tables show how the segments in an HL7 ORU R01 messages are constructed:

MSH

The MSH segment defines the intent, source identifier, destination identifier, and some specifics of the syntax of an HL7 message.

Field name
MSH.1.FieldSeparator
MSH.ServiceString
MSH.3.SendingApplication
MSH.4.SendingFacility
MSH.5.ReceivingApplication Destination identity
MSH.6.ReceivingFacility Destination facility
MSH.7.DateTimeOfMessage
MSH.9.MessageType
MSH.10.MessageControlID
MSH.11.ProcessingID
MSH.12.VersionID

PID

The PID segment is used by all applications as the primary means of communicating patient identification information. This segment contains permanent patient identifying and demographic information that, for the most part, is not likely to change frequently.

Field name
PID.3.PatientIdentifierList

PV1

The PV1 segment is used by patient administration applications to communicate information on an account or visit-specific basis.

Field name
PV1.2.PatientClass
PV1.3.AssignedPatientLocation

OBR

In the reporting of clinical data, the OBR serves as the result header. It identifies the observation set represented by the following atomic observations. It includes the relevant ordering information when that applies. It contains many of the attributes that usually apply to all of the included observations.

Field name
OBR.7.ObservationDateTime
OBR.10.CollectorIdentifier

OBX

The OBX segment is used to transmit a single observation or observation fragment. It represents the smallest indivisible unit of a result.

Field name
OBX.1.SetIDOBX
OBX.2.ValueType
OBX.3.ObservationIdentifier
OBX.5.ObservationValue
OBX.6.Units
OBX.11.ObservationResultStatus
OBX.14.DateTimeoftheObservation

The pattern creates multiple OBX segments for waveform messages as they can contain multiple measurements.

Output from a pattern instance

In addition to the HL7 messages routed to the destination application, this pattern provides a number of other outputs. These outputs are either written to a queue or sent to a Publication node. The destination is determined by the pattern parameter Publish . If the Publish option is selected, all information is published by using a topic hierarchy that begins with the pattern instance name.

If the Write to queue option is selected, output is sent to queues with names that are generated from the pattern parameter Queue prefix and a fixed set of suffixes, as shown in the following table.

Note: The initial facet of each topic (the pattern instance name) is not shown.

Output Notes
Journal
To Transform and Route
Messages in Error
Canonical
To Sender
Expired Messages
Service Log
No Matching Patient Identifier

Note 1: A journal message is produced from a source message by adding MQMD and MQRFH2 headers. The MQRFH2 header includes:

Back to the Healthcare: Medical devices to EMR pattern specification