Connecting eHealth blog

Mirth Connect (II): canales y conectores

Tras la introducción a la herramienta del artículo anterior toca empezar a trabajar de verdad.

En Mirth Connect cada interfaz de conexión se implementa mediante un canal. Al principio, la estructura de un canal puede resultar algo difícil de entender. En este artículo trataremos de explicarlo de la forma más sencilla posible.


Serie de artículos sobre Mirth Connect:

Otros recursos en Caduceus:


Canales en Mirth Connect

Un canal está compuesto por una fuente y, al menos, un destino. Tanto la fuente como los destinos son conectores.

Fontanero de conectores de Mirth
Imagen cortesía de vectorolie / FreeDigitalPhotos.net

Los conectores tienen como entrada un mensaje en un formato determinado y generan como salida el mensaje en otro formato tras aplicarle una serie de transformaciones. El formato de entrada puede ser de otro sistema o como salida de otro conector.

La salida del conector de la fuente está conectada a las entradas de los destinos. A su vez, el canal puede contestar al sistema que le envió el mensaje original utilizando la salida de uno de sus destinos, cerrando de esta forma el circuito. Para esto se hace uso de la estructura de datos ResponseMap.

Además de lo anterior, un canal en Mirth Connect:

  • Tiene una configuración global que permite almacenar los mensajes encriptados en la base de datos y establecer el tipo o duración de almacenamiento de los mismos (por ejemplo: solo mensajes con errores durante 30 días sin encriptación).
  • Permite la ejecución de scripts Javascript en determinados momentos. Por ejemplo, antes de que la fuente reciba el mensaje original (script preprocessor) y justo después de que los destinos envíen los mensajes (script postprocessor).
  • Dispone de estructuras de datos para almacenar variables en el ámbito de los conectores (ConnectorMap) o del propio canal (ChannelMap).
Diagrama de un canal de Mirth Connect
Diagrama de un canal de Mirth Connect – Fuente: creación propia.

El funcionamiento de cada canal en Mirth Connect depende fuertemente del tipo de sus conectores. La gran diversidad de tipos de conectores para la fuente y los destinos es lo que hace que esta herramienta sea tan versátil.

Conectores: tipos, entrada, salida, filtros y transformadores

En Mirth Connect existen muchos tipos de conectores para las fuentes y los destinos. Tenemos las siguientes categorías:

Fuentes:

  • Readers: suelen ejecutarse con una frecuencia determinada (polling frecuency) para leer datos de una base de datos, de ficheros, de otro canal de Mirth Connect, etc.
  • Listeners: escuchan en un puerto y se basan en protocolos como DICOM, LLP o TCP.

Destinos:

  • Writers: escriben en una base de datos, en ficheros, en otro canal de Mirth Connect, etc.
  • Senders: envían información utilizando protocolos como DICOM, LLP o TCP.

La siguiente tabla muestra los tipos de conectores más utilizados:

Para las fuentes (readers / listeners) Para los destinos (writers / senders)
Channel Reader Channel Writer
DICOM Listener DICOM Sender
Database Reader Database Writer
File Reader File Writer
HTTP Listener HTTP Sender
JMS Reader JMS Writer
Javascript Reader Javascript Writer
LLP Listener LLP Sender
TCP Listener TCP Sender
Web Service Listener Web Service Sender

Además de lo anterior, los conectores usan tipos de datos como HL7 v2.x, HL7 v3.0, X12, EDI, XML, NCPDP o DICOM.

Filtros y transformadores

Independientemente de su tipo, cada conector tiene una entrada y una salida y en él se pueden definir filtros y transformadores.

Diagrama de un conector de Mirth Connect
Diagrama de un conector de Mirth Connect – Fuente: creación propia.

Entrada

Mirth Connect permite usar una plantilla llamada Inbound Message Template para facilitar la manipulación del mensaje de entrada, según la estructura y el tipo de dato establecido para el mensaje de entrada.

Salida

Mirth Connect permite usar una plantilla llamada Outbound Message Template para facilitar la construcción del mensaje de salida, según la estructura y el tipo de dato establecido para el mensaje de salida.

Filtros

Son reglas que determinan si el conector debe continuar su ejecución. Lo habitual es usar expresiones del tipo “campo operador valor” aunque ofrecen otras posibilidades como la ejecución de código Javascript.

Transformadores

Realizan el procesamiento necesario para construir el mensaje de salida a partir del mensaje de entrada, con la ayuda de las plantillas. Pueden ser de diferentes tipos según nos interese construir parte del mensaje de salida, incluir un valor en una estructura de datos, ejecutar código Javascript, etc.

Logotipo de Mirth Connect
Logotipo de Mirth Connect

Aquí finaliza el segundo artículo de la serie, donde hemos presentado la capacidad de integración de Mirth Connect utilizando canales y conectores. Con lo que hemos visto es fácil entender la versatilidad y potencia que puede adquirir un desarrollo sobre Mirth Connect, si combinamos adecuadamente los tipos de conectores de sus canales.

En el próximo artículo de la serie hablaremos sobre el Administrador de Mirth Connect y otras características útiles de la herramienta que la hacen mucho más potente.

Francisco J. CarrascoMirth Connect (II): canales y conectores

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de la Política de Privacidad

Responsable: Caduceus Software S.L.
Finalidad: Atender tu solicitud de publicar un comentario en este artículo. Además, si marcas "Recibir nuevos artículos por correo electrónico", suscribirte a nuestra lista de correo, .
Legitimación: Para poder publicar el comentario a tu nombre necesitamos tu nombre, email, web (opcional). Para evitar spam, tus datos personales y otra información técnica pueden ser enviados a un sistema automático de reconocimiento de spam (Akismet). Para suscribirte a nuestra lista de correo necesitamos tu correo electrónico.
Destinatarios: Tus datos para el comentario no se compartirán ni se cederán a terceros. Si marcas "Recibir nuevos artículos por correo electrónico", añadiremos tu dirección de correo y tu nombre a nuestra lista en MailChimp, una compañía estadounidense que cumple y respeta la privacidad de datos. Podrás darte de baja en cualquier momento.
Derechos: Puedes ejercer tus derechos escribiendo a info@caduceus.es o en nuestro formulario de contacto (https://www.caduceus.es/contacto/).

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.