Running the Healthcare sample

Use the following information to help you to run and test the sample.

This topic contains the following sections:

WebSphere MQ queues
Test application
HL7 messages
Basic sample setup
Flow of information through the sample

WebSphere MQ queues

The following WebSphere MQ queues are created by the sample:

Test application

You can use this sample to connect HL7 applications, and route messages from one sender application to one destination application. Find out how to get started with the sample by using message flows to simulate a source and destination clinical application.

The TestApplication project that is included with this sample, includes one source flow called SourceApplicationConnectsOnPort1111 and one destination flow called DestinationApplicationListensOnPort222. The SourceApplicationConnectsOnPort1111 flow is set up to use localhost and port number 1111. The DestinationApplicationListensOnPort222 is set up to listen on port 2222.

HL7 messages

An HL7 message is split into segments and fields. The boundary between segments can vary depending on the sending application. The sample messages that are used in the test application use the hex characters 0D and 0A. Fields within a segment are separated by using the character declared in the MSH segment at the start of every HL7 message; the default is the vertical bar character (|). The segments are identified by the first field; the following example has four segments: MSH, EVN, PID, and PV1. The MSH segment is the header of the message, and has several fields that are explained in this topic.

The following example shows a typical HL7 message (ADT A01) (line breaks have been added to make it easier to read):

MSH|^~\&|HL7ABLAB|HNA500|HNAM|HNAM|20090911132151||ADT^A01|Q30235031T29347435X328970|A|2.3|123
EVN|A01|20090911132100|||^DRONE_PM1^DRONE_PM^^^^^^^Personnel
PID|1||1357920591||IntFace1101A^WinTask^^^^^Current||19801117|M||||||||||10000476524^^^FIN^FIN NBR|100000451||||||0
PV1|1|Inpatient|CD:16067689^CD:16067691^CD:16067741^Uniontown Hospit^^Bed(s)
    ^Uniontown Hospit||||||||||||||501455^Orr^Maggi^^^^^^External ID^Personnel^^^
    External Identifier~25584^Orr^Maggi^^^^^^PERSONNEL PRIMARY 
    IDENTIFIER^Personnel^^^Personnel Primary Identifier|Inpatient|||||||||||||||||||||
    Uniontown Hospit||Active|||20090911132100
Back to Top

Basic sample setup

The main message flows of the sample are:

Deploying the SourceApplicationConnectsOnPort1111 and DestinationApplicationListensOnPort2222 flows also deploys the HL7v25P message set, which is imported with the TestApplication project when you import the sample resources.

Sending messages to the sample

To send messages through the sample, you can use the WebSphere Message Broker unit test client files that are included in the TestApplication project in the Flow Tests folder. Three messages are stored that you can use for testing:

You can also download the SupportPac IH03: WebSphere Message Broker V7 - Message display, test and performance utilities that contains rfhutil utilities. You can use the support pack to post HL7 test messages to the HL7_TEST_IN queue.

Back to Top

Flow of information through the sample

When you send a message with the test application, the information flows through the sample in the following sequence:

  1. The message is put on the HL7_TEST_IN queue and picked up by the SourceApplicationConnectsOnPort1111 flow.
  2. The SourceApplicationConnectsOnPort1111 flow adds MLLP bytes to the message and then sends it over TCP/IP to the sample.
  3. The message arrives in the HospitalReceiver message flow where the MLLP bytes are trimmed.
  4. The MSH segment in the message is parsed.
  5. An acknowledgment reply (ACK) message is sent back to the SourceApplicationConnectsOnPort1111 flow.
  6. The message is sent to the RXF1 queue. The message is picked up from the RXF1 queue by the HospitalTransformAndRoute1 message flow.
  7. The message is transformed and sent to the sender flow.
  8. In the sender flow the messages are sent to the DestinationApplicationListensOnPort222 flow, which responds with an ACK message.
  9. The ACK message is processed by the sender flow.

All flows also have an exception handling subflow that handles any problems that are caught by the flow.

Back to sample home