Artículo
· 17 abr, 2023 Lectura de 6 min

Instalación y adaptación de EMPI en modo Standalone - Ingestión de pacientes

Comenzamos esta nueva entrega recordando que hicimos en los anteriores artículos de configuración del EMPI:

  • Instalado en modo Standalone el Patient Index sobre una instancia de HealthShare.
  • Configurado los parámetros básicos para empezar a trabajar con el EMPI.
  • Definido los índices y pesos particulares para nuestro proceso NICE.

Muy bien, estamos ya practicamente preparados para echar a rodar nuestro EMPI. Sólo nos queda un detalle, arrancar la producción creada por la instalación para poder empezar a trabajar.

Aquí podemos ver los diferentes componentes que tenemos disponibles para trabajar con nuestro EMPI. Como podéis ver tenemos Business Services para la ingesta de ficheros HL7, servicios web públicos para consultas y registro de pacientes e incluso uno para el tratamiento de correos electrónicos.

Para nuestro ejemplo vamos a utilizar el correspondiente a la ingesta de ficheros HL7 y para ello modificaremos ligeramente su configuración por defecto:

Utilizaremos como versión de mensajería HL7 el 2.5.1 y la codificación de caracteres será UTF-8, ya que los datos de nuestros mensajes incluirán acentos en la información de los pacientes.

No necesitaríamos configurar nada más, por lo que podemos proceder a arrancar la producción y a alimentarla con mensajes generados aleatoriamente. Utilizaremos mensajes de varios tipos con leves modificaciones para ver como funciona el proceso.

Empezaremos con mensajes ADT^A08, que según la definición es el mensaje para actualizar la información de pacientes.

MSH|^~\&|HIS|HULP|EMPI||20230330133546||ADT^A08|944784|P|2.5.1
EVN|A08|20230330133546
PID|||50605003N^^^MI^SN~184001^^^HULP^PI||CABEZUELA SANZ^PEDRO^^^||20160627|M|||PASEO JULIA ÁLVAREZ 395 3 E^^MADRID^MADRID^28909^SPAIN||555710791^PRN^^PEDRO.CABEZUELA@GMAIL.COM|||||||||||||||||N|
PV1||N
OBX|1|NM|162986007^Pulso^SNM||52|^bpm|||||F|||20230330133546
OBX|2|NM|105723007^Temperatura^SNM||35|^Celsius|||||F|||20230330133546
OBX|3|NM|163030003^Presión sanguínea sistólica^SNM||118|^mmHg|||||F|||20230330133546
OBX|4|NM|163031004^Presión sanguínea diastólica^SNM||61|^mmHg|||||F|||20230330133546

Para los que no tengáis mucha experiencia con HL7 únicamente indicaros que es un conjunto de estándares para el intercambio electrónico de información clínica.  Su formato es el que veis en el ejemplo anterior, un mensaje en texto plano dividido por una serie de carácteres especiales que portan cada uno un determinado dato. Cada línea del mensaje corresponde a un segmento del mismo con un tipo específico de información.

En nuestro caso los segmentos que serán usados por el EMPI corresponderán al MSH (Message Header, segmento de cabecera del mensaje con información sobre el mismo) y al PID (Patient Identifier, segmento con datos administrativos del mensaje).

Veamos cuales serán los datos más relevantes:

  • MSH.4: HULP. En este campo se informa el centro o facility que nos remitió el mensaje. Hemos elegido las iniciales de un centro hospitalario de Madrid (Hospital Universitario de La Paz). Esta información será relevante en el caso de ausencia de esta información en el segmento de identificación del paciente.
  • MSH.6: ADT^A08. Corresponde con el tipo de mensaje que estamos enviando. Dependiendo de su valor el mensaje portará unos segmentos u otros.
  • MSH.9: 2.5.1. Versión del esquema del mensaje. También será relevante, ya que dependiendo de la versión podrá variar la disposición de los campos. Quedáos con este dato en la cabeza ya que nos será muy útil en posteriores artículos para tratar el tema de la adaptación/customización de los datos de los pacientes ya que crearemos un esquema personalizado.
  • PID.3: 50605003N^^^MI^SN~184001^^^HULP^PI. En este campo informaremos los identificadores del paciente. Para nuestro ejemplo hemos incluido dos. El primero corresponderá con el DNI (50605003N) emitido por el Ministerio del Interior (MI) y corresponde a un número de serie (SN). El segundo es el número de historia clínica (184001) del hospital de La Paz (HULP) y es un identificador del paciente (PI).

¿Recordáis cuando definimos en la configuración el Affinity Domain con el valor EMPI? Pues bien, si no lo hubiésemos hecho al recibir este mensaje nuestro EMPI no generaría un nuevo código para el paciente, si no que le asignaría directamente el valor 184001 utilizado por el HULP. Esto puede ser útil para centros donde no se vayan a recibir más identificadores de paciente, pero por lo general no suele ser este el caso.

Muy bien, inyectemos 50 mensajes para ver como se registran en nuestro sistema copiando el fichero a la ruta indicada en el Business Service.

Aquí tenemos la traza de uno de los mensajes registrados. Como podéis ver ha entrado por nuestros Business Service alimentado por ficheros de HL7, a continuación ha pasado al Business Operation HS.Hub.Standalone.HL7.Operation donde los datos del mensaje se han transformado del formato HL7 al formato SDA utilizado por el EMPI:

A modo de rápida reseña, el SDA no es más que el formato XML utilizado por HealthShare para representar la información clínica almacenada en su sistema.

Como podéis ver el sistema de forma automática ha capturado toda la información relevante para el EMPI presente en el mensaje recibido. Podéis ver como el numero de historia clínica no se encuentra dentro de la lista de identificadores, esto es así por que lo hemos definido como el identificador más relevante del paciente para la organización (PI), por lo que lo ha extraido al campo <MRN> (Medical Record Number).

Perfecto, ya estamos almacenando datos de nuestros pacientes en el EMPI, ¡enhorabuena! Vamos a buscar al paciente de este mensaje desde la opción de búsqueda de pacientes del portal de gestión de Healthshare.

Introduciremos únicamente su primer apellido para ver todas las opciones disponibles.

Aquí tenemos el resultado. 4 pacientes registrados en el sistema con apellido Álvarez. Si os preguntáis que significa el valor de columna Rank es símplemente la probabilidad de que sea ese paciente el que estás buscando. Como únicamente hemos definido un apellido todos los que tienen dicho apellido tienen la misma probabilidad (es una búsqueda probabilística). Si introducimos más campos en nuestra búsqueda veremos como dicha probabilidad va cambiando, aumentando para aquellos que más se aproximen a la búsqueda realizada.

Otro detalle a tener en cuenta. Hemos asignado a cada paciente un nuevo código generado por nuestro EMPI, el MPI (Master Patient Index). Este identificador sólo será relevante dentro del EMPI y se usará internamente para posteriormente vincular o desvincular pacientes sin mezclar su información.

Como hemos indicado anteriormente, al definir un Affinity Domain distinto a la organización que le asignó el número de historia clínica y que definimos como índice del paciente el sistema ha generado el suyo propio. Veamos como ha quedado registrado nuestro paciente Antonio Álvarez Margall en el sistema pulsando sobre el último de los tres iconos que aparecen en su línea.

Desde ese icono tendremos acceso a la conocida como "Composite View" o vista compuesta. Nos resultará especialmente útil cuando registremos más datos de los pacientes desde otros orígenes ya que nos permitirá ver tantas columnas de datos como orígenes de los mismos que tenga y seleccionar los que sean más relevantes, pero de momento no os preocupéis, ya lo veremos en el próximo artículo cuando tratemos la gestión de la lista de trabajo.

En esta vista compuesta podéis ver los datos administrativos que se han definido en la clase Local.CompositeRecord.Transient.Definition (sí, la misma clase definida en la configuración en el parámetro \HSPI\CompositeRecordDefinition). Esta clase es totalmente personalizable por los usuarios y al pertenecer al paquete de Local no se pisará en futuras actualizaciones del EMPI.

Pues bien, este sería el caso más rápido y sencillo de ingesta de datos por parte del EMPI. Como habéis podido ver la puesta en funcionamiento del mismo no es para nada complicada con las herramientas que nos proporciona por defecto.

En este ejemplo hemos utilizado uno de los Business Service que nos proporciona la producción generada por la instalación en modo Standalone del EMPI para la ingesta de mensajes de HL7, pero podríamos diseñar todos aquellos que necesitáramos, desde servicios web tipo REST o SOAP, envío de ficheros por FTP, mensajería TCP, etc. En esta URL de la documentación oficial tenéis un ejemplo de como se podría desarrollar.

Pues hasta aquí lo relativo a la ingestión de datos de pacientes en el EMPI. En la próxima entrega procederemos a introducir más mensajes HL7 con más datos de pacientes con origen diferente y revisaremos la gestión de la lista de trabajo.

Now and then: How film titles have evolved | The end gif, Title card, Map  of new york

Comentarios (0)1
Inicie sesión o regístrese para continuar