Artículo
· 5 jun, 2024 Lectura de 4 min

Como crear tu propia searchtable para mensajería HL7.

Mi intención es mostrar lo sencillo que es generar una tabla de búsqueda teniendo en cuenta la información que llega en nuestra mensajería HL7, ciertamente la tabla de búsqueda de mensajes HL7 que proporciona IRIS es suficiente para la mayoría de las búsquedas que queremos hacer, pero siempre tenemos aquel campo especial de nuestro HIS, LIS, RIS, etc.  por el que nos gustaría buscar pero que está en un segmento fuera de esa tabla de búsqueda, ese campo que nos obliga a generar una búsqueda concreta utilizando los criterios de búsqueda ampliados, seguramente tendremos muchísimos mensajes y tendremos que filtrar también por fecha y hora para que no nos dé un timeout.

 

 

¿Cómo resolvemos esto?.  

Generando nuestra propia searchtable. 

¿Y cómo generamos nuestra searchtable?

Como hemos hecho siempre los que no somos genios ¡COPIANDO!, en nuestra vida nos encontraremos 3-4 genios, serán los que inventen, generen, visualicen el más allá, etc.,  si eres uno de ellos ya sabes cómo hacer esto , estarás en el top 100 del global master, tendrás más de 500.000 puntos y un auténtico ajuar en tu casa de productos Intersystems, el resto haremos como hemos hecho todos estos años antes del CHAT GPT, copiar y sin ningún tipo de rubor, con la cabeza bien alta, así que empecemos.

 

Primer paso

 

Generaremos nuestra clase en el Visual Studio Code, abriremos la clase EnsLib.HL7.SearchTableque que el propio IRIS nos da y sin ningún tipo de vergüenza copiaremos todo el contenido de la clase CTRL+C, nos iremos a nuestra clase y CTRL+V.

 

Súper importante: copiaremos también los Extends, los ClassType, Inheritance, no nos dejamos nada, solo lo del Copyright, eso no nos interesa J, no tenemos tanto ego como para dejar marca de nuestra gran labor.

 

 

Si eres de la vieja escuela esta pantalla te sonará mucho 😉

 

Segundo paso

 

Ahora es cuando hacemos la magia, añadimos nuestros campos, quitamos los que no nos interesen, incluso lo podemos pasar a castellano para que parezca que somos mejores.

 

 

En este caso he añadido el origen del mensaje, el destino, el evento, el servicio y el episodio del paciente, y aquí es cuando entra vuestra necesidad, añadid el campo que queráis/necesitéis, como veis podéis añadir el segmento, el campo y el componente de forma numérica, para mi es más sencillo que poner el nombre inglés, pero tened en cuenta que solo podemos asegurar que el segmento 1 será el MSH, el resto dependerá de cada mensaje, así que en el caso de los segmentos mejor el código (PID, PV1).

Después de toda esta ardua tarea compilamos y ya tenemos nuestra tabla de búsqueda, solo nos falta asignarla a los componentes de nuestra producción, obviamente a los componentes HL7, vamos a ello.

 

Tercer paso

 

Abrimos nuestra producción y buscamos los componentes HL7, vamos a los parámetros adicionales y allí encontraremos nuestra tabla de búsqueda, la seleccionamos y procedemos a aplicar los cambios, a partir de ese momento todos los mensajes que entren por ese componente se almacenaran en nuestra tabla de búsqueda, si más adelante añadimos más campos en la tabla de búsqueda, será a partir de la compilación de esta cuando empezaran a guardarse, para los mensajes anteriores ese campo estará en blanco.

 

 

Que entren o salgan, en las operaciones del tipo HL7 también tenemos la tabla de búsqueda, en los componentes de salida normalmente no viene activada ninguna por defecto, pero si nos interesa controlar la salida también la tenemos disponible.

 

 

Con estos sencillos pasos ya tenemos preparada nuestra producción para que guarde los datos que nos interesan, solo nos falta generar la consultas, nos vamos al visor de mensajes

 

Demostración

 

En la mensajería dentro de los criterios ampliados, cuando seleccionemos las tablas de búsqueda encontraremos nuestra obra de arte, la seleccionamos y ya podemos empezar a jugar con nuestros campos

 

 

A continuación, pondré varios ejemplos, pero vuestra imaginación es el límite, me he emocionado, los campos de la tabla de búsqueda os marcaran los límites.


1. Búsqueda si ninguna condición, solo queremos ver el evento del mensaje de entrada y el identificador del mensaje.

 

 

2 Búsqueda por evento mostrando los códigos del paciente y el episodio

 

 

3 Búsqueda por episodio mostrando el servicio, el nombre del paciente y el tipo de mensaje HL7

 

 

A partir de aquí ya es cosa vuestra, a disfrutar 😋

Comentarios (2)3
Inicie sesión o regístrese para continuar