Ejecución del ejemplo de servicio sanitario

Utilice la información siguiente como ayuda para ejecutar y probar el ejemplo.

Este tema contiene las secciones siguientes:

Colas de WebSphere MQ
Aplicación de prueba
Mensajes HL7
Configuración de ejemplo básica
Flujo de información mediante el ejemplo

Colas de WebSphere MQ

El ejemplo crea las siguientes colas WebSphere MQ:

Aplicación de prueba

Puede utilizar este ejemplo para conectar aplicaciones HL7 y direccionar mensajes de una aplicación emisora a una aplicación de destino. Averigüe cómo empezar con el ejemplo utilizando flujos de mensajes para simular una aplicación clínica de origen y de destino.

El proyecto TestApplication que se incluye con este ejemplo incluye un flujo de origen denominado SourceApplicationConnectsOnPort1111 y un flujo de destino denominado DestinationApplicationListensOnPort222. El flujo SourceApplicationConnectsOnPort1111 se ha configurado para utilizar localhost y el número de puerto 1111. DestinationApplicationListensOnPort222 se ha configurado para escuchar en el puerto 2222.

Mensajes HL7

Un mensaje HL7 se divide en segmentos y campos. El límite entre segmentos puede variar en función de la aplicación de envío. Los mensajes de ejemplo que se utilizan en la aplicación de prueba utilizan los caracteres hexadecimales 0D y 0A. Los campos de un segmento se separan utilizando el carácter declarado en el segmento MSH al principio de cada mensaje HL7; el valor predeterminado es el carácter de barra vertical (|). Los segmentos se identifican por el primer campo; el ejemplo siguiente tiene cuatro segmentos: MSH, EVN, PID y PV1. El segmento MSH es la cabecera del mensaje y tiene varios campos que se explican en este tema.

El ejemplo siguiente muestra un mensaje HL7 típico (ADT A01) (se han añadid saltos de línea para facilitar la lectura):

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
Volver a la parte superior

Configuración de ejemplo básica

Los flujos de mensaje principales del ejemplo son:

Al desplegar los flujos SourceApplicationConnectsOnPort1111 y DestinationApplicationListensOnPort2222 también se despliega el conjunto de mensajes HL7v25P, que se importa con el proyecto TestApplication al importar los recursos de ejemplo.

Envío de mensajes al ejemplo

Para enviar mensajes mediante el ejemplo, puede utilizar los archivos de cliente de prueba unitaria de WebSphere Message Broker que se incluyen en el proyecto TestApplication en la carpeta Pruebas de flujo. Se almacenan tres mensajes que puede utilizar para las pruebas:

También puede descargar el SupportPac IH03: WebSphere Message Broker V7 - Message display, test and performance utilities que contiene los programas de utilidad rfhutil. Puede utilizar el paquete de soporte para enviar mensajes de prueba de HL7 a la cola HL7_TEST_IN.

Volver a la parte superior

Flujo de información mediante el ejemplo

Cuando se envía un mensaje con la aplicación de prueba, la información fluye por el ejemplo en la secuencia siguiente:

  1. El mensaje se pone en la cola HL7_TEST_IN y el flujo SourceApplicationConnectsOnPort1111 lo selecciona.
  2. El flujo SourceApplicationConnectsOnPort1111 añade bytes MLLP al mensaje y, a continuación, lo envía sobre TCP/IP al ejemplo.
  3. El mensaje llega al flujo de mensajes de receptor Hospital donde se recortan los bytes MLLP.
  4. El segmento MSH del mensaje se analiza.
  5. Se devuelve un mensaje de respuesta de reconocimiento (ACK) al flujo SourceApplicationConnectsOnPort1111.
  6. El mensaje se envía a la cola RXF1. El flujo de mensajes HospitalTransformAndRoute1 selecciona el mensaje en la cola RXF1.
  7. El mensaje se transforma y se envía al flujo remitente.
  8. En el flujo remitente los mensajes se envía al flujo DestinationApplicationListensOnPort222, que responde con un mensaje de reconocimiento (ACK).
  9. El flujo remitente procesa el mensaje de reconocimiento.

Todos los flujos también tienen un subflujo de manejo de excepciones que maneja los problemas captados por el flujo.

Volver a la página inicial del ejemplo