Servicio sanitario

IBM WebSphere Message Broker incluye el ejemplo de Servicio sanitario. Se trata de un ejemplo básico del patrón Healthcare: HL7 to HL7, que se incluye como parte de IBM WebSphere Message Broker Connectivity Pack for Healthcare.

Introducción a IBM WebSphere Message Broker Connectivity Pack for Healthcare

IBM WebSphere Message Broker Connectivity Pack for Healthcare se basa en WebSphere Message Broker para proporcionar soporte para aplicaciones en entornos de servicio sanitario.

IBM WebSphere Message Broker Connectivity Pack for Healthcare proporciona las características siguientes:

El diagrama siguiente muestra la arquitectura básica de una configuración de IBM WebSphere Message Broker Connectivity Pack for Healthcare. Muestra cómo IBM WebSphere Message Broker Connectivity Pack for Healthcare puede conectarse a una gran variedad de sistemas de servicio sanitario, incluidos los dispositivos médicos, las aplicaciones clínicas, las pasarelas de dispositivo, los sistemas de facturación y los intercambios de información sanitaria.

Este diagrama muestra cómo IBM WebSphere Message Broker Connectivity Pack for Healthcare puede conectarse a una gran variedad de sistemas de servicio sanitario, incluidos los dispositivos médicos, las aplicaciones clínicas, las pasarelas de dispositivo, los sistemas de facturación y los intercambios de información sanitaria.

Para obtener más información sobre IBM WebSphere Message Broker Connectivity Pack for Healthcare, consulte WebSphere Message Broker.

Patrón de servicio sanitario

El patrón Healthcare: HL7 to HL7 que se incluye en IBM WebSphere Message Broker Connectivity Pack for Healthcare media entre las aplicaciones clínicas que utilizan el estándar HL7 v2 para los mensajes. Por ejemplo, un Sistema de administración de pacientes (Patient Administration System - PAS) puede emitir mensajes que se distribuyen a una o más aplicaciones clínicas que requieren la información de paciente.

El patrón no está limitado a tratar con mensajes de un solo tipo HL7 (por ejemplo ADT) y código (por ejemplo A01), sino que puede recibir y procesar cualquier mensaje con un tipo y código de mensaje válidos. Para obtener más información sobre HL7, vea Health Level Seven International.

El patrón contiene tres flujos de mensajes diferentes (si elige varios destinos, obtendrá flujos de mensajes adicionales).

Este diagrama muestra los flujos de mensajes del patrón Healthcare: HL7 to HL7. La aplicación de origen envía el mensaje utilizando MLLP sobre TCP/IP al flujo receptor. El flujo receptor utiliza WebSphere MQ para enviar el mensaje y, a continuación, envía el mensaje al flujo de transformación y direccionamiento. El flujo de transformación y direccionamiento utiliza WebSphere MQ para enviar el mensaje a uno o más flujos remitentes. Entonces los flujos remitentes utilizan MLLP sobre TCP/IP para enviar el mensaje a la aplicación de destino.
Flujo receptor
El flujo receptor recibe mensajes HL7 v2.x de una aplicación clínica HL7. Esta conexión utiliza el protocolo MLLP sobre TCP/IP. Los mensajes se descomponen en bytes MLLP y el registro resultante se analiza con el tipo de mensaje HL7 que se ha definido en el conjunto de mensajes HL7v25P, que modela todos los segmentos HL7 estándares. El tipo de mensaje HL7 representa un mensaje HL7 genérico y se leen todos los segmentos del mensaje de entrada. Cualquier filtrado de los segmentos se produce en los flujos subsiguientes.

Después de procesar el mensaje, este flujo pone el mensaje en una cola WebSphereMQ, donde los flujos subsiguientes del patrón lo leen y, a continuación, devuelve un reconocimiento a la aplicación de origen. Una vez enviado el mensaje, los flujos restantes aseguran que no se pierdan los datos de mensaje y el mensaje se envía a todos los destinos o se envía a una cola de error.

Flujo de transformación y direccionamiento
El flujo de transformación y direccionamiento prepara los datos HL7 para todos los destinos necesarios. Para cada destino:
  1. Se aplica un filtro para determinar qué mensaje es necesario para ese destino. Este filtro de mensaje se configura a partir de los parámetros de patrón.
  2. Cuando un mensaje es necesario para un destino, se aplica un filtro de segmento. El filtro de segmento, que también se puede configurar a partir de los parámetros de patrón, elimina del mensaje de entrada los segmentos que la aplicación clínica a la que se envía el mensaje no necesita o no puede procesar.
  3. Finalmente, el flujo de transformación y direccionamiento envía el mensaje a la cola para el flujo emisor para este destino.

El flujo de transformación y direccionamiento incluye subflujos, que se pueden personalizar. Estos subflujos pueden incluir la transformación de datos para aplicaciones clínicas que pueden contener características no estándares. Puede utilizar estos puntos de personalización para realizar cambios, sin cambiar la estructura de los flujos generales.

Flujos remitentes
Para cada destino se crea un flujo remitente independiente. Un flujo remitente es una hebra única y después de resecuenciar los mensajes el flujo remitente envía cada mensaje al destino correcto. Si llega un mensaje fuera de secuencia, se almacena en una cola independiente hasta que se puede enviar.

Cuando utilice el patrón Healthcare: HL7 to HL7, debe configurar el proceso del mensaje HL7 de entrada, el número de destinos que necesita y cómo transformar los mensajes para cada destino. Se proporcionan detalles sobre la configuración en la especificación de patrón que se visualiza cuando se selecciona el patrón Healthcare: HL7 to HL7 en la vista Explorador de patrones.

Puede configurar el patrón para que soporte varias opciones de proceso.
Detección de duplicados
La opción de detectar duplicados se gestiona en el flujo receptor. Se comprueba el identificador de mensaje HL7 para cada mensaje con los identificadores de todos los mensajes anteriores que se han recibido dentro de un periodo de tiempo especificado. Si se encuentra un identificador duplicado, ese mensaje no se procesa, pero se devuelve a la aplicación de origen el mismo reconocimiento que se ha devuelto con el primer mensaje con ese identificador.

Si desea saber cuándo se producen duplicados, el patrón también informa opcionalmente de los duplicados que encuentra.

Secuencias de mensajes
En algunos casos (por ejemplo, registrar un paciente antes de solicitar una prueba), puede que sea importante que las aplicaciones clínicas reciban los mensajes en el orden en que éstos se han generado. Puede configurar las prestaciones de secuencia de mensajes para soportar la secuencia correcta.
Informes y notificaciones
Puede configurar el patrón para proporcionar salida además de pasar mensajes a las aplicaciones de destino configuradas. El patrón puede proporcionar:
  • Informes sobre mensajes duplicados.
  • Informes sobre campos adicionales que no están modelados en el conjunto de mensajes HL7.
  • Una copia del mensaje de origen en formato HL7 a una cola WebSphereMQ, o punto de publicación, para permitir que otras aplicaciones de flujo de mensajes de IBM WebSphere Message Broker Connectivity Pack for Healthcare procesen los mensajes. Puede utilizar estas copias del mensaje para pasar información a un almacén de datos, para auditoría o para registrar por diario más allá de lo soportado en el patrón.
  • Una copia del mensaje en formato HL7 v2 con los bytes MLLP eliminado, después de que se haya aplicado el primer flujo de personalización. Puede utilizar estas copias del mensaje para pasar información a otras aplicaciones de flujo de mensajes de IBM WebSphere Message Broker Connectivity Pack for Healthcare.
  • Informes sobre mensajes que llegan fuera de secuencia.
  • Mensajes de error para ayudar con el descubrimiento y la resolución de problemas.

Nodos HL7

Se proporcionan dos nodos HL7 para que los utilice en los flujos de mensajes para enviar y recibir mensajes HL7:
  • GenericHL7Input, que puede utilizar en un flujo de mensajes para recibir mensajes HL7 a procesar en el flujo de mensajes y para determinar si un mensaje es un duplicado
  • GenericHL7Output, que puede utilizar para pasar mensajes a un destino sobre MLLP y para comprobar que se recibe un reconocimiento válido

Supervisión operativa

IBM WebSphere Message Broker Connectivity Pack for Healthcare incluye una vista Healthcare Operational Monitoring en WebSphere Message Broker Explorer para supervisar el flujo de mensajes entre las aplicaciones clínicas, ayudando de este modo a identificar y rectificar los problemas de conectividad que surgen.

Los flujos de mensajes que se generan como una instancia de patrón se definen con propiedades que permiten a la supervisión operativa de WebSphere Message Broker Explorer identificar las conexiones TCP/IP de cada flujo de mensajes y las aplicaciones que están asociadas con cada una de estas conexiones TCP/IP. Por consiguiente, los paneles de supervisión pueden visualizar un icono de aviso que identifica cuándo se desconecta una aplicación para que el administrador pueda realizar la acción reparadora.

Este diagrama muestra las conexiones supervisadas de la aplicación de origen al patrón Healthcare: HL7 to HL7 y del patrón a la aplicación de destino.

El panel de supervisión de TCP/IP también puede visualizar el estado de las conexiones TCP/IP que forman parte de los flujos de mensajes que no han sido generados por el patrón Healthcare: HL7 to HL7; por ejemplo, flujos desarrollados utilizando el conjunto de mensajes HL7v25P. Estos flujos no tienen la información adicional configurada por la instancia de patrón a menos que los flujos se definan con las mismas propiedades que las propiedades utilizadas por el patrón.

La vista Healthcare Operational Monitoring para la supervisión operativa también visualiza el estado de las colas utilizadas por los flujos de mensajes de una instancia de patrón. Todas las colas para una instancia de patrón determinada se denominan con un prefijo de cola específico de la instancia de patrón. El uso de un prefijo de cola permite a un administrador ver todas las colas para una instancia de patrón, supervisar la profundidad de cola e identificar cuándo se alcanza un umbral, lo que se indica mediante un icono de aviso que se visualiza para la cola. La posibilidad de ver todas las colas permite determinar problemas adicionalmente, en particular la creación de mensajes en colas de secuencia, que indica que un mensaje omitido en una secuencia está haciendo que se retenga la entrega de los mensajes siguientes hasta que llegue el mensaje omitido. Esta acción asegura que puede realizar una acción reparadora para mantener los mensajes fluyendo del origen al destino.

Puede supervisar colas, de la misma manera que las conexiones TCP/IP, en las aplicaciones de flujo de mensajes de Servicio sanitario que se desarrollan utilizando el conjunto de mensajes HL7v25P. Si se necesita supervisión, las colas que desea supervisar deben denominarse todas con el mismo prefijo para permitir la agrupación de información para la aplicación clínica en las pantallas de supervisión.

Conjunto de mensajes HL7v25P

Si es un usuario existente del conjunto de mensajes HL7v25P que se proporciona con el ejemplo de WebSphere Message Broker Healthcare, está familiarizado con el conjunto de mensajes canónico de CIM. IBM WebSphere Message Broker Connectivity Pack for Healthcare no utiliza el formato canónico de CIM, pero proporciona una capa de formato de conexión XML adicional en el conjunto de mensajes HL7v25P. Aunque puede utilizar la capa de formato de conexión XML para retener una representación independiente de plataforma de los datos, deberá tener en cuenta que este formato no es HL7 XML (como define el estándar de la industria) y también es diferente del formato canónico de CIM de IBM proporcionado anteriormente.

El conjunto de mensajes HL7v25P incluye una definición del mensaje HL7 genérico utilizado por el patrón Healthcare: HL7 to HL7. Este mensaje HL7 genérico se utiliza, con el analizador MRM del patrón, para leer los mensajes que tienen cualquier secuencia de segmentos HL7 de las aplicaciones clínicas de origen y graba los mensajes en las aplicaciones clínicas de destino. Este mensaje HL7 puede procesar cualquier segmento válido que se haya definido en HL7 versión 2.5.1 o anterior.

Las aplicaciones clínicas también pueden comunicar información no estándar utilizando segmentos Z de los mensajes HL7. Cuando utilice este tipo de mensaje con el patrón, podrá añadir segmentos Z no estándares adicionales al mensaje HL7 para soportar estos segmentos Z específicos de sitio.

Cuando se lee un mensaje HL7 en la instancia de patrón, también se puede utilizar el conjunto de mensajes HL7v25P para producir el formato canónico (formato XML), que se genera después del primer punto de personalización. El formato canónico producido por el patrón no es XML HL7, pero puede utilizarlo para mantener una representación de los datos que sea independiente de la plataforma. Estos datos pueden tener el formato de fechas y horas estandarizadas, el formato de números o cualquier otro requisito de estandarización de datos que se imponga.

El enfoque genérico del patrón Healthcare: HL7 to HL7 produce flujos de mensajes que manejan cualquier segmento HL7. Es posible que sea necesario que maneje el intercambio de un mensaje HL7 específico entre las aplicaciones clínicas. El conjunto de mensajes HL7v25P también puede procesar mensajes HL7 de un tipo y código de suceso específicos. Si desea implementar aplicaciones de flujo de mensajes que procesen un mensaje para un capítulo de HL7 específico, los mensajes se deben leer y escribir, utilizando el tipo de mensaje apropiado de las definiciones de capítulo del conjunto de mensajes HL7v25P. HL7 divide todos los mensajes en grupos que se denominan capítulos, que corresponden a los capítulos del estándar HL7. Cuando se trabaja con mensajes HL7 específicos del conjunto de mensajes, es posible producir los mensajes en formato HL7 o en formato XML HL7. La utilización de estos formatos también simplifica el uso de la correlación gráfica en la transformación de un mensaje entre los mensajes de origen y de destino.