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.
¡El contenido de esta entrada está anticuado!
Estamos trabajando para actualizar los contenidos, mientras tanto puedes visitar otros artículos sobre Mirth Connect.
Serie de artículos sobre Mirth Connect:
- I: Introducción a la herramienta.
- II: Canales y conectores.
- III: El panel de administración.
- IV: Consejos útiles y buenas prácticas (i).
- V: Consejos útiles y buenas prácticas (ii).
Otros recursos en Caduceus:
- Descripción general de Mirth Connect.
Canales en Mirth Connect
Un canal está compuesto por una fuente y, al menos, un destino. Tanto la fuente como los destinos son conectores.
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).
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.
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.
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.
Deja una respuesta