Introducción
Un servidor de terminología médica es un sistema de software que mapea un texto ingresado, a una lista de terminologías médicas completa, detallada, formal y codificada en estándares. El objetivo principal del servidor de terminología es la representación de datos médicos como datos estructurados, a través de la codificación en estándares médicos, para que puedan ser utilizados en una base de datos para la gestión de la información. En la actualidad existen diferentes tipos de terminologías para ser utilizadas dentro de un servidor de terminología, su organización, estructura y granularidad depende de su propósito. Por ejemplo, las terminologías de clasificaciones tienen fines estadísticos, mientras que los vocabularios controlados o terminologías de referencia buscan normalizar el registro clínico. El uso de las terminologías está clasificado en tres principales fases: términos de entrada, terminologías de referencias, y clasificaciones administrativas o estadísticas. Para lograr su propósito, el servidor de terminología se vale de estas tres terminologías que se organizan como capas independientes entre sí como se puede observar en la Fig. 1.
Las terminologías se encuentran organizadas de esa manera porque las capas inferiores sirven como punto de entrada a las capas superiores. Se parte de términos sencillos (lenguaje normal o natural), hacia términos más estructurados, estandarizados, como los de la terminología de referencia y de clasificación.
Debajo de la pirámide y como punto de partida, se encuentra el lenguaje natural. El lenguaje natural comprende el lenguaje expresado comúnmente, en el ejemplo: ``Neumonía atípica'', y está muy relacionado a la capa más baja de la pirámide (terminología de interfaz) debido a que ambos utilizan términos del lenguaje común.
La terminología de interfaz representa el dominio y la jerga local, es el lenguaje utilizado por los médicos en el registro, tiene la ventaja de utilizar términos médicos amigables y familiares. Esta terminología comúnmente se puebla con términos utilizados en el lenguaje natural y se enlaza a una terminología médica completa y detallada que se encuentra en la capa superior (terminología de referencia).
En la capa de terminología de interfaz de la Figura 1, se observa como los médicos utilizan términos comunes y amigables como ``Neumonitis'', ``Neumonía atípica'' y ``Neumonía intersticial'' para referirse a un mismo concepto estandarizado ``Neumonía atípica primaria intersticial'' de la capa superior. Sin la terminología de interfaz que enlaza estos distintos términos comúnmente utilizados, a un mismo concepto formal de referencia, estos términos terminan “sueltos” provocando ambigüedad entre los conceptos. La terminología de interfaz permite contar con una rica sinonimia que permite a los médicos representar datos clínicos utilizando las palabras o frases que prefieran pero haciendo referencia a un mismo concepto de salud.
Las terminologías de referencia son terminologías designadas para proveer representaciones exactas de un dominio de conocimiento dado, típicamente optimizadas para apoyar el almacenamiento y la recuperación de datos clínicos. 2 A menudo poseen mapeos a la terminología de clasificación a falta de la especificidad en la terminología de referencia.
Las terminologías de salida (o de clasificación) permiten, como su nombre lo indica, clasificar los datos como por ejemplo, diagnósticos, enfermedades y otros, para luego poder realizar un análisis sobre los mismos.
Los diagnósticos médicos son codificados diariamente en el Hospital de Clínicas del Paraguay a través de terminologías médicas codificadas según estándares de salud. El Ministerio de Salud Pública y Bienestar Social dictaminó que los diagnósticos médicos debían ser codificados utilizando el estándar de la Versión 10 de la Clasificación internacional de enfermedades (CIE-10). Este estándar permite obtener información estadística sobre enfermedades o problemas que pueden ser utilizados para la elaboración de reportes y toma de decisiones en el área de la salud de un país o región. Los médicos utilizan el internet a través de sus teléfonos celulares o manuales de codificación para la búsqueda de terminologías codificadas en dicho estándar. Este proceso toma mucho tiempo y por ello, como objetivo principal nos propusimos diseñar e implementar un servidor de terminología médica ágil que permita a partir de un texto en lenguaje común, proporcionar un listado de terminologías médicas codificadas estándares internacionales de salud.
Los objetivos específicos del proyecto son:
Método
Se propone una arquitectura cliente - servidor de tres capas, conocida como multinivel, organizada de la siguiente manera: capa de presentación, capa de negocios y capa de datos. Se eligió utilizar este patrón por la independencia entre las capas y la clara definición de cada una de ellas en cuanto al objetivo que persigue. De esta manera, es posible implementar cada capa de forma totalmente independiente a las otras. En la Figura 2 se observa la distribución de los componentes principales del sistema en estas tres capas.
La capa de presentación es la que se expone del lado del cliente, esta capa está compuesta por interfaces que proveen acceso a la capa de negocios.
La capa de negocios, por su parte, está formada por el servidor de terminología (conjunto de servicios web y otras herramientas) y la capa de datos está conformada por las bases de datos. En la Figura 3 se detallan los componentes de cada capa.
El servidor de terminologías se encuentra representado en la capa de negocios. Está compuesta por un conjunto de servicios web de tipo REST y una librería de motor de búsqueda de texto, Apache Lucene, que está enfocada en el almacenamiento y recuperación de información de manera ágil 3.
Como fuente de información para los datos se utilizó el Metatesauro. Metatesauro que integra Tesauros y ontologías biomédicas que están desarrolladas independientemente a lo largo de años.
Integra cerca de 2.000.000 de nombres, unos 900.000 conceptos de algo más de 60 familias de vocabularios biomédicos 4. Forma parte de un sistema unificado de lenguaje médico (UMLS, por sus siglas en Inglés), creado para la aplicación de sistemas informáticos en la medicina.
Resultados
Fueron realizados dos experimentos acorde a los objetivos específicos mencionados anteriormente.
Experimento 1: Medición del tiempo de respuesta del servidor de terminologías.
El objetivo de este primer experimento fue medir el tiempo promedio de respuesta del servidor de terminología, ante la búsqueda de diagnósticos, y comparar resultado con el tiempo promedio que toma el proceso actual de búsqueda utilizando el internet de los teléfonos celulares.
Para llevar a cabo este experimento, se reunió a 13 médicos residentes (entre R1, R2 y R3) del área de Pediatría del Hospital de Clínicas quienes procedieron a realizar la búsqueda de 5 diagnósticos cada uno, a fin de obtener las terminologías codificadas en estándares. En total, en el servidor de terminologías implementado, se buscaron 64 diagnósticos.
En la Tabla 1 se observan los resultados de los tiempos de respuesta.
Tiempo promedio de búsquedas a través del internet de los celulares (en segundos) | Tiempo de respuesta promedio del servidor de terminología (en segundos) | Rapidez del servidor implemetado sobre la búsqueda a través del celular |
---|---|---|
18,37 | 0,97 | 18,37 / 0,97 = 19 veces más rápido |
Como se ve, el tiempo utilizado por el servidor de terminologías resultó ser hasta 18 veces más rápido que el tiempo que tomó la búsqueda a través del internet de los celulares.
Experimento 2: Comparación del tiempo de respuesta del servidor implementado contra el buscador Metamorphosys
Se realizó una comparación lo más justa posible contra un buscador de terminologías denominado Metamorphosys. Se tomaron todos los textos ingresados por los médicos en el experimento 1 y se realizaron las mismas búsquedas en Metamorphosys. Se registraron estos tiempos y se compararon contra los tiempos arrojados por el servidor de terminologías implementado. Metamorphosys dispone de 4 opciones de búsqueda utilizando 4 algoritmos diferentes. Un algoritmo por opción de búsqueda. Ellos son:
Coincidencia en la frecuencia más baja (Algoritmo A).
Descartar coincidencias que solo contienen palabras con mayor frecuencia (Algoritmo B).
Algoritmo básico de coincidencia (Algoritmo C).
Coincidencia en al menos dos palabras (Algoritmo D).
Se comparó el tiempo de respuesta del servidor implementado contra el tiempo de respuesta usando cada una de opciones mencionadas de Metamorphosys. Los resultados se observan en el diagrama de cajas de la Figura 4.
La distribución es asimétrica, todas las cajas presentan sesgo positivo (datos alineados en el extremo inferior en la representación vertical), lo que implica un tiempo de respuesta bajo.
En la Tabla 2 se puede apreciar que el servidor de terminología implementado se muestra bastante competitivo contra Metamorphosys al tener prácticamente el mismo tiempo de respuesta en cuanto a la mediana. En el 75% de los casos, que constituye el tercer cuartil, tanto Metamorphosys como el servidor implementado responden en aproximadamente 1 segundo.
Tiempos de repuesta | Metamorphosys | Servidor implementado | |||
---|---|---|---|---|---|
Algoritmo A | Algoritmo B | Algoritmo C | Algoritmo D | ||
Mediana | 0,4 | 0,4 | 0,4 | 0,7 | 0,5 |
Tercer cuartil (75% de los casos) | 1 | 0,7 | 1 | 1 | |
Como puede observarse el servidor de terminologías implementado presenta un valor atípico máximo de 6 segundos. Metamorphosys, en los algoritmos C y D, presenta valores atípicos máximos de 25 y 21 segundos, respectivamente. En estos casos, el servidor de terminologías que se implementó es hasta 4 veces más veloz. (Tabla 3)
Conclusiones
Con la implementación de este trabajo se concluye que el servidor de terminologías implementado reduce el tiempo de búsqueda del proceso actual siendo hasta 19 veces más rápido que el proceso actual de búsqueda. Finalmente, ante la comparación del servidor implementado contra el buscador Metamorphosys, este se muestra competitivo ya que presentan tiempos similares de respuesta. Cabe mencionar además que Metamorphosys presenta valores atípicos de hasta 25 segundos en algunos casos. El servidor de terminología implementado en este trabajo, sin embargo, presenta un valor atípico máximo de 6 segundos.