Parte I MEMORIA - IIT - Universidad Pontificia Comillas

Anuncio
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INFORMATICO
SISTEMA DE ACCESO,
REPRESENTACIÓN GRÁFICA Y
GENERADO DE INFORMES UMLS
Autor: Daniel Anta Díaz
Director: Israel Alonso Martínez
Madrid
Septiembre 2014
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
AUTORIZACIÓN
DIVULGACIÓN
PARA
EN
LA
DIGITALIZACIÓN,
ACCESO
ABIERTO
(
DEPÓSITO
RESTRINGIDO)
Y
DE
DOCUMENTACIÓN
1º. Declaración de la autoría y acreditación de la misma.
El
autor
D.
_____________________________________
,
como
_______________ de la UNIVERSIDAD PONTIFICIA COMILLAS (COMILLAS),
DECLARA
que es el titular de los derechos de propiedad intelectual, objeto de la
presente
cesión,
en
relación
con
la
obra__________________________________________________________________
____________________________________________________________________1,
que ésta es una obra original, y que ostenta la condición de autor en
el sentido que otorga la Ley de Propiedad Intelectual como titular
único o cotitular de la obra.
En caso de ser cotitular, el autor (firmante) declara asimismo que
cuenta con el consentimiento de los restantes titulares para hacer la
presente cesión. En caso de previa cesión a terceros de derechos de
explotación de la obra, el autor declara que tiene la oportuna
autorización de dichos titulares de derechos a los fines de esta cesión
o bien que retiene la facultad de ceder estos derechos en la forma
prevista en la presente cesión y así lo acredita.
2º. Objeto y fines de la cesión.
Con el fin de dar la máxima difusión a la obra citada a través del
Repositorio institucional de la Universidad
y hacer posible su
utilización de forma libre y gratuita ( con las limitaciones que más
adelante se detallan)
1
por todos los usuarios del repositorio y del
Especificar si es una tesis doctoral, proyecto fin de carrera, proyecto fin de
Máster o cualquier otro trabajo que deba ser objeto de evaluación académica
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
portal e-ciencia, el autor CEDE a la Universidad Pontificia Comillas de
forma gratuita y no exclusiva, por el máximo plazo legal y con ámbito
universal, los derechos de digitalización, de archivo, de reproducción,
de distribución, de comunicación pública, incluido el derecho de
puesta a disposición electrónica, tal y como se describen en la Ley de
Propiedad Intelectual. El derecho de transformación se cede a los
únicos efectos de lo dispuesto en la letra (a) del apartado siguiente.
3º. Condiciones de la cesión.
Sin perjuicio de la titularidad de la obra, que sigue correspondiendo a
su autor, la cesión de derechos contemplada en esta licencia, el
repositorio institucional podrá:
(a) Transformarla para adaptarla a cualquier tecnología susceptible de
incorporarla a internet; realizar adaptaciones para hacer posible la
utilización de la obra en formatos electrónicos, así como incorporar
metadatos para realizar el registro de la obra e incorporar “marcas de
agua” o cualquier otro sistema de seguridad o de protección.
(b) Reproducirla en un soporte digital para su incorporación a una
base de datos electrónica, incluyendo el derecho de reproducir y
almacenar la obra en servidores, a los efectos de garantizar su
seguridad, conservación y preservar el formato. .
(c) Comunicarla y ponerla a disposición del público a través de un
archivo abierto institucional, accesible de modo libre y gratuito a
través de internet.2
2
En el supuesto de que el autor opte por el acceso restringido, este apartado
quedaría redactado en los siguientes términos:
(c) Comunicarla y ponerla a disposición del público a través de un archivo
institucional, accesible de modo restringido, en los términos previstos en el
Reglamento del Repositorio Institucional
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
(d) Distribuir copias electrónicas de la obra a los usuarios en un
soporte digital.
3
4º. Derechos del autor.
El autor, en tanto que titular de una obra que cede con carácter no
exclusivo a la Universidad por medio de su registro en el Repositorio
Institucional tiene derecho a:
a) A que la Universidad identifique claramente su nombre como el
autor o propietario de los derechos del documento.
b) Comunicar y dar publicidad a la obra en la versión que ceda y en
otras posteriores a través de cualquier medio.
c) Solicitar la retirada de la obra del repositorio por causa justificada.
A tal fin deberá ponerse en contacto con el vicerrector/a de
investigación ([email protected]).
d) Autorizar expresamente a COMILLAS para, en su caso, realizar los
trámites necesarios para la obtención del ISBN.
d) Recibir notificación fehaciente de cualquier reclamación que
puedan formular terceras personas en relación con la obra y, en
particular, de reclamaciones relativas a los derechos de propiedad
intelectual sobre ella.
5º. Deberes del autor.
El autor se compromete a:
a) Garantizar que el compromiso que adquiere mediante el presente
escrito no infringe ningún derecho de terceros, ya sean de propiedad
industrial, intelectual o cualquier otro.
b) Garantizar que el contenido de las obras no atenta contra los
derechos al honor, a la intimidad y a la imagen de terceros.
c) Asumir
toda reclamación o responsabilidad, incluyendo las
indemnizaciones por daños, que pudieran ejercitarse contra la
3
En el supuesto de que el autor opte por el acceso restringido, este apartado
quedaría eliminado.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Universidad por terceros que vieran infringidos sus derechos e
intereses a causa de la cesión.
d) Asumir la responsabilidad en el caso de que las instituciones fueran
condenadas por infracción de derechos derivada de las obras objeto
de la cesión.
6º. Fines y funcionamiento del Repositorio Institucional.
La obra se pondrá a disposición de los usuarios para que hagan de
ella un uso justo y respetuoso con los derechos del autor, según lo
permitido por la legislación aplicable, y con fines de estudio,
investigación, o cualquier otro fin lícito.
Con dicha finalidad, la
Universidad asume los siguientes deberes y se reserva las siguientes
facultades:
a) Deberes del repositorio Institucional:
- La Universidad informará a los usuarios del archivo sobre los usos
permitidos, y no garantiza ni asume responsabilidad alguna por otras
formas en que los usuarios hagan un uso posterior de las obras no
conforme con la legislación vigente. El uso posterior, más allá de la
copia privada, requerirá que se cite la fuente y se reconozca la
autoría, que no se obtenga beneficio comercial, y que no se realicen
obras derivadas.
- La Universidad no revisará el contenido de las obras, que en todo
caso permanecerá bajo la responsabilidad exclusiva del autor y no
estará obligada a ejercitar acciones legales en nombre del autor en el
supuesto de infracciones a derechos de propiedad intelectual
derivados del depósito y archivo de las obras. El autor renuncia a
cualquier reclamación frente a la Universidad por las formas no
ajustadas a la legislación vigente en que los usuarios hagan uso de
las obras.
-
La
Universidad
adoptará
las
preservación de la obra en un futuro.
medidas
necesarias
para
la
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
b) Derechos que se reserva el Repositorio institucional respecto de las
obras en él registradas:
-
retirar
la
obra,
previa
notificación
al
autor,
en
supuestos
suficientemente justificados, o en caso de reclamaciones de terceros.
Madrid, a ……….. de …………………………... de ……….
ACEPTA
Fdo……………………………………………………………
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Proyecto realizado por el alumno/a:
Daniel Anta Díaz
Fdo.: ........................
Fecha: ....../ ....../ ......
Autorizada la entrega del proyecto cuya información no es de carácter
confidencial
EL DIRECTOR DEL PROYECTO
Israel Alonso Martínez
Fdo.: ........................
Fecha: ....../ ....../ ......
Vº Bº del Coordinador de Proyectos
Israel Alonso Martínez
Fdo.: ........................
Fecha: ....../ ....../ ......
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Agradecimientos
Quiero expresar mi más sincero agradecimiento a todo el mundo que he tenido
cerca y me han apoyado durante estos años de carrera.
En primer lugar a toda mi familia, en particular a mi padre y mi madre que me
han ayudado todo lo que han podido y más, y sin los que nada de esto hubiera
sido posible.
En segundo lugar quiero agradecer a mis amigos de toda la vida por los buenos
momentos que hemos pasado juntos y que han servido para que no me
rindiera en ningún momento, a Javi y Dani por los días de trabajo y apoyo
juntos, y a María por estar junto a mi en los momentos más difíciles.
Por último, quiero a gradecer a todos los profesores de la universidad con los
que he crecido como persona y como estudiante, y que han contribuido, cada
uno con su granito de arena, en mi formación.
Muchas gracias a todos.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
SISTEMA DE ACCESO, REPRESENTACIÓN GRÁFICA Y
GENERADO DE INFORMES UMLS
Autor: Anta Díaz, Daniel.
Director: Alonso Martínez, Israel.
Entidad Colaboradora: ICAI – Universidad Pontificia Comillas
RESUMEN DEL PROYECTO
Introducción
El Unified Medical Language System, o UMLS, agrupa un conjunto de
archivos y software relacionados con el mundo de la biomedicina que
permiten la interacción entre numerosos sistemas de terminología.
Los métodos de acceso al UMLS son limitados y para usuarios que no
están acostumbrados a trabajar con cantidades de información
grandes puede suponer un reto importante.
Este proyecto pretende realizar un acercamiento a la estructura del
UMLS como fuente de conocimiento médico y se plantea un sistema
que permite la extracción de información del Metatesuro de manera
mas cercana al usuario, ademas de la estructuración de dicha
información para su representación en forma de grafos, lo que
permite una mejor visualización de la información.
El sistema se ha desarrollado para el tratamiento de las relaciones
entre conceptos dentro del UMLS exclusivamente, por lo que los
grafos representan las relaciones entre diferentes conceptos del
Metatesauro. Para apoyar la información de los grafos el sistema
también permite la emisión de informes para cada uno de los grafos
donde se presenta la misma información con un nivel mucho mayor
de detalle.
Etapas de la resolución
La consecución de los objetivos del proyecto se ha dividido en las
siguientes etapas:
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
1. Estado del UMLS: Para poder trabajar con la herramienta
planteada es necesario entender la estructura del Metatesauro
UMLS, por lo que en esta primera etapa se realiza un análisis en
profundidad de su estructura y características.
2. Instalación UMLS y uso local: En esta etapa del proyecto se
describe el proceso de instalación del Metatesauro a nivel local
para
poder
trabajar
con
su
información
a
nivel
local
estructurada en una base de datos. Esta base de datos sirve de
apoyo al sistema de acceso para la comparación de resultados
obtenidos y como referencia para la navegación por la
estructura del Metatesauro.
3. Sistema de acceso a UMLS: Esta etapa supone la última fase en
el desarrollo del proyecto y constituye el núcleo del mismo. En
ella se analiza la API proporcionada por el UTS1 como
herramienta de acceso al conocimiento recogido en el conjunto
de recursos relacionados con el Metatesauro y se desarrolla el
sistema planteado para la estructuración, representación y
visualización de dicha información.
Tecnologías y herramientas empleadas
En la realización del proyecto se han utilizado las siguientes
herramientas informáticas.
•
Eclipse para
la
programación de la aplicación en Java,
destacando el uso de las siguientes librerías
◦ Java Universal Network/Graph Framework (JUNG) 2.0 para la
representación, visualización y manejo de grafos.
◦ UTS API 2.0 para las llamadas de la aplicación a la API de
UMLS.
1
•
MySQL 5.6 como BBDD para el Metatesauro de UMLS.
•
HeidiSQL como gestor de la BBDD.
UMLS Terminology Services
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
•
LibreOffice 4.2
•
Linux 3.10.40-1-MANJARO 64 bits
Resultados
Los casos de estudio planteados se han construido sobre dos
conceptos de entre toda la información contenida dentro del UMLS. Se
ha intentado que los conceptos seleccionados difieran en complejidad
en cuanto a las relaciones con otros conceptos del Metatesauro.
Los resultados se exponen tanto en forma de grafos como en forma
de informes donde la información mostrada es mucho mas detallada.
En la imagen superior se puede ver un grafo generado por el sistema
que representa las relaciones entre varios conceptos dentro del
Metatesauro. La representación de la información es original y clara, y
adicionalmente es posible navegar por el grafo y realizar el zoom
deseado dentro de la aplicación.
Para complementar la información del grafo también se han generado
informes de los resultados obtenidos con el objeto de analizar en mas
detalle la información representada.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
A continuación se puede ver un ejemplo de informe:
RELACIONES
PARA
EL
CONCEPTO
C0020179-Huntington
Disease,
Niveles: 1, Tipos: PAR-CHD, Fuente: ALL
NR | CO
|
ND
|
CD
|
TR | F
----------------------------------------------------------------------------------------------------------------
1-0-C0020179-Motion
and
Coordination
Diseases
and
Syndromes-1-
C0553607-CHD-SNM
Conclusiones
Se ha conseguido desarrollar un sistema que permite generar grafos e
informes mediante un buen sistema de filtrado que permite la
visualización de información muy compleja, de una manera original y
práctica dentro del mundo de la biomedicina.
El sistema supone una alternativa y sus características permiten una
mejora grande de eficacia respecto a otros métodos de acceso y
visualización de la información de UMLS.
Referencias
[BODE04]
Bodenreider, O. (2004). The unified medical language
system (UMLS): integrating biomedical
terminology. Nucleic acids research, 32(suppl 1), D267D270.
[LIND93]
Lindberg, D. A., Humphreys, B. L., & McCray, A. T.
(1993). The Unified Medical Language System. Methods
of information in medicine, 32(4), 281-291.
[HUMP93]
Humphreys, B. L., & Lindberg, D. A. (1993). The UMLS
project: making the conceptual connection between
users and the information they need. Bulletin of the
Medical Library Association, 81(2), 170.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
SYSTEM FOR ACCESS, GRAPH REPRESENTATION AND
GENERATION OF UMLS REPORTS
Author: Anta Díaz, Daniel.
Director: Alonso Martínez, Israel.
Affiliation: ICAI – Universidad Pontificia Comillas
ABSTRACT
Introduction
The Unified Medical Language System, or UMLS, gathers a set of files
and software related with the biomedicine world that enables the
interaction between multiple terminology services.
UMLS access methods are limited and can be tough to use for users
that are not used to work with big amounts of information.
This project aims to make an aproach to the UMLS structure as a
source of medical knowledge, and it proposes a system able to
extract informacion from the Metathesaurus in a more user friendly
way, adicionally, it structures said informaction for its representation
in the form of graphs, so that it improves its visualization.
The system has been developed for the threatment of UMLS concept
relations exclusively, and the graphs are their visual representation.
To help understand the graphs information, the system also permits
the generation of reports consisting of the same information
represented in the graph but on a more detailed level.
Stages of resolution
To archieve the proposed objectives the project has been divided in
the following steps:
4. State of the UMLS: A requirement to able to work with the
proposed tool is the understanding of the UMLS Metathesaurus
structure. Thus in this step an in depth analysis of the UMLS
structure and characteristics is performed.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
5. UMLS Instalation and local use: This step of the project
describes the installation process of the Metathesaurus to be
able to work with its information on a local database. This
database
serves
to
support
the access
system for
the
comparison of results obtained and as a reference for the
navigation of the metathesaurus structure.
6. UMLS access system: This stage represents the final and core
stage in the development of the project. In it, the UTS1 API is
analyzed, as it represents and access tool to the knowledge
gathered in the Metathesaurus sources, and the proposed
system for the structuring, representation and visualization of
said information is developed.
Technologies and tools
The following tools have been used:
•
Eclipse for the coding of the application, highlighting the
following libreries:
◦ Java Universal Network/Graph Framework (JUNG) 2.0 for the
representation, visualization, and management of graphs.
◦ UTS API 2.0
•
MySQL 5.6
•
HeidiSQL
•
LibreOffice 4.2
•
Linux 3.10.40-1-MANJARO 64 bits
Results
The proposed case studies have been built up around two conceps
from all the information that forms the UMLS. This concepts have
been carefully selected so that they differ in complexity in terms of
relations with other concepts in the Metathesaurus.
1
UMLS Terminology Services
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
The results are displayed in the form of graphs and reports where the
information is showed in more detail.
In the image above a graph generated by the application showing the
different relation between conecepts from the UMLS can be seen. The
representation of the information is shown in an original and clear
way, and its possible to navigate through the graph, aswell as to
zoom in and out in the application.
To complement the information on the graph, reports of the results
obtained are also generated in order to analyze in more detail the
information represented.
Below you can see a sample report:
RELATIONS FOR THE CONCEPT C0020179-Huntington Disease, Levels:
1, Types: PAR-CHD, Source: ALL
NR | CO
|
ND
|
CD
|
TR | F
----------------------------------------------------------------------------------------------------------------
1-0-C0020179-Motion
C0553607-CHD-SNM
Conclusions
and
Coordination
Diseases
and
Syndromes-1-
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
The application proposed has succeded in the generation of graphs
and reports using a good filtration system that allows the visualiation
of complex information in an original and practical way in the world of
biomedicine.
The system provides an alternative and its features allow a large
improvement in effectiveness compared to other methods of access
and visualization of the UMLS information.
References
[BODE04]
Bodenreider, O. (2004). The unified medical language
system
(UMLS):
integrating
biomedical
terminology. Nucleic acids research, 32(suppl 1), D267D270.
[LIND93]
Lindberg, D. A., Humphreys, B. L., & McCray, A. T.
(1993). The Unified Medical Language System. Methods
of information in medicine, 32(4), 281-291.
[HUMP93]
Humphreys, B. L., & Lindberg, D. A. (1993). The UMLS
project: making the conceptual connection between
users and the information they need. Bulletin of the
Medical Library Association, 81(2), 170.
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
Índice de la Memoria
1 Introducción .......................................................................... 1
1.1 Motivación del proyecto ............................................................. 1
1.2 Objetivos ................................................................................... 1
1.3 Metodología/Solución desarrollada ............................................. 2
1.4 Herramientas empleadas ............................................................ 3
2 Etapas de la resolución .......................................................... 5
2.1 Estado del UMLS ........................................................................ 5
2.1.1 Introducción ........................................................................................................ 5
2.1.2 Definición y características de UMLS ................................................................... 6
2.1.3 Estructura y Accesibilidad ................................................................................... 8
2.2 Proceso de Instalación UMLS y uso local .................................... 37
2.2.1 Instalación de MySQL ........................................................................................ 37
2.2.2 Instalación de UMLS .......................................................................................... 38
2.2.3 Carga de la Base de Datos ................................................................................ 43
2.3 Sistema de acceso a UMLS Terminology Services ....................... 45
2.3.1 Introducción ...................................................................................................... 45
2.3.2 Acerca de UTS API 2.0 ....................................................................................... 45
2.3.3 Conexión y llamadas a la API ............................................................................. 54
2.3.4 Descripción del sistema y funcionalidad ............................................................ 56
2.3.5 Modelado del sistema (Diagrama UML) ............................................................. 69
2.3.6 Java Universal Network/Graph Framework (JUNG) ............................................. 76
2.3.7 Descripción de la representación gráfica ........................................................... 77
2.3.8 Descripción de la generación de informes ......................................................... 83
3 Casos de estudio/Resultados ................................................. 87
3.1 Primer caso de estudio ............................................................. 88
3.1.1 C0020179, CHD-PAR, Todos los recursos, 1 salto. .............................................. 88
3.1.2 C0020179, CHD-PAR, Todos los recursos, 2 saltos ............................................. 90
3.1.3 C0020179,RB-RN, Todos los recursos, 1 salto .................................................... 92
I
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
3.1.4 Consulta SQL para concepto C0020179, RB-RN ................................................ 94
3.2 Segundo caso de estudio .......................................................... 95
3.2.1 C0018787, CHD-PAR, Todos los recursos, 1 salto. .............................................. 95
3.2.2 C0018787, CHD-PAR, SNMI, 2 saltos, 5 relaciones máx. .................................... 99
3.2.3 C0018787, CHD-PAR, SNMI, 3 saltos, 5 relaciones máx. .................................. 102
3.2.4 C0018787, CHD-PAR, SNMI, 4 saltos, 5 relaciones máx. .................................. 106
3.2.5 Consulta SQL para concepto C0018787, CHD-PAR .......................................... 111
4 Conclusiones ...................................................................... 113
5 Futuros Desarrollos ............................................................ 115
6 Bibliografía ........................................................................ 117
II
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
Índice de Tablas
Tabla 1: Tipos de relaciones...............................................................................12
Tabla 2: Estructura tabla MRCON.......................................................................16
Tabla 3: Estructura tabla MRSO.........................................................................17
Tabla 4: Estructura tabla MRCUI........................................................................18
Tabla 5: Estructura tabla MRRANK.....................................................................18
Tabla 6: Estructura tabla MRREL........................................................................20
Tabla 7: Estructura tabla MRMAP.......................................................................22
Tabla 8: Estructura tabla MRDOC.......................................................................23
Tabla 9: Consulta sobre la tabla MRCONSO.......................................................25
Tabla 10: Consulta sobre la tabla MRCUI...........................................................27
Tabla 11: Consulta sobre la tabla MRCONSO.....................................................31
Tabla 12: Consulta sobre la tabla MRRANK........................................................32
Tabla 13: Consulta sobre tabla MRREL...............................................................34
Tabla 14: Consulta sobre la tabla MRRMAP........................................................36
Tabla 15: Consulta sobre la tabla MRDOC..........................................................36
Tabla 16: Consulta SQL concepto C0020179.....................................................95
Tabla 17: Consulta SQL concepto C0018787...................................................112
III
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
IV
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
Índice de Figuras
Figura 1: Recursos del UMLS................................................................................7
Figura 2: Componentes del UMLS........................................................................9
Figura 3: Ejemplo relaciones entre conceptos del Metatesauro.........................30
Figura 4: Interfaz bienvenida MetamorphoSys..................................................39
Figura 5: Especificaciones directorios y componentes UMLS.............................40
Figura 6: Niveles de subconjuntos del Metatesauro..........................................41
Figura 7: Opciones de salida de la instalación...................................................42
Figura 8: Instalación en proceso........................................................................43
Figura 9: Interfaz principal del sistema..............................................................57
Figura 10: Selección fuentes destino en la interfaz...........................................58
Figura 11: Búsqueda por CUI.............................................................................59
Figura 12: Resultado búsqueda por CUI.............................................................62
Figura 13: Ejemplo recorrido profundidad..........................................................68
Figura 14: Clase Main........................................................................................69
Figura 15: Clase Interfaz....................................................................................70
Figura 16: Clase ClienteRecursivo.....................................................................71
Figura 17: Clase Acceso.....................................................................................72
Figura 18: Clase GestorGrafos...........................................................................73
Figura 19: Clase Resultado................................................................................73
Figura 20: Clase Nodo........................................................................................74
Figura 21: Clase Concepto.................................................................................75
Figura 22: Relaciones clases del sistema...........................................................76
Figura 23: Estructura tipo FRLayout..................................................................81
V
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Índice
Figura 24: Estructura tipo CircularLayout..........................................................82
Figura 25: Relaciones 1 nivel CHD-PAR concepto C0020179.............................89
Figura 26: Relaciones 1 nivel CHD-PAR concepto C0020179.............................90
Figura 27: Relaciones 1 salto RB-RN concepto C0020179.................................93
Figura 28: Relaciones 1 salto CHD-PAR concepto C0018787.............................96
Figura 29: Relaciones 2 saltos CHD-PAR concepto C0018787.........................100
Figura 30: Ejemplo generación de grafo poco filtrado.....................................102
Figura 31: Relaciones 3 saltos CHD-PAR concepto C0018787.........................103
Figura 32: Relaciones 4 saltos CHD-PAR concepto C0018787.........................107
VI
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Introducción
1 INTRODUCCIÓN
1.1 Motivación del proyecto
Debido a las grandes cantidades de información que se manejan en la
actualidad, el análisis de la misma en el ámbito de trabajo correspondiente, así
como su estructuración y representación de una manera clara forman parte de
cualquier proyecto a día de hoy.
En dicha linea de trabajo, la motivación del proyecto ha sido el estudio del
UMLS como fuente de conocimiento médico, de su estructura y diseño interno,
ademas de la manipulación de dicha información mediante el Sistema de
acceso, representación gráfica, y generado de informes de UMLS propuesto.
1.2 Objetivos
El proyecto tiene, como primer objetivo el análisis del Metatesauro UMLS como
fuente de conocimiento medico, sus orígenes y como surgió como proyecto,
junto con su estructura y partes de la que esta compuesto.
Seguidamente se ha realizado la programación de una aplicación en Java
usando la API proporcionada por UMLS para la extracción y filtrado de la
información del Metatesauro. Dicha información se presenta en forma de grafos
para facilitar la visualización de la misma, entender las relaciones entre
conceptos de dicha información y proporcionar un punto de vista alternativo y
original.
Adicionalmente las consultas realizadas por la aplicación son comparadas con
los resultados de peticiones realizadas a nivel local sobre la base de datos de
UMLS en SQL.
1
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Introducción
Dicha aplicación además de la presentación gráfica, busca el acceso a
múltiples niveles de información, acceso a diversos recursos, y un filtrado
sencillo para el usuario pero a la vez complejo con respecto a la generación de
grafos.
Las conclusiones y resultados obtenidos en cuanto a la información extraída
mediante la aplicación, y el comportamiento de la misma serán los evaluadores
de la ventaja real de usar la API proporcionada.
1.3 Metodología/Solución desarrollada
Para la consecución de los objetivos planteados anteriormente se ha
estructurado el proyecto de la siguiente manera.
En el capítulo 2, se desarrollan los dos objetivos principales que forman la
columna principal del proyecto y que juntos conforman y dan vida a la
aplicación desarrollada y ademas permiten un análisis y evaluación de los
resultados obtenidos por la misma.
En primer lugar, en el apartado 2.1 se describe y analiza el Metatesauro Unified
Medical Language System (UMLS) que constituye los cimientos del proyecto y
sirve como base para los desarrollos posteriores. Se profundiza en sus orígenes
y como surgió como proyecto, además de la estructura del mismo y sus
características.
A continuación, en el apartado 2.2 se analiza el Sistema de acceso a los
servicios de UMLS planteado en este proyecto, estudiando la API como
herramienta de acceso al conocimiento recogido en el conjunto de recursos
relacionados en el Metatesauro, para su estructuración, tratamiento y
representación visual, y así permitir una mejor interpretación y visualización de
las relaciones entre conceptos de dicho Metatesauro.
Para esta interpretación y visualizado de la información extraída previamente
de una manera alternativa e interactiva se ha plantea un sistema de
visualización gráfico mediante grafos, así como la posibilidad de extracción de
2
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Introducción
informes en ficheros de texto que permiten un mayor nivel de detalle en la
información.
1.4 Herramientas empleadas
En la realización del proyecto se han utilizado las siguientes herramientas
informáticas.
•
Eclipse para la programación de la aplicación en Java, destacando el uso
de las siguientes librerías
◦ Java
Universal
Network/Graph
Framework
(JUNG)
2.0
para
representación y visualización y manejo de grafos.
◦ UTS API 2.0 para las llamadas de la aplicación a la API de UMLS.
•
MySQL 5.6 como BBDD para el metatesauro de UMLS.
•
HeidiSQL como gestor de la BBDD.
•
LibreOffice 4.2
•
Linux 3.10.40-1-MANJARO 64 bits
3
la
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Introducción
4
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
2 ETAPAS DE LA RESOLUCIÓN
2.1 Estado del UMLS
2.1.1 Introducción
Desde su creación, el proyecto UMLS ha sido dirigido por un equipo formado
por personal de la Biblioteca Nacional de Medicina estadounidense (NLM),
financiado mediante proyectos de investigación y desarrollado por grupos de
trabajo relacionados con el mundo de la biomedicina, universidades e incluso
alguna empresa privada y aconsejado tanto al principio como en la actualidad
por un amplio número de usuarios de los productos que ofrece el UMLS.
En las primeras fases del proyecto, en torno al 1986 y 1988, el énfasis estaba
en asegurar las necesidades básicas, definiendo los componentes que se iban
a necesitar para tener una versión inicial y totalmente funcional de UMLS.
Desde el 1989 al 1991 la prioridad cambio a un desarrollo y distribución mucho
mas rápidos de las tres primeras versiones de los recursos del UMLS, aunque
no se abandonó el desarrollo de prototipos para probar la funcionalidad del
mismo. El objetivo era la integración de una una serie de recursos
independientes como fuente de conocimiento, junto con los pasos necesarios
para alcanzar unas prestaciones finales deseadas y poder así ponerlas en
manos de una seria de desarrolladores de sistemas lo antes posible.
Finalmente, el NLM publico la primera versión experimental de los recursos del
UMLS a finales de 1990 y mas tarde publicó unas ediciones actualizadas en
1991 y 1992.
En 1992 el proyecto entró en su tercera y ultima fase. El objetivo principal para
el periodo de 1992-1994 era el desarrollo de una variedad de aplicaciones que
5
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
se fundamentarán en la información disponible en los recursos del UMLS. Otro
objetivo principal es el desarrollo de sistemas de producción robustos para la
creación y actualización de los recursos del UMLS, la publicación de versiones
anuales de sus recursos con actualizaciones y mejoras que reflejan el feedback
recibido de aquellos que se encuentran desarrollando las aplicaciones. Se
buscaba adicionalmente el desarrollo de políticas y procedimientos para la
distribución rutinaria de los recursos según salen de la fase experimental y
entran en producción y por último definir y desarrollar aplicaciones del UMLS
útiles, de nuevo basadas en el feedback de aquellos que usan los recursos del
UMLS.
En la actualidad aunque el enfoque de los esfuerzos en el desarrollo de
aplicaciones útiles para el UMLS se encuentra distribuido, los recursos del
UMLS se desarrollan de manera centralizada. El NLM dirige la creación,
mantenimiento y distribución de los recursos, con la ayuda de las entidades
involucradas en los múltiples contratos de los que dispone [BLHU93].
2.1.2 Definición y características de UMLS
UMLS, o Unified Medical Language System, es un conjunto de recursos software
y de información del dominio diseñado y mantenido por el NLM que reúne
estándares y vocabulario relacionado con el mundo de la biomedicina para así
habilitar la interacción entre los diversos sistemas de terminología.
Debido a que el número de recursos biomédicos existentes en la actualidad y
disponibles para los desarrolladores es enorme, el volumen de documentos
consultados dentro de la literatura medica es consecuentemente muy grande.
6
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Figura 1: Recursos del UMLS
El objetivo del UMLS es reflejar la totalidad del conocimiento biomédico sobre
una ontología formada por la relación e integración de la mayoría de los
recursos existentes (ver Figura 1: Recursos del UMLS), facilitando el desarrollo
de SI (Sistemas de Información) y TIC (Tecnologías de Información y
comunicaciones), que permitan ser usadas como herramientas de apoyo en el
procesamiento del lenguaje natural, recuperación de información, clustering de
documentos, etc... Todo ello dentro del ámbito biomédico. Esto se consigue
solventando dos problemas principales;
•
La variedad de maneras en las que los mismos conceptos son expresados
por diferentes fuentes de información.
•
Integración de las diferentes fuentes de información o recursos
•
La distribución de la información útil a lo largo de los diferentes sistemas
y bases de datos
7
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
De manera concisa y resumida los dos grandes problemas anteriores se
podrían plantear de la siguiente manera;
•
Disparidades en el lenguaje
•
Disparidades en la granularidad y la perspectiva
•
Problemas en las asignaciones y la agregación de la información en los SI
UMLS tiene muchos usos, pero principalmente es usado para desarrollar o
mejorar aplicaciones, como por ejemplo;
•
Acceso y extracción de información
•
Procesamiento del lenguaje natural
•
Indexado automático y herramientas de clasificación
•
Archivos médicos electrónicos
Sin embargo es importante resaltar que UMLS no es una aplicación de cara al
usuario final, sino que, como ya se ha comentado anteriormente es un conjunto
de recursos software y de información del dominio descritos mas adelante y
que se ponen a disposición del usuario para la consecución de los objetivos
descritos previamente.
2.1.3 Estructura y Accesibilidad
La estructura básica del UMLS consiste de 3 fuentes de conocimiento como se
puede ver en la Figura 2: Componentes del UMLS;
•
Metatesauro
•
Red Semántica
•
Herramientas del procesado del lenguaje
8
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Figura 2: Componentes del UMLS
Estos componentes, (fuentes de conocimiento), pueden ser usados de manera
conjunta o por separado, según las necesidades del usuario y están disponibles
de la siguiente manera;
•
Archivos de datos accesibles a través de los sistemas de información
(tablas relacionales)
◦ Registros (Filas)
◦ Campos (Columnas)
•
Aplicaciones
◦ MetamorphoSys (instalación y personalización)
◦ RRF Browser (Vista)
◦ lvg (Programas léxicos)
Metatesauro
El Metatesauro es una superontología medica muy extenso, multilingue y
multifuncional que contiene información acerca de conceptos biomédicos
relacionados con el mundo de la salud, junto con sus respectivos nombres y
relaciones entre ellos.
9
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Diseñado para ser usado por desarrolladores de sistemas, el Metatesauro esta
construido a partir de versiones electrónicas de varios tesauros, clasificaciones,
sets de códigos, y listas de términos usados en la atención a pacientes,
facturación de servicios médicos , estadísticas medicas públicas, indexado y
catalogado de literatura medica e investigación medica básica. El uso de los
recursos de información varía en función de su uso, estructura y propiedades.
Algunas de las fuentes disponibles por ejemplo son:
•
MeSH: Vocabulario terminológico controlado para publicaciones de
artículos y libros de ciencia.
•
ICD9: Códigos para la clasificación de enfermedades.
•
CPT: Códigos de servicios medios, quirúrgicos y de diagnóstico
•
SNOMED-CT: Sistemas de codificación dentro de la terminología clínica.
La lista completa es muy extensa [SOUR14] y contiene información adicional
además de los recursos, como el número de conceptos que están presentes en
el Metatesauro, el tipo de jerarquías o de contextos (si tienen), y también si
forma parte de alguno de las fuentes de vocabulario de menor tamaño que no
se suelen actualizar de manera habitual dentro del Metatesauro.
Recursos
La lista de los recursos que el Metatesauro pone a disposición del usuario es
muy extensa, como se ha visto anteriormente, e incluye terminologías
diseñadas para su uso en sistemas que almacenan historias clínicas, gran
cantidad de clasificaciones de enfermedades y procedimientos utilizados para
la presentación de informes estadísticos y facturación, vocabularios muy
concretos utilizados para el registro de datos relacionados con la psiquiatría,
enfermería, dispositivos médicos, etc.
Dentro del Metatesauro los conceptos pertenecientes a todas las fuentes de
conocimiento vistas anteriormente se relacionan entre ellos. Dichas relaciones
10
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
se clasifican de una manera mas consistente dentro del la Red Semántica del
UMLS.
Dentro de la estructura de la Red Semántica, a muchos conceptos se le asigna
un tipo de relación semántica, lo que hace que cada uno tenga una posición
dentro de una jerarquía y puedan establecerse relaciones semánticas entre
estos tipos. Cada uno de los nodos pertenecientes a dicha jerarquía, que
disponen de un tipo de relación (REL) están conectados con un vinculo (RELA).
Para su uso dentro del proyecto se han seleccionado dos relaciones jerárquicas
directas (PAR/CHD), y dos relaciones jerárquicas indirectas (RB/RN), no
obstante existen más relaciones dentro del Metatesauro representadas en la
siguiente tabla.
11
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
REL (Relación)
AQ
Calificador permitido
CHD
Tiene una relación de tipo hijo dentro de la fuente de vocabulario del Metatesauro
DEL
Concepto eliminado
PAR
Tiene una relación de tipo padre dentro de la fuente de vocabulario del Metatesauro
QB
Puede ser calificado por
RB
Tiene una relación extensa
RL
Las relaciones y los conceptos son similares o parecidas. EN la edición actual del
Metatesauro, la mayoría de las relaciones con este atributo son asignaciones
proporcionadas por un recurso denominado SAB y SL. Es por ello que conceptos
unidos por este tipo de relación puedan ser sinónimos (CUI1 = CUI2). En versiones
anteriores algunos conceptos suplementarios del MeSH se representaban de esta
manera
RN
Tiene una relación estrecha
RO
Tiene otra relación distinta de estrecha, extensa o de sinonimia
RQ
Relacionada posiblemente sinónima
RU
Relacionada, sin especificar
SIB
Tiene una relación descendiente en una fuente de vocabulario del Metatesauro.
SY
Fuente confirmada de sinonimia.
XR
No relacionada, sin asignación
Relación vacía
Tabla 1: Tipos de relaciones
Adicionalmente el conjunto de relaciones no jerárquicas se agrupan en cinco
grandes categorías:
•
físicamente relacionadas
12
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
•
espacialmente relacionadas
•
temporalmente relacionadas
•
funcionalmente relacionadas
•
conceptualmente relacionadas
Estructura del Metatesauro
La estructura interna del metatesauro en cuanto a tablas sobre las que se
organiza se presenta en dos formatos distintos sobre los que se puede elegir.
Como primer formato se encuentra el Rich Release Format (RRF), introducido
en el año 2004, mientras que por otro lado se encuentra el
Original
Release
format (ORF). Ambos se encuentran disponibles como una opción de salida
dentro de la configuración de la instalación del MetamorphoSys que se verá
mas a delante dentro del punto 2.2 Proceso de Instalación UMLS y uso local.
Las estructura de las tablas que se analizan a continuación son las usadas mas
adelante para la extracción de ejemplos, y el formato seleccionado para dicho
análisis ha sido el RRF. Este formato es el recomendado para desarrolladores
debido a que ofrece ventajas considerables en cuanto a la transparencia de las
fuentes de conocimiento, habilidad para generar conjuntos de cambios precisos
entre versiones diferentes del Metatesauro, y en representaciones mejor
adaptadas a los nombres de concepto, fuentes de vocabulario, e información
contextual de las jerarquías involucradas.
Toda la información del Metatesauro puede ser representada en 20 tablas de
diversas características que es posible agrupar en 5 grupos según el contenido.
•
Conceptos, Nombres de concepto, fuentes – MRCONSO.RRF
•
Atributos - MRSAT.RRF, MRDEF.RRF, MRSTY.RRF, MRHIST.RRF
•
Relaciones
-
MRREL.RRF,
MRCOC.RRF,
MRMAP.RRF, MRSMAP.RRF
13
MRCXT.RRF,
MRHIER.RRF,
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
•
Información
acerca
del
Metatesauro
-
MRFILES.RRF,
MRCOLS.RRF,
MRDOC.RRF, MRRANK.RRF, MRSAB.RRF, AMBIGLUI.RRF, AMBIGSUI.RRF,
CHANGE/MERGEDCUI.RRF,
CHANGE/MERGEDLUI.RRF,
CHANGE/DELETEDCUI.RRF,
CHANGE/DELETEDLUI.RRF,
CHANGE/DELETEDSUI.RRF, MRCUI.RRF
•
Índices
-
MRXW_BAQ.RRF,
MRXW_DAN.RRF,
MRXW_DUT.RRF,
MRXW_ENG.RRF,
MRXW_FIN.RRF,
MRXW_FRE.RRF,
MRXW_GER.RRF,
MRXW_HEB.RRF,
MRXW_HUN.RRF,
MRXW_ITA.RRF,
MRXW_NOR.RRF,
MRXW_POR.RRF,
MRXW_RUS.RRF,
MRXW_SPA.RRF,
MRXW_SWE.RRF,
MRXNW_ENG.RRF, MRXNS_ENG.RRF
Cada tabla tiene por definición un número fijo de columnas y el número de filas
depende de la versión del Metatesauro en la que se encuentre.
Una columna, por lo tanto, contiene una secuencia de todos los valores para un
valor concreto. En general, las columnas de elementos de mayor tamaño
aparecerán a la derecha de columnas de
elementos
de
una
longitud
fija
inferior.
En el caso de las filas, cada una de ellas contiene los valores para una o varias
entradas en el Metatesauro. Dependiendo de la naturaleza de los datos con los
que se trabaje, cada entrada en el Metatesauro puede tener una o mas de una
fila en la tabla correspondiente.
Como se ha comentado anteriormente se van a analizar a continuación las
estructuras de las tablas usadas para la extracción de ejemplos en los
siguientes apartados.
Nombres de concepto y fuentes - MRCONSO
MRCONSO contiene exactamente una fila por cada átomo (cada ocurrencia de
una cadena de caracteres única o nombre de concepto dentro de cada fuente
de vocabulario) dentro del Metatesauro. Cada cadena de caracteres o nombre
14
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
de concepto dentro del Metatesauro aparece en este fichero, conectado con su
idioma correspondiente, fuente de vocabulario e identificador de concepto.
Aunque en el formato RRF la información se estructura en un único fichero,
dicha información resulta de la unión de dos tablas que vienen del formato
ORF, MRSO y MRCON.
15
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Columna
Descripción
CUI
Identificador único de concepto
LAT
Idioma del término
TS
Estado del término
LUI
Identificador único del término
STT
Tipo de cadena de caracteres
SUI
Identificador único para la cadena
ISPREF
Estado del átomo, preferido (Y) o no (N) para la cadena dentro del concepto
AUI
Identificador único para el átomo, longitud del capo para la variable de 8 a 9
caracteres
SAUI
Fuente confirmada del identificador del átomo
SCUI
Fuente confirmada del identificador del concepto
SDUI
Fuente confirmada del identificador del descriptor
SAB
Nombre abreviado de la fuente de conocimiento
TTY
Abreviación para el tipo de termino dentro de la fuente de conocimiento
CODE
Identificador único o código para la cadena de caracteres en dicha fuente
STR
Cadena
SRL
Nivel de restricción de la fuente.
SUPPRESS
Tipo de fuente y termino (SAB/TTY) recomendado por la NLM. Toma valores
positivos o negativos.
CVF
Bandera de visualización del contenido
Tabla 2: Estructura tabla MRCON
16
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Columna
Descripción
CUI
Identificador único de concepto
LUI
Identificador único de término
SUI
Identificador único para la cadena
SAB
Nombre abreviado de la fuente de conocimiento
TTY
Abreviación para el tipo de termino dentro de la fuente de conocimiento
CODE
Identificador único o código para la cadena de caracteres en dicha fuente
SRL
Nivel de restricción de la fuente
Tabla 3: Estructura tabla MRSO
Se ve claramente como en ambas tablas hay campos repetidos que se juntan
una vez que forman una tabla única en el formato RRF
Identificadores de concepto únicos retirados – MRCUI
Contiene una o varias filas para cada identificador único de concepto (CUI) que
existía en alguna versión anterior pero no se encuentra presente en la versión
actual. Adicionalmente esta tabla contiene entradas para CUIs con una relación
de sinonimia y que han sido eliminados de Metatesauro porque contienen
información repetida el significar lo mismo.
17
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Columna
Descripción
CUI1
Identificador único para el concepto retirado
VER
Ultima versión en la que el CUI1 era un CUI valido
REL
Relación
RELA
Atributo de la relación
MAPREASON
Motivo de la asignación
CUI2
Identificador único para el segundo concepto, sirve de concepto actual y es el
mas similar al CUI1
MAPIN
Toma los valores positivo, negativo o nulo en función de si la asignación se
encuentra en el conjunto actual
Tabla 4: Estructura tabla MRCUI
Ranking de nombres de concepto – MRRANK
Contiene una fila por cada tipo de nombre de concepto en cada una de las
fuentes de vocabulario, es decir las combinaciones de SAB-TTY.
Columna
Descripción
RANK
Orden de precedencia numérico, mayor según el valor numérico
SAB
Nombre abreviado de la fuente de conocimiento
TTY
Abreviación para el tipo de termino dentro de la fuente de conocimiento
SUPPRESS
Tipo de fuente y termino (SAB/TTY) recomendado por la NLM. Toma
valores positivos o negativos
Tabla 5: Estructura tabla MRRANK
18
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Conceptos relacionados – MRREL
Contiene una fila por cada relación entre conceptos o átomos existentes dentro
del Metatesauro.
Nótese que para las relaciones asimétricas hay una fila por cada dirección de la
relación. Dicha relación se representa sabiendo que el segundo concepto
relacionado viene dado por su identificador único de concepto CUI2, e
identificador único del átomo AUI2, mientras que el primer concepto de la
relación viene dado por CUI1 y AUI1.
19
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Columna
Descripción
CUI1
Identificador único para el primer concepto
AUI1
Identificador único para el primer átomo
STYPE1
Nombre de la columna en MRCONSO que contiene el identificador usado
para el primer átomo o concepto en la fuente de conocimiento
REL
Relación entre ambos conceptos o átomos
CUI2
Identificador único para el segundo concepto
AUI2
Identificador único para el segundo átomo
STYPE2
Nombre de la columna en MRCONSO que contiene el identificador usado
para el segundo átomo o concepto en la fuente de conocimiento
RELA
Etiqueta mas especifica de la relación (Opcional)
RUI
Identificador único de la relación
SRUI
Identificación de la fuente confirmada para la relación, si existe
SAB
Nombre abreviado de la fuente de conocimiento
SL
Fuente de las etiquetas de la relación
RG
Grupo de la relación. Usado para indicar que un conjunto de relaciones debe
ser analizado en su conjunto
DIR
Bandera de la dirección de la fuente confirmada
SUPPRESS
Tipo de fuente y termino (SAB/TTY) recomendado por la NLM
CVF
Bandera de visualización del contenido
Tabla 6: Estructura tabla MRREL
Asignaciones – MRMAP
Contiene los conjuntos de asignaciones entre los diferentes vocabularios.
20
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Columna
Descripción
MAPSETCUI
Identificador único para el concepto UMLS que representa el conjunto
MAPSETSAB
Abreviación de la fuente (SAB) del conjunto
MAPSUBSETID
Identificador único del conjunto
MAPRANK
Orden en el que se aplican las asignaciones del conjunto
MAPID
Identificación única del conjunto de las asignaciones
MAPSID
Identificación de la fuente del conjunto de asignaciones
FROMID
Identificación de la entidad que esta siendo asignada
FROMSID
Fuente de la entidad objeto de la asignación
FROMEXPR
Entidad objeto de la asignación
FROMTYPE
Tipo de la entidad objeto de la asignación
FROMRULE
Regla aplicable a entidad objeto de la asignación
FROMRES
Restricción aplicable a la entidad objeto de la asignación
REL
Relación de la entidad objeto de la asignación a la entidad destino
RELA
Etiqueta adicional de la relación
TOID
Identificación de la entidad destino de la asignación
TOSID
Fuente de la entidad destino de la asignación
TOEXPR
Entidad destino de la asignación
TOTYPE
Tipo de la entidad destino de la asignación
TORULE
Regla aplicable a entidad destino de la asignación
TORES
Restricción aplicable a la entidad destino de la asignación
MAPRULE
Regla aplicable a la asignación
MAPRES
Restricción aplicable a la asignación
MAPTYPE
Tipo de asignación
21
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
MAPATN
Nombre del atributo asociado a esta asignación
MAPATV
Valor del atributo asociado a esta asignación
CVF
Bandera de visualización del contenido
Tabla 7: Estructura tabla MRMAP
22
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Documentación para valores de las abreviaciones - MRDOC
Esta
tabla
contiene
exactamente
una
fila
para
atributos
o
valores
seleccionados que tienen un número finito de abreviaciones.
Columna
Descripción
DOCKEY
Elemento de información o atributo
VALUE
Abreviación que es uno de sus valores
TYPE
Tipo de información
EXPL
Explicación del valor
Tabla 8: Estructura tabla MRDOC
A continuación se repasa la estructura sobre la que se soporta la información
que contiene el Metatesauro para poder entender mas adelante como se ha
trabajado con ella. Nótese que la mayoría de los extractos de información
seleccionados como ejemplos provienen de sentencias SQL ejecutadas sobre la
BBDD que se describe en detalle en el punto 2.1.3 Estructura y Accesibilidad.
Adicionalmente los resultados de las consultas seleccionadas como ejemplos
no tienen porque contener todas las columnas de las tablas correspondientes.
Se
han
seleccionado
aquellas
columnas
que
aportan
la
información
considerada oportuna.
Conceptos, Nombres, e Identificadores
El Metatesauro se organiza por conceptos. Uno de los objetivos principales es
relacionar diferentes nombres o cadenas de texto para el mismo concepto
desde diferentes vocabularios. Para lograr esto, se asignan diferentes tipos de
identificadores únicos y permanentes a los diversos conceptos y nombres
23
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
asociados, ademas de conservar todos los identificadores presentes en el
vocabulario fuente.
La estructura del concepto dentro del Metatesauro incluye los nombres de
conceptos, identificadores, y características claves de dichos nombres de
concepto ( como por ejemplo; idioma, fuente de vocabulario, y tipo de
nombre).
A continuación se ve un extracto de la tabla MRCONSO donde se ha escogido el
concepto “headache” o “dolor de cabeza” para ver sus LUIs, AUIs, SAUIs,
fuentes, y nombres por defecto para dichos conceptos.
select CUI,LUI,SUI,AUI,STR from MRCONSO where CUI like 'C0018681' and SAB like'SNOMEDCT_US';
24
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
CUI
LUI
SUI
STR
AUI
C0018681
L2940214
S3622815
A10877604 [D]Headache (context-dependent category)
C0018681
L2940213
S3623091
A10877836 [D]Pain in head NOS (context-dependent category)
C0018681
L6092782
S6996369
A22802294 [D]Headache (situation)
C0018681
L0805032
S1065595
A22818109 [D]Headache
C0018681
L0018681
S0046854
A22825519 Headache
C0018681
L0805031
S1065821
A22857719 [D]Pain in head NOS
C0018681
L0290365
S0362835
A22857768 Cephalgia
C0018681
L6092781
S6996597
A22890882 [D]Pain in head NOS (situation)
C0018681
L6092782
S6996369
A22918814 [D]Headache (situation)
C0018681
L0805031
S1065821
A22919747 [D]Pain in head NOS
C0018681
L6092781
S6996597
A22925789 [D]Pain in head NOS (situation)
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
L0805031
L0018681
L0805032
L3063036
L0018681
L0290365
L0290361
L0380797
L0306029
L0306029
L1104607
L3063036
L0018681
L0018681
L0805032
L0805031
S1065821
S0046854
S1065595
S3345735
S0046854
S0362835
S0475640
S0475647
S0488524
S0982846
S1325906
S3345735
S0046854
S0377397
S1065595
S1065821
A22951072
A23008486
A23037904
A23040983
A2882197
A2926207
A2957274
A2957278
A2966762
A3180274
A3285152
A3487586
A4712366
A4741591
A4845517
A4845689
[D]Pain in head NOS
Headache
[D]Headache
Headache (finding)
Headache
Cephalgia
Cephalalgia
Cephalodynia
Head pain
Pain in head
HA - Headache
Headache (finding)
Headache
Headache, NOS
[D]Headache
[D]Pain in head NOS
Tabla 9: Consulta sobre la tabla MRCONSO
Como se puede ver en la Tabla 9: Consulta sobre la tabla MRCONSO, una
consulta para el concepto C0018681 nos devuelve los átomos con identificador
(AUI) único asociados a dicho concepto, así somo su nombre por defecto (STR)
etc.. para el concepto seleccionado.
Un concepto es conocimiento, y puede tener muchos nombres diferentes. Un
objetivo
clave
en
la
construcción
del
Metatesauro,
como
ya
se
vio
anteriormente, es entender el significado adecuado para cada nombre dentro
de cada fuente de vocabulario, y relacionarlo con todos los nombres de todas
las fuentes de vocabulario que signifiquen lo mismo (sinónimos). Como se
puede anticipar, no es una ciencia exacta y dicha construcción del Metatesauro
25
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
esta basada en la suposición de que, expertos en la materia pueden
determinar la sinonimia de dichos conceptos con un nivel de precisión muy
alto.
Cada concepto o significado dentro del Metatesauro tiene asociado un
identificador único y permanente (en adelante CUI). Dicho CUI no tiene
significado intrínseco, en otras palabras, no se puede inferir nada de
información de un concepto determinado a partir de su CUI y adicionalmente
un CUI para un determinado concepto nunca cambia, independientemente de
los cambios que se puedan producir sobre él dentro del Metatesauro o de otras
fuentes de vocabulario.
Cuando se descubre que dos CUIs hacen referencia al mismo concepto, es
decir, hay una relación de sinonimia entre ellos, unos de los dos se conserva
junto con toda su información relevante y el otro se retira del Metatesauro.
Los CUIs retirados no se vuelven a utilizar nunca, y cada edición del
Metatesauro contiene ficheros que informan en detalle de los cambios desde la
ultima edición.
Las tabla MRCUI contiene la información de dichos cambios desde 1991 hasta
el presente, y permite consultar CUIs que no están presentes en la edición
actual del Metatesauro.
En esta tabla puede contener una, o mas de una fila para cada CUI que existía
en una versión anterior pero que ya no existe en la actual. Como se puede ver
en la siguiente figura cada fila contiene una relación entre dos conceptos,
indicando los CUIs de ambos conceptos, la versión en la que se encontraba así
como el tipo de relación.
26
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
select * from mrcui LIMIT 17,10;
CUI1
C0000431
C0000445
C0000448
C0000508
C0000535
C0000553
C0000572
C0000600
C0000603
C0000634
VER
2013AB
1996AA
2003AB
1997AA
1997AA
2003AB
1996AA
1997AA
1995AA
1996AA
REL
RB
SY
RO
SY
SY
SY
SY
RB
RO
SY
CUI2
C1140104
C0004235
C0000551
C0020388
C0000534
C0524764
C0003806
C0000551
C0035701
C0282252
MAPIN
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Tabla 10: Consulta sobre la tabla MRCUI
Los motivos de la retirada de conceptos del Metatesauro se indican a
continuación:
1. Se averigua que dos conceptos son sinónimos por lo que el conocimiento
se junta en uno y el otro es retirado.
2. El concepto no aparece en ninguna fuente de vocabulario y los miembros
del NLM deciden no recuperarlo.
3. El concepto se reconoce como un error dentro de una fuente de
vocabulario o simplemente se determina que es un error de producción
en el Metatesauro.
Nombres de Concepto e identificadores de Cadena
Cada nombre de concepto o cadena de caracteres en cada lenguaje dentro del
Metatesauro tiene un identificador de cadena único y permanente (en adelante
SUI). Cualquier variación del conjunto de caracteres, como mayúsculasminúsculas, o puntuación, supondría una cadena de caracteres aparte, con su
correspondiente SUI. Por lo tanto la misma cadena de caracteres en diferentes
lenguajes (Inglés y Español por ej) tendrá un identificador diferente. Si algún
27
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
SUI (por ejemplo, gripe) tiene mas de un significado, el SUI estará asociado a
más de un CUI.
Átomos e identificadores de Átomos
Los bloques básicos o “átomos” con los que el Metatesauro esta construido son
los nombres de conceptos o cadenas de cada unas las fuentes de vocabulario.
A cada una de las ocurrencias de una cadena dentro de una fuente de
vocabulario se le asigna un identificador de átomo (en adelante AUI).
Si la misma cadena de caracteres aparece dos veces dentro del mismo
vocabulario, como por ejemplo el nombre corto y el largo para un mismo
concepto, se le asigna un AUI para cada ocurrencia. Cuando la misma cadena
aparece en múltiples fuentes de vocabulario, tendrá asignada un AUI para cada
vez que aparece como nombre de concepto dentro de cada una de dichas
fuentes.
Todos estos AUIs están conectados con un único SUI, dado que representan
ocurrencias de la misma cadena. A diferencia de los identificadores de
cadenas, un único AUI siempre esta relacionado con un único identificador de
concepto, ya que cada ocurrencia de una cadena dentro de una fuente solo
puede tener un significado.
Términos e identificadores Léxicos
Para entradas que se encuentren en ingles exclusivamente dentro del
Metatesauro, cada cadena esta relacionada con todas las variaciones léxicas
mediante un identificador léxico (en adelante LUI). En el Metatesauro por lo
tanto un “término” en ingles es el grupo de todas las cadenas que son
variaciones unas de otras.
Del la misma manera que los identificadores de cadena, el LUI para una cadena
en inglés puede estar relacionado con mas de un concepto. Esto ocurre cuando
cadenas que son variantes las unas de las otras tiene diferentes significados.
28
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Por contra, cada identificador de cadena y de átomo solo pueden estar
relacionados con un único LUI.
Usos de los Conceptos, Cadenas, Átomos e Identificadores de Términos
En el Metatesauro, cada CUI (concepto) esta relacionado con al menos un AUI
(átomo), SUI (cadena) y LUI (término) , pero también pueden estar conectados
con varios de cada tipo. Todo AUI esta relacionado con un único SUI, y un único
CUI. Cada SUI puede estar relacionado con múltiples AUIs, un único LUI, y más
de un CUI (aunque normalmente suele ser sólo uno). Cada LUI puede estar
relacionado con varios AUIs, varios SUIs, y mas de un CUI (aunque
normalmente suele ser sólo uno).
En la imagen a continuación se presenta un ejemplo donde el concepto Atrial
Fibrillation aparece como átomo en mas de una fuente de vocabulario y tiene
un AUI distinto para cada una de las ocurrencias. Dado que cada uno de estos
átomos tiene una cadena o nombre de concepto idéntico, están relacionados
con un único SUI. Atrial Fibrillations, el plural de Atrial Fribrillation, tiene un
identificador de cadena distinto. Dado que el plural y singular son variantes
léxicas la una de la otra, ambas están conectadas con el mismo LUI. Hay un LUI
diferente, así como diferentes SUIs y Auis para Auricular Fibrillarion y su plural
Auricular Fibrillations. Ya que se ha considerado que Atrial Fibrillation y
Auricular Fibrillation tienen el mismo significado, están conectados con el
mismo CUI.
29
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Figura 3: Ejemplo relaciones entre conceptos del Metatesauro
Nombres por defecto para conceptos del Metatesauro
A cada concepto dentro del Metatesauro se le asigna una frase descriptiva
como nombre descriptor por defecto. Para evitar una búsqueda complicada de
dicha descripción la selección del nombre por defecto de cualquier concepto
dentro del Metatesauro esta basada en un orden de precedencia dentro de
todos los tipos de cadenas de caracteres en Inglés dentro de las fuentes de
conocimiento del Metatesauro. Dentro de dicho orden de preferencia y en
diferentes posiciones se pueden encontrar diferentes tipos de cadenas de
caracteres, términos preferidos, referencias cruzadas y abreviaciones de cada
vocabulario.
A continuación se ven algunos ejemplos de nombres por defecto para unos
conceptos del Metatesauro;
30
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
select cui, str from MRCONSO limit 30,10;
CUI
C0018801
C0878544
C0085580
C0085580
C0027126
C0040517
C0011268
C0236642
C0029221
C0038454
STR
Heart failure
Cardiomyopathy
Essential hypertension
Essential hypertension
Myotonic Dystrophy
Gilles de la Tourette's syndrome
Senile dementia
Pick's disease
Organic brain syndrome
Cerebrovascular accident
Tabla 11: Consulta sobre la tabla MRCONSO
Es importante destacar que los factores considerados en establecer el orden de
precedencia incluyen la amplitud de la cobertura temática, frecuencia de
actualización, y el grado de uso de los conceptos en los ámbitos clínico y
biomedico.
Dicho orden de precedencia se encuentra en la tabla MRRANK, de la que se
adjuntan los primeros 15 elementos de la lista;
select * from mrrank ORDER BY RANK ASC limit 0,15 ;
31
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
RANK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SAB
SRC
SRC
SRC
SRC
SRC
SRC
SRC
SRC
CHV
CHV
TKMT
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
TTY
SSN
VSY
VAB
VPT
RSY
RAB
RHT
RPT
SY
PT
PT
MTH_IS
MTH_OAS
MTH_OF
MTH_OAF
SUPPRESS
N
N
N
N
N
N
N
N
N
N
N
Y
Y
Y
Y
Tabla 12: Consulta sobre la tabla MRRANK
Relaciones e Identificadores de Relaciones
El Metatesauro incluye muchas relaciones entre diferentes conceptos. La
mayoría de estas relaciones vienen de fuentes de vocabulario individuales,
algunas son añadidas por la Biblioteca Nacional de Medicina (NLM), y otras han
sido contribuidas al Metatesauro por usuarios para ayudar a desarrollar y
mantener determinadas aplicaciones.
Las relaciones están expresadas en términos de CUIs y AUIs, pero en los
archivos del Metatesauro no es especifican los nombres de concepto.
Categorías básicas de relaciones no sinónimas
Las relaciones no sinónimas que contiene el Metatesauro que se dividen en dos
tipos;
•
Aquellas entre conceptos
de la misma fuente de vocabulario (Intra-
Source Vocabulary Relationships)
32
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
•
Aquellas
entre
conceptos
de
diferentes
vocabularios
(Inter-Source
Vocabulary Relationships)
Es importante destacar que el Metatesauro no contiene todas las posibles
relaciones de no sinonimia entre los conceptos incluidos dentro del mismo, sino
que que contiene todas las relaciones presentes dentro de sus fuentes de
vocabulario.
En general, las relaciones declaradas en las fuentes de vocabulario conectan
conceptos similares, como aquellos que tienen en común una determinada
propiedad o definición.
Intra-Source Vocabulary Relationships
La mayoría de las relaciones de tipo Intra-Source están indicadas por las
fuentes de vocabulario individuales. Dichas relaciones ocurren debido a
disposiciones jerárquicas explicitas o implícitas, contextos o conexiones entre
diferentes tipos de nombres para el mismo concepto dentro de una fuente de
vocabulario.
En el siguiente ejemplo se han propuesto las relaciones que tiene el concepto
“dolor de cabeza” usado previamente con otros conceptos de la fuente
SNOMED_CT, cuya relación es del tipo CHD.
select CUI1,AUI1,REL,CUI2,AUI2,RELA from MRREL where CUI1
like 'C0018681' and SAB like'SNOMEDCT_US' and rel="CHD";
33
like 'C0018681' and S
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
CUI1
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
C0018681
AUI1
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A2882197
A23037904
A23037904
A2882197
A2882197
A2882197
A2882197
A2882197
A23037904
A2882197
REL
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CHD
CUI2
C0239886
C0231613
C0423621
C0037195
C0751186
C2349423
C0028838
C0004317
C0027427
C0037195
C0011364
C0032816
C0032810
C0231613
C0239886
C0877781
C0522254
C0522253
C0423623
C0458101
C0751185
C0474366
C0393754
C0420855
C0393751
C0393750
C0423620
C0423620
C0423622
C0522250
C0423621
C0581881
C0581880
C0581875
C0393755
C1286433
C1268585
C0015468
C0018681
C0439024
C0232739
C0242429
C0578051
C0456566
C0236000
C0221150
AUI2
A3024113
A2939783
A3209079
A2874809
A18077303
A23451465
A2874800
A2874801
A2874802
A2874809
A2874810
A2874813
A2874814
A2939783
A3024113
A3080901
A3095522
A3100921
A3101302
A3108433
A3115731
A3136057
A3140415
A3140416
A3140426
A3140427
A3140432
A23004575
A3180925
A3186863
A3209079
A3285716
A3285798
A3285803
A3309031
A3487597
A3487603
A22951071
A22919747
A3105195
A2944658
A3299341
A3263412
A3209135
A23042498
A3074978
Tabla 13: Consulta sobre tabla MRREL
34
RELA
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
isa
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
Algunas de las relaciones de este tipo suelen pertenecer al ámbito estadístico y
se calculan determinando la frecuencia con la que un concepto de un
vocabulario especifico aparece dentro de los registros en una base de datos.
Un ejemplo de este fenómeno puede ser el número de ocurrencias de un
concepto como tema principal dentro de artículos médicos similares asignados
a la base de datos MEDLINE.
Inter-Source Vocabulary Relationships
Las principales relaciones de tipo Inter-Source dentro del Metatesauro son las
relaciones de sinonimia representadas en la estructura estructura conceptual
del
Metatesauro (ver Conceptos, Nombres, e Identificadores), pero también
contiene como se menciona anteriormente, relaciones entre conceptos no
sinónimos de diferentes fuentes de vocabulario.
Algunas de las relaciones de este tipo son generadas durante la construcción
del Metatesauro para conectar conceptos “huerfanos” (es decir, sin padres o
hijos dentro de su misma fuentes de vocabulario) con información mas rica
dentro de otras fuentes de vocabulario. Algunos son aportaciones de usuarios
del Metatesauro que encuentran relaciones parecidas una contribución útil al
punto de vista estricto de la sinonimia que tiene el Metatesauro.
Muchas relaciones Inter-Source entre conceptos no sinónimos son fruto del
esfuerzo
para crear una asignación entre dos fuentes de vocabulario
diferentes. Estas asignaciones pueden ser creadas por un creador individual de
una fuente de vocabulario, una 3ª parte necesitada de una asignación concreta
o por la NLM, bajo su propia supervisión.
A continuación se presenta un extracto de algunas de las asignaciones
incluidas dentro de MRMAP.
select * from mrmap limit 0,3;
35
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Estado del UMLS
MAPSETCUI
C1306694
C1306694
C1306694
MAPSETSAB
MAPID
MTH
AT102971857
MTH
AT102971858
MTH
AT102971859
FROMID
C0264643
C0276253
C0409780
FROMEXPR
C0264643
C0276253
C0409780
FROMTYPE
REL
CUI
SY
CUI
SY
CUI
SY
Tabla 14: Consulta sobre la tabla MRRMAP
Etiquetas de Relaciones
Todas las relaciones del Metatesauro tienen una etiqueta general (REL) que
describe la naturaleza general de dicha relación, como extensa, hija de, etc. y
son identificadas por su fuente.
Aproximadamente, un cuarto de las relaciones del Metatesauro también
disponen de una etiqueta adicional (RELA), obtenida de de una fuente de
vocabulario, que explica con mas detalle la naturaleza de la relación.
A continuación se ve un ejemplo de algunas de las posibles etiquetas que se
encuentran en MRDOC.
select DOCKEY,VALUE,EXPL from MRDOC limit 0,13;
DOCKEY
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
ATN
VALUE
AAL_TERM
ACCEPTABILITYID
ACCEPTED_THERAPEUTIC_USE_FOR
ACCESSION_NO
ACTIVE
ADDED_MEANING
ADJACENT
AMBIGUITY_FLAG
AMT
ANADA
ANATOMICAL_COORDINATE
ANATOMICAL_OR_ARBITRARY
ANDA
EXPL
AAL term
Acceptability Id
Accepted therapeutic use for
Accession number
Active
Additional descriptive information
Adjacent
Source atom ambiguity flag
AOT uses MeSH term
Abbreviated New Animal Drug application number for the generic drug for MTHSPL
Anatomical coordinate
Anatomical or Arbitrary
Abbreviated New (Generic) Drug application number for the MTHSPL drug
Tabla 15: Consulta sobre la tabla MRDOC
Identificadores de relaciones
Cada relación del Metatesauro tiene también un identificador único (RUI), con
el objetivo de facilitar la detección de cambios en las relaciones a lo largo de
toda la extensión del Metatesauro.
36
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
2.2 Proceso de Instalación UMLS y uso local
UMLS además de ser accesible a través de la API que esta disponible en la web,
es instalable y personalizable de manera local. En cada publicación de la ultima
versión de UMLS se incluye la herramienta de personalización y el asistente de
instalación, llamado MetamorphoSys.
En este proyecto se ha utilizado la información de UMLS instalada de manera
local para comparar y ayudar en el desarrollo de la solución propuesta mas
adelante. Dicha información se extrae de las tablas de MySQL que se cargan al
finalizar la instalación de los archivos correspondientes.
El Metatesauro esta formado por un número de archivos muy grande, siendo
algunos de ellos extremadamente pesados. Considerando el número y variedad
de vocabularios reflejados dentro del mismo, es poco probable que un usuario
en un determinado momento haga uso de los mas de 100 vocabularios
disponibles, por lo que, en este proyecto, se ha decidido instalar la publicación
parcial activa actual [SOUR14] que contiene las entradas más usadas y
actualizadas.
2.2.1 Instalación de MySQL
El acceso a los datos del Metatesauro se va a realizar mediante consultas en
SQL, por lo que la instalación de dicha BBDD es requisito imprescindible. Estas
consultas van a permitir comprobar el correcto funcionamiento de la solución
propuesta y servirán de apoyo en el desarrollo de la misma.
Dado que el proyecto se ha realizado en un entorno Linux, el proveedor de
base de datos usado ha sido MariaDB, y se ha procedido a configurar para un
entorno de desarrollo (configuración de la contraseña, eliminación de usuarios
anónimos, eliminación del acceso remoto... etc).
37
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
2.2.2 Instalación de UMLS
La versión seleccionada y sobre la que se va a trabajar tanto a nivel local como
a nivel remoto a través de la API proporcionada para ello es la 2013AB, tanto la
publicación completa como la parcial que incluye los archivos mas activos
están disponible en la web de UMLS de manera gratuita pero con registro
previo.
Los archivos descargados y que componen la totalidad de las tres fuentes de
conocimiento principales que forman la estructura del UMLS se encuentran en
formato .nlm:
• 2013AB.CHK
• 2013AB-1-meta.nlm
• 2013AB-2-meta.nlm (Fichero del Metatesauro)
• 2013AB-otherks.nls (Red semántica y herramientas de procesado del
lenguaje)
• mmsys.zip (MetamorphoSys, programa de instalación y configuración del
Metatesauro, tanto para el entorno de Windows como UNIX.
A continuación se ejecuta el archivo de extensión .sh correspondiente al
sistema operativo en el que se este trabajando, en este caso run_linux.sh.
Dicho archivo es un script que arranca el programa de instalación del
Metatesauro.
38
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
Figura 4: Interfaz bienvenida MetamorphoSys
Al
seleccionar
“Instalar
UMLS”
aparece
una
ventana
nueva
donde
especificamos el origen de los archivos para la instalación y el destino de la
misma, así como las fuentes de conocimiento deseadas y si desea generar
scrips para la carga de la base de datos.
39
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
Figura 5: Especificaciones directorios y componentes UMLS
Una vez seleccionados el origen y destino de la instalación se configura el
Metatesauro como se ve en la Figura 6: Niveles de subconjuntos del
Metatesauro
40
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
Figura 6: Niveles de subconjuntos del Metatesauro
Como se puede ver el primer paso es especificar las fuentes de conocimiento
que se desean en el Metatesauro. El nivel 0 son las fuentes que no necesitan
ningún tipo de licencia adicional. En este caso se ha seleccionado el nivel 0,
más la fuente SNOMEDCT_US. En cualquier caso es posible personalizar mas
adelante el subconjunto seleccionado para incluir o excluir las fuentes de
conocimiento deseadas.
41
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
Figura 7: Opciones de salida de la instalación
Es imprescindible seleccionar dentro de la pestaña de opciones de salida, la
opción de escritura del archivo de procesamiento por lotes (Script), que
permiten que una vez terminada la instalación podamos cargar la BBDD con la
información del
42
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
Metatesauro. Una vez hecho esto se selecciona la opción de terminar y se
comienza la instalación.
Figura 8: Instalación en proceso
2.2.3 Carga de la Base de Datos
Para cargar la información de UMLS en la base de datos es necesario crear
dicha base de datos dentro del gestor. En el caso de este proyecto, como se ha
trabajado con MySQL la base de datos se ha creado del la siguiente manera;
CREATE DATABASE IF NOT EXISTS umls CHARACTER SET utf8 COLLATE
utf8_unicode_ci;
Una vez creada la base de datos, lo siguiente es modificar el archivo “my.cnf”,
que normalmente se encuentra dentro del directorio definido por la ruta “/etc”
43
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Instalación UMLS y uso local
o “”/etc/mysql”. Dependiendo del sistema usado es posible que en lugar del
archivo “my.cnf” se encuentre el “my.ini”.
En cualquier caso es conveniente modificar las siguientes opciones para
mejorar el rendimiento a la hora de la lectura de los datos, ya que en el caso
del servidor de MySQL 5 es necesario cambiar los tamaños de los búferes para
hacer uso de toda la memoria disponible;
key_buffer
= 600M
table_cache
= 300
sort_buffer_size
= 20M
read_buffer_size
= 200M
query_cache_limit
= 3M
query_cache_size
= 100M
myisam_sort_buffer
= 200M
bulk_insert_buffer_size = 100M
join_buffer_size
= 100M
Es importante que el archivo disponga de permisos de lectura para poder
ejecutarlo sin permisos de administrador.
44
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
2.3 Sistema de acceso a UMLS Terminology Services
2.3.1 Introducción
El sistema que se desarrolla a continuación propone un método de acceso
alternativo a la información que UMLS pone al servicio del usuario, de una manera
interactiva y usando las rutinas, protocolos y herramientas existentes dentro de
su API.
En la actualidad es posible acceder a la información del Metatesauro de varias
maneras, a través de la instalación local de MetamorphoSys, mediante el UMLSKS
y las herramientas web que pone a disposición, utilizando sentencias SQL sobre la
base de datos del mismo, y por ultimo haciendo uso de la API.
El sistema propuesto constituye una herramienta que pretende hacer uso de la
API proporcionada y dar a su vez una representación gráfica de la información
extraída que no se encuentra disponible en ninguno de los sistemas de acceso
previamente mencionados.
2.3.2 Acerca de UTS API 2.0
El acceso a la información del Metatesauro se va a realizar de manera remota
mediante llamadas a la API que accede a la web y recupera la información
solicitada. Es por ello que se va a hacer uso de JAX-WS como lenguaje de
programación para la creación de servicios web.
Los archivos de JAX-WS se han importado e instalado en un entorno UNIX usando
la herramienta wsimport de la siguiente manera;
•
wsimport -p gov.nih.nlm.uts.webservice.content -keep https://utsws.nlm.nih.gov/services/nwsContent?wsdl
45
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
wsimport -p gov.nih.nlm.uts.webservice.security -keep https://utsws.nlm.nih.gov/services/nwsSecurity?wsdl
•
wsimport -p gov.nih.nlm.uts.webservice.metadata -keep https://utsws.nlm.nih.gov/services/nwsMetadata?wsdl
•
wsimport -p gov.nih.nlm.uts.webservice.finder -keep https://utsws.nlm.nih.gov/services/nwsFinder?wsdl
•
wsimport -p gov.nih.nlm.uts.webservice.history -keep https://utsws.nlm.nih.gov/services/nwsHistory?wsdl
•
wsimport -p gov.nih.nlm.uts.webservice.semnet -keep https://utsws.nlm.nih.gov/services/nwsSemanticNetwork?wsdl
-p: indica el destino de la instalación de los archivos a descargar dentro de la
carpeta en la que se encuentre el usuario en el momento de la ejecución del
comando.
-keep: se indica para especificar que se mantengan en disco los archivos
generados como consecuencia de la descarga y compilado.
Por último se indica la dirección de descarga de los archivos que deseamos.
Una vez ejecutados dichos comandos tendremos seis carpetas nuevas, cada una
correspondiente a los paquetes objetivo que se han indicado en los comandos
wsimport.
Estas carpetas contienen las clases necesarias para trabajar con la API y que se
engloban en las siguientes categorías que se desarrollan mas en detalle a
continuación:
•
Paginado, ordenación y filtrado
•
Contenido del Metatesauro
•
Metadatos del Metatesauro
•
Tipos semánticos
46
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
Historia conceptual
•
Servicio de búsqueda
Paginado, ordenación y filtrado ( Paging, Sorting, Filtering PSF)
El objeto de paginado, ordenación y filtrado (en adelante PSF) permite
personalizar los resultados de las llamadas al servicio web de manera flexible.
Como características principales permite;
•
Incluir o excluir criterios tales como fuentes de vocabulario, idiomas, tipos
de términos, etc.
•
Ordenar resultados en función de diversos campos, dependiendo del tipo de
resultado.
•
Elegir el número de paginas de resultados devueltos.
•
Elegir el número de resultados mostrados por pagina.
Contenido del Metatesauro
El objeto controlador del contenido permite acceder al núcleo duro y contenido
fundamental y amplio del Metatesauro:
•
Conceptos (CUIs), Términos (LUIs), Cadenas (SUIs), Átomos (AUIs)
Para acceder al contenido del Metatesauro, ya sea el visto anterior o el que viene
a continuación es necesario declarar una serie de variables de referencia básicas
para los objetos de los controladores que se verán mas adelante.
Metadatos el Metatesauro
El controlador de metadatos permite dar respuesta a preguntas como las
siguientes:
•
Que tipos de términos, atributos, o relaciones están asociados a una
determinada fuente?.
47
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
Que lenguas extranjeras existen en esta versión (o versiones anteriores) del
Metatesauro UMLS?.
•
Cuales
son
las
fuentes
asociadas
a
una
determinada
versión
del
Metatesauro UMLS?.
•
Cuales son las formas expandidas (legibles para el usuario) de las
abreviaciones de tipos de términos y atributos?.
Tipos Semánticos
Este controlador permite realizar consultas a la red semántica de UMLS, para
acceder a información sobre los siguientes apartados:
•
Cual es el nombre de un tipo semántico dado un identificador de un término
semántico?
•
Cuales son las relaciones entre dos tipos semánticos?.
•
Cuales son todos los tipos semánticos dado un determinado grupo
semántico?.
Historia Conceptual
A través de la API también es posible realizar consultas que permitan llevar un
seguimiento de los siguientes apartados (entre otros):
•
Se ha movido un átomo de un concepto a otro del Metatesauro en algún
momento?.
•
Se ha migrado un concepto del UMLS a otro concepto?, y si es así, cual es el
nuevo concepto?.
•
Cuando ha dejado de usarse un determinado concepto del UMLS?.
Servicio de Búsqueda
48
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Por último, el servicio de búsqueda permite obtener identificadores, para palabras
o códigos, y pasar dichos identificadores como parámetros a otros métodos para
obtener información mas concreta (especialmente los métodos asociados con el
controlador de contenido principal del Metatesauro descrito previamente).
Se pueden realizar consultas del tipo:
•
A partir de un termino, recuperar CUIs, SDUIs,
SCUIs, y átomos.
•
A partir de un código, recuperar CUIs, SDUIs, SCUIs, y átomos.
Métodos principales de la API
Dentro de las categorías vistas que forman el esqueleto de la API hay una gran
variedad de funciones, sin embargo, no se ha hecho uso de todas ellas en la
consecución de los objetivos del proyecto.
Las funciones que se han considerado mas importantes se describen a
continuación para entender mejor el funcionamiento de la aplicación.
Petición de un Concepto
Obtiene las propiedades de un concepto del UMLS, como el nombre por defecto,
tipos semánticos, y el número de átomos que posee dicho concepto. La totalidad
de las propiedades se encuentran incluidas en el objeto ConceptDTO [CONC14].
getConcept(String ticket,String version,String conceptId)
ConceptDTO myConcept = utsContentService.getConcept(ticket, "2013AB", "C0004057");
String preferredName = myConcept.getDefaultPreferredName();
List<String> semanticTypes = myConcept.getSemanticTypes();
int numberofAtoms = myConcept.getAtomCount();
49
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Para las peticiones en general como se explicará mas adelante en profundidad se
necesita indicar un ticket y la versión del Metatesauro con la que desea trabajar,
ademas de los parámetros intrínsecos de la propia petición.
Petición de un átomo
Petición útil cuando se dispone de un átomo y se quiere consultar información de
como se relaciona dicho átomo con otros objetos dentro del Metatesauro.
AtomDTO myAtom = utsContentService.getAtom(ticket, 2011AB, "A6955581");
String atomName = myAtom.getTermString().getName();
String source = myAtom.getRootSource();
String sourceConceptUi = myAtom.getSourceConcept().getUi();
String sourceConceptName = myAtom.getSourceConcept().getDefaultPreferredName();
String sourceDescriptorUi = myAtom.getSourceDescriptor().getUi();
String sourceDescriptorName = myAtom.getSourceDescriptor().getDefaultPreferredName();
String conceptUi = myAtom.getConcept().getUi();
String conceptName = myAtom.getConcept().getDefaultPreferredName();
getAtom(String ticket,String version,String atomId)
Petición recursos
Dado una versión del Metatesauro, esta función devuelve todos los detalles de las
fuentes disponibles para dicha versión.
getAllSources(String ticket,String version)
myArrSrc = utsMetadataService.getAllSources(ticket, umlsRelease);
for (int i = 0; i < myArrSrc.size(); i++) {
SourceDTO myArrSrcDTO = myArrSrc.get(i);
String abbreviation = myArrSrcDTO.getAbbreviation();
50
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
String rtSrcAbbreviation = myArrSrcDTO.getRootSource().getAbbreviation();
String version = myArrSrcDTO.getVersion();
}
Petición átomos de un concepto
Función usada cuando se dispone de un CUI y se quiere consultar información de
sus átomos de manera individual junto con sus propiedades.
Usando el PSF como se explicara mas adelante se pueden excluir de la búsqueda
a recursos concretos, tipos de términos, relaciones, etc., que pueden no ser de
interés. Las propiedades del átomo se encuentran en el
[ATOM14].
getConceptAtoms(String ticket,String version,String conceptId,PSF psf)
List<AtomDTO> myAtoms = new ArrayList<AtomDTO>();
myAtoms = utsContentService.getConceptAtoms(ticket, "2011AB","C0004775",myPsf);
UtsMetathesaurusContent.Psf myPsf = new UtsMetathesaurusContent.Psf();
myPsf.getIncludedSources().add("SNOMEDCT");
myPsf.getIncludedTermTypes().add("FSN");
myPsf.getIncludedTermTypes().add("SY");
myPsf.getIncludedTermTypes().add("PT");
for (int i = 0; i < myAtoms.size(); i++) {
AtomDTO myAtomDTO = myAtoms.get(i);
String aui = myAtomDTO.getUi();
String source = myAtomDTO.getRootSource();
String name = myAtomDTO.getTermString().getName();
String TermType = myAtomDTO.getTermType();
}
51
objeto AtomDTO
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Se puede ver como primero se crean las variables como el vector donde se van a
almacenar los átomos, así como la variable del PSF. Una vez realizada la petición
se itera sobre la colección para ver la información individual de cada átomo.
Petición relaciones de un concepto con otros conceptos
Dado un CUI, esta llamada devuelve las relaciones confirmadas por miembros del
NLM ente dicho CUI proporcionado y otros conceptos del Metatesauro.
List<ConceptRelationDTO> myConceptRelationsDTO = new ArrayList<ConceptRelationDTO>();
myConceptRelationsDTO = utsContentService.getConceptConceptRelations(ticket, 2011AB,
"C0014591", myPsf);
for (int i = 0; i < myConceptRelationsDTO.size(); i++) {
ConceptRelationDTO myConceptRelationDTO = myConceptRelationsDTO.get(i);
String otherConceptUi = myConceptRelationDTO.getRelatedConcept().getUi();
String otherConceptName =
myConceptRelationDTO.getRelatedConcept().getDefaultPreferredName();
String otherConceptRel = myConceptRelationDTO.getRelationLabel();
String otherConceptRela = myConceptRelationDTO.getAdditionalRelationLabel();
}
Petición relaciones de un átomo con otros átomos
Dada una versión del Metatesauro y un identificador único del átomo (AUI), esta
llamada devuelve las relaciones del átomo indicado con otros átomos.
52
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
getAtomAtomRelations(String ticket,String version,String atomId,PSF psf)
gov.nih.nlm.uts.webservice.content.Psf myPsf = new gov.nih.nlm.uts.webservice.content.Psf();
List<AtomRelationDTO> myAtomsRel = new ArrayList<AtomRelationDTO>();
myAtomsRel = utsContentService.getAtomAtomRelations(ticket, "2012AA","A1317707",myPsf);
for (int i = 0; i < myAtomsRel.size(); i++) {
AtomRelationDTO myAtomDTO = myAtomsRel.get(i);
String ui = myAtomDTO.getRelatedAtom().getUi();
String name = myAtomDTO.getRelatedAtom().getTermString().getName();
String rellabel = myAtomDTO.getRelationLabel();
String arellabel = myAtomDTO.getAdditionalRelationLabel();
}
Variables de referencia para los controladores
Para usar los objetos de los controladores descritos anteriormente es necesario
instanciar sus variables. Para no caer en la redundancia y dado que mas adelante
se exponen ejemplos del código a continuación se incluyen las variables
instanciadas:
Creación de variables:
private UtsWsContentController utsContentService;
private UtsWsFinderController utsFinderService;
private UtsWsMetadataController utsMetadataService;
53
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
gov.nih.nlm.uts.webservice.content.Psf psfMetaContent = new
gov.nih.nlm.uts.webservice.content.Psf();
gov.nih.nlm.uts.webservice.finder.Psf psfFinderContent = new
gov.nih.nlm.uts.webservice.finder.Psf();
Instanciación de dichas variables para poder trabajar con ellas:
Es importante destacar que aunque no se haga constancia de ello aquí se deben
controlar
posibles
errores
(en
Java
denominadas
excepciones)
en
las
instanciaciones, mediante los métodos considerados oportunos.
UtsWsContentController utsContentService = (new
UtsWsContentControllerImplService()).getUtsWsContentControllerImplPort();
UtsWsFinderController utsFinderService = (new
UtsWsFinderControllerImplService()).getUtsWsFinderControllerImplPort();
UtsWsMetadataController utsMetadataService = (new
UtsWsMetadataControllerImplService()).getUtsWsMetadataControllerImplPort();
2.3.3 Conexión y llamadas a la API
El paradigma básico para obtener información UMLS de los servicios de
terminología UMLS (en adelante UTS), incluye los siguientes pasos:
1. Establecer una conexión con el servidor de autenticación web.
2. Obtener un servicio proxy de generación de tickets (Proxy Granting Ticket
PGT) del servicio de autenticación web.
3. Usando el PGT, obtener tickets de un solo uso del servidor web de
autenticación para incluirlos en cada llamada al servicio web de UTS.
54
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
4. Reunir los parámetros necesarios para la llamada al servicio web UTS.
5. Realizar la llamada de petición de información al servicio web UTS.
El servicio web de autenticación es un servicio web Apache Axis que se ejecuta en
una de las maquinas de producción del UTS que se encuentra en el NLM, siendo la
URL destino del destino:
https://uts-ws.nlm.nih.gov/authorization/services/AuthorizationPort
Es importante destacar también que todas las clases generadas después de la
ejecución de los comandos wsimport se deben importar en la aplicación para su
posterior uso.
A continuación se explican extractos de la aplicación planteada para este
proyecto, en concreto de la parte relacionada con la conexión al servicio de
autenticación web.
Obtención del PGT (Proxy Granting Ticket)
El PGT es generado por el servicio de autenticación web usando la combinación
de usuario y contraseña de un usuario valido del UTS. La llamada devuelve null si
la combinación de usuario y contraseña son incorrectos. El campo de usuario
deberá contener un usuario del UTS valido y el campo de contraseña deberá
contener la contraseña correspondiente al usuario especificado.
String pgtGrantingTicket=utsSecurityService.getProxyGrantTicket(username,
password);
Obtención de tickets de un solo uso
Una vez se ha generado el PGT, la aplicación puede pedir la generación de tickets
de un solo uso que se incluyen como parámetros en llamadas mediante métodos
55
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
al servicio web UTS. Cada petición debe llevar incluido el ticket de un solo uso, de
lo contrario genera una excepción.
La manera de generar los tickets de un solo uso es la siguiente:
singleUseTicket = utsSecurityService.getProxyTicket(pgtGrantingTicket,
serviceName);
Siendo el serviceName "http://umlsks.nlm.nih.gov"
2.3.4 Descripción del sistema y funcionalidad
Como se ha comentado anteriormente, el sistema propuesto constituye una
manera alternativa de acceso a la información del UMLS de manera mas
interactiva para el usuario.
Entre los objetivos principales y fundamentales del proyecto se encuentran la
generación de un grafo y un informe para representar la información extraída, sin
embargo debido a la amplitud y profundidad del UMLS, es necesario realizar un
filtro previo para especificar las información que se desea visualizar.
56
Figura 9: Interfaz principal del sistema
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Este filtrado previo se realiza a través de un interfaz que nos permite personalizar
las opciones de las búsquedas para matizar los datos obtenidos, como se puede
ver en la siguiente figura.
A continuación se escribe la funcionalidad del sistema detallando la funcionalidad
intrínseca del mismo y especificando la metodología y el planteamiento elegido
para dicha solución, proponiendo extractos cortos del código para ayudar a la
explicación.
Carga de las fuentes disponibles
Para concretar las búsquedas es posible seleccionar el recurso de los conceptos
relacionados con el concepto indicado. Es por lo tanto necesario cargar las
fuentes disponibles en los desplegables para que estén disponibles de cara al
usuario.
Se genera un ticket para la llamada correspondiente
57
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Acceso gestorTickets = new Acceso();
String singleUseTicket = gestorTickets.dameTicket();
Se realiza la petición sobre el controlador de metadatos descrito anteriormente
ArrayList<SourceDTO> sources =
new ArrayList<SourceDTO>();
sources = (ArrayList<SourceDTO>) utsMetadataService.getAllSources(singleUseTicket,
umlsRelease);
Es posible así iterar la lista recibida y cargarla en el desplegable.
Figura 10: Selección fuentes destino en la interfaz
58
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Búsqueda por CUI y Nombre
La búsqueda por CUI permite buscar si existe un CUI y ver su nombre partiendo
de un identificador de concepto para posteriormente realizar una búsqueda de
sus relaciones.
Acceso gestorTickets = new Acceso();
String singleUseTicket = gestorTickets.dameTicket();
ConceptDTO result =
utsContentService.getConcept(singleUseTicket, umlsRelease,
cui);
Figura 11: Búsqueda por CUI
59
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Por otra parte, la búsqueda por nombre permite listar los conceptos que tengan
átomos cuyo nombre contenga palabras como la introducida en la búsqueda. El
motivo de hacerlo así es que la API de UMLS no permite, a priori, buscar el
concepto directamente a partir del nombre.
El procedimiento por lo tanto es buscar los átomos que tengan una palabra
coincidente con la búsqueda e iterarlos realizando a su vez otra consulta para
recuperar el concepto padre al que pertenecen.
Se realiza la petición del ticket correspondiente para realizar la consulta de los
atomos;
Acceso gestorTickets = new Acceso();
String singleUseTicket = gestorTickets.dameTicket();
List<UiLabel> myUiLabels = new ArrayList<UiLabel>();
Map<Integer, Concepto> res = new LinkedHashMap<>();
psfFinderContent.getIncludedSources().add(fuente);
myUiLabels = utsFinderService.findAtoms(singleUseTicket, umlsRelease, "atom",
busqueda, "words", psfFinderContent);
Una vez se tiene la información en forma de etiqueta de los átomos que contienen
la palabra o palabras buscadas en forma de etiquetas, se itera la lista realizando
una consulta para el átomo completo, que a la vez contiene la información sobre
su concepto padre para ver de donde procede. El átomo contiene el concepto al
que pertenece entre otros muchos parámetros como los siguientes;
•
termString – información de la cadena de caracteres
•
code – código
•
sourceConcept – concepto origen
60
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
sourceDescriptor –descriptor origen
•
concept – concepto
•
termType – tipo de termino
•
attributeCount – contador del atributo
•
cocCount – contador de ocurrencias
•
relationCount – contador de la relación
•
codeRelationCount – contador del código de la relación
•
sourceConceptRelationCount – contador del concepto origen de la
relación
•
sourceDescriptorRelationCount – contador del descriptor fuente de la
relacion
•
conceptRelationCount -contador del concepto de la relación
•
treePositionCount – contador de la posición en el árbol
•
cvMemberCount – contador número de individuos
•
subsetMemberCount – contador número individuos del conjunto
Una vez se tiene el concepto correspondiente se carga en la lista para ser
seleccionado posteriormente.
for (int i = 0; i < myUiLabels.size(); i++) {
UiLabel myUiLabel = myUiLabels.get(i);
String ui = myUiLabel.getUi();
String singleUseTicket2 = gestorTickets.dameTicket();
AtomDTO myAtom = utsContentService.getAtom(singleUseTicket2, umlsRelease, ui);
61
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
String source = myAtom.getRootSource();
String conceptUi = myAtom.getConcept().getUi();
String prefName = myAtom.getConcept().getDefaultPreferredName();
Concepto a = new Concepto(conceptUi,prefName,source);
if(!res.containsValue(a))
res.put(i, a);
}
La información parcial del concepto se puede ver en la siguiente figura.
Figura 12: Resultado búsqueda por CUI
62
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Generación de Grafos
A continuación se va a analizar como maneja el programa la generación de los
grafos de relaciones entre conceptos en cuanto a la metodología de la
programación y las decisiones tomadas para la consecución de los objetivos
propuestos. En el apartado siguiente se verá el apartado gráfico de la
representación de dichos grafos.
En primer lugar, como se ha mencionado anteriormente, la información del
Metatesauro puede llegar a ser, en ocasiones, un tanto abrumadora, y como
consecuencia el tratamiento puede llegar a ser muy pesado sobre todo en grafos
con un número elevado de nodos.
Si tenemos en cuenta que para cada nodo de un hipotético grafo, hay que realizar
múltiples peticiones al servidor web, y el número se multiplica exponencialmente
según el número de nodos, el tiempo de búsqueda puede llegar a ser un
problema.
Para solucionar en parte estos problemas se han implementado dos medidas de
prevención:
1. Recursividad: El recorrido del grafo se simplifica haciendo uso de esta
técnica de divide y vencerás, haciendo que el recorrido del mismo sea mas
dinámico.
2. Lista visitados: Se lleva la cuenta de los conceptos que se han consultado
para no realizar consultas repetidas con el consumo innecesario de tiempo
que ello conlleva.
El interfaz permite generar un grafo que representa las relaciones de un concepto
con otros conceptos de la misma o distinta fuente de vocabulario del Metatesauro.
63
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
La solución propuesta se basa en que un concepto se relaciona con otro mediante
sus átomos. Es decir, un concepto, tiene átomos que están relacionados con
átomos de otros conceptos, lo que hace que ambos conceptos tengan una
relación.
Los pasos por lo tanto, seguidos para la resolución son los siguientes:
1. Búsqueda átomos para un determinado concepto especificado previamente
en la interfaz
2. Iteración de dichos átomos realizando consultas para recuperar las
relaciones de cada uno de ellos con átomos pertenecientes a otros
conceptos.
3. Creación
de
una
estructura
de
información
que
contenga
datos
pertenecientes a dicha relación, como el concepto origen, concepto destino,
tipo de relación, etc..
4. Llamada recursiva a la función usada incluyendo el concepto destino de la
primera relación encontrada.
Para entender como estructura el algoritmo la información hay que fijarse en los
parámetros que permiten afinar la búsqueda y limitar el tamaño del grafo para
que la cantidad de la información con la que se va a trabajar no alcance niveles
excesivamente elevados.
•
Número de Saltos (4 Máximo): El número de saltos delimita la profundidad
en niveles del grafo a explorar. Debido a que el algoritmo es recursivo el
número de niveles de profundidad puede llega a ser infinito pero por
motivos de tiempo y a efectos del estudio planteado en este proyecto se ha
limitado a 4.
64
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
Número de Átomos (Todos,5,10,20): Este parámetro delimita el número de
átomos que se van a analizar como máximo pertenecientes a cada
concepto. Si un concepto tiene 100 átomos y se especifican 20 al algoritmo
solo analiza los 20 primeros en el orden que el Metatesauro de UMLS los
tenga distribuidos.
•
Número de Relaciones (Todos,2,3,5,10): Cada átomo, como se ha visto
anteriormente se relaciona con átomos de otros conceptos. Es posible por lo
tanto limitar el número de relaciones que la consulta recupera a un número
reducido debido a que a veces el número de relaciones que tiene un átomo
puede llegar a ser muy elevado. Es posible de todas formas seleccionar
todas las relaciones al igual que en el caso de los átomos ya que hay casos
en los que es posible generar grafos asequibles.
A continuación se expone una sección de código donde se ve el núcleo de la
función recursiva que genera la estructura de información interna para
representar el grafo parametrizado previamente en la interfaz:
La condición para la salida del método recursivo es que el número de satos
sea igual a 0 o que el concepto que se va a explorar ya este visitado, por lo
que no es necesario
if(saltos > 0 && !visitados.containsKey(cui))
{
List<AtomRelationDTO> listaRelaciones = new
ArrayList<AtomRelationDTO>();
List<AtomDTO> listaAtomos = new ArrayList<AtomDTO>();
65
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Filtrado por número de átomos
if(nAtomos!=0){
psfMetaContent.setPageLn(nAtomos);
}
Petición ticket para consulta de átomos
Acceso gestorTickets = new Acceso();
String singleUseTicket4 = gestorTickets.dameTicket();
listaAtomos = utsContentService.getConceptAtoms(singleUseTicket4,
umlsRelease,cui,psfMetaContent);
Iteración de la lista de átomos para el concepto dado
for (int j = 0; j < listaAtomos.size(); j++)
{
AtomDTO atomo = listaAtomos.get(j);
Filtrado por número de relaciones
if(nRelaciones!=0)
psfMetaContent1.setPageLn(nRelaciones);
if(listaAtomos.get(j).getAtomRelationCount()!=0){
Petición ticket para la consulta de relaciones
String singleUseTicket3 = gestorTickets.dameTicket();
if(!this.source.equals("ALL"))
psfMetaContent1.getIncludedSources().add(source);
listaRelaciones =
utsContentService.getAtomAtomRelations(singleUseTicket3,
umlsRelease,atomo.getUi(),psfMetaContent1);
66
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Iteración de la lista de las relaciones extrayendo la
información buscada, creando el nodo correspondiente y
realizando la llamada recursiva del siguiente nivel para ese
concepto.
for (int i = 0; i < listaRelaciones.size(); i++) {
AtomRelationDTO myAtomDTO = listaRelaciones.get(i);
String source1 =
myAtomDTO.getRootSource();
String ui =
myAtomDTO.getRelatedAtom().getConcept().getUi();
String name = myAtomDTO.getRelatedAtom().
getConcept().getDefaultPreferredName();
String tipo = myAtomDTO.getRelationLabel();
Llamada recursiva
dameRelaciones(ui,source,saltos-1,res,visitados);
res.addNodo(new Nodo(nSaltos-saltos+"-"+cui,name,nSaltos+1saltos+"-"+ui,tipo,source1,nSaltos+1-saltos));
res.setGraph(g.inicializaGrafo(r.getGraph(),
r.getListaNodos()));
}
}
}
}
67
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Como se puede ver en el algoritmo, la manera de recorrer la información extraída
del Metatesauro se realiza de la siguiente manera.
•
Para cada concepto se extraen los átomos especificados y dicha lista se
itera.
•
Al iterarla se buscan las relaciones del primer átomo de la lista.
•
Esta lista de relaciones se itera a su vez llamando de manera recursiva a la
función con el segundo concepto de la relación.
Esto hace que el recorrido y estructuración de la información se haga en
profundidad, siguiendo las aristas tan “profundamente” como sea posible para
visitar los nodos alcanzables desde él y que no hayan sido ya visitados.
La condición de volver “atrás” se cumple cuando se ha alcanzado el nivel de
profundidad delimitado o, como se ha comentado, el nodo al que intentamos
acceder ya ha sido explorado.
Figura 13: Ejemplo 68
recorrido profundidad
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
2.3.5 Modelado del sistema (Diagrama UML)
Para ver la estructura interna del sistema se ha optado por realizar una serie de
diagramas UMLS con los que se pueden ver aspectos conceptuales como las
relaciones entre las clases usadas así como los atributos y métodos de cada una
de ellas.
Los diagramas que se describen a continuación representan cada una de las
clases usadas por el sistema y se describen de manera individual para ver los
atributos y métodos que componen cada una de ellas. Una vez analizadas por
separado se representan las relaciones entre las mismas de manera conjunta.
Las clases que forman el sistema de acceso son las siguientes:
Main
Figura 14: Clase
Main
Clase principal que crea el interfaz a través del cual se gestiona el sistema de
acceso.
Interfaz
69
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Figura 15: Clase Interfaz
70
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
La clase Interfaz construye la parte gráfica del sistema de acceso y gestiona las
diferentes
acciones
que
se
producen
sobre
él
mediante
actionPerformed, que filtra el elemento que ha producido la acción.
ClienteRecursivo
Figura 16: Clase ClienteRecursivo
71
el
método
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
La clase ClienteRecursivo representa el núcleo del sistema de acceso, y en el se
realizan las peticiones de datos al servicio web y se estructura la información que
mas adelante será representada mediante grafos.
La estructura de las peticiones es recursiva para poder procesar un número
ilimitado de niveles de profundidad dentro del grafo.
Acceso
Figura 17: Clase Acceso
La clase acceso gestiona los tickets que se necesitan adjuntar en cada petición al
servidor web. Realiza la autenticación con el usuario y contraseña del servicio de
la UTS correspondiente y pide un ticket que se devuelve si se realiza una llamada
al método dameTicket.
GestorGrafos
72
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Figura 18: Clase GestorGrafos
Una vez se tiene la estructura de información correspondiente al grafo que se
quiere representar, dicha estructura que para a la clase Gestor de grafos que
inicializa dicho grafo, lo construye con la estructura especificada, y se saca por
pantalla para su visualización.
Resultado
Figura 19: Clase Resultado
Clase
que
representa
la
estructura
de
información
devuelta
por
el
ClienteRecursivo y que se pasa al GestorGrafos para su procesamiento. Dicha
73
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
estructura incluye como se puede ver la lista de nodos del grafo y el grafo donde
se va a representar.
Nodo
Figura 20: Clase Nodo
Clase que contiene los parámetros de cada uno de los nodos del grafo y que
permiten construir las relaciones entre cada uno de los mismos dentro del propio
grafo.
74
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Concepto
Figura 21: Clase Concepto
Clase que representa la estructura de información de cada uno de los conceptos
procesados por el sistema de acceso.
Relaciones entre las clases del sistema
En la Figura 22: Relaciones clases del sistema se ven las relaciones entre las
clases del sistema descritas previamente.
75
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Figura 22: Relaciones clases del sistema
2.3.6 Java Universal Network/Graph Framework (JUNG)
Para cumplir uno de los objetivos principales del proyecto, la solución propuesta
implementa una representación gráfica de la estructura de información generada
en el apartado previo.
A continuación se ve una introducción de la tecnología usada para ello y su
implementación en el proyecto.
JUNG es una librería de software que proporciona un lenguaje común y extensible
para el modelado, análisis y visualización de información capaz de ser
representada mediante una red o grafo.
En el marco de este proyecto es por lo tanto una herramienta ideal que ayuda a la
visualización de información que e otra manera podría ser complicada de
representar.
76
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
La arquitectura de JUNG esta diseñada para soportar una variedad de
representaciones de entidades y relaciones, como grafos dirigidos, grafos de
múltiples tipos, con aristas paralelas, e incluso hipergrafos. Proporciona un
mecanismo para la anotación de grafos, entidades y relaciones con información
adicional. Esto facilita la creación de herramientas analíticas para conjuntos de
datos complejos, que pueden analizar las relaciones entre entidades así como la
información adicional adjunta a dichas relaciones y entidades.
2.3.7 Descripción de la representación gráfica
Como se ve en la Generación de Grafos, ( visto en el apartado 2.2.4 ), por cada
relación que se itera dentro del bucle que procesa las relaciones de cada átomo,
se crea un nodo de la siguiente manera.
listaNodos.add(new Nodo(nSaltos-saltos+"-"+cui,name,
nSaltos+1-saltos+"-"+ui,tipo,source1,nSaltos+1-saltos));
Los atributos de cada nodo, como se pueden ver también en el apartado 2.2.5 son
los que se describen brevemente a continuación.
•
Cui: Identificador del concepto origen de la relación junto con el nivel en el
que se encuentra dentro de la estructura del grafo.
•
Nombre: Nombre por defecto del segundo concepto de la relación.
•
Relación: Identificador del concepto destino de la relación junto con el nivel
en el que se encuentra dentro de la estructura del grafo
•
Tipo: Tipo de la relación entre ambos conceptos.
•
Fuente: Fuente del concepto destino de la relación.
77
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
•
Nivel: Nivel del concepto destino de la relación.
Disponiendo de toda esta información por cada relación es posible generar un
grafo del conjunto total de las relaciones especificadas en la interfaz.
Inicialización del grafo
Una vez se tiene disponible la estructura interna de nodos, es posible inicializar el
grafo para pintarlo posteriormente.
Dicha inicialización se realiza iterando la lista de nodos y generando vértices entre
los conceptos indicados dentro de la estructura de cada nodo, como se puede ver
a continuación:
for (int i = 0; i < listaNodos.size(); i++) {
nodo = listaNodos.get(i);
if(nodo.getType().equals("PAR")){
g.addEdge(i + "-" + nodo.getType(), nodo.getRelacion() , nodo.getCui()
,EdgeType.DIRECTED);
}else
g.addEdge(i + "-" + nodo.getType(), nodo.getCui(),
nodo.getRelacion(),EdgeType.DIRECTED)
}
}
Como se puede ver cada arista contiene un identificador único denotado por la
variable i con la que ademas se itera la lista de nodos, y ademas el tipo de
relación entre los dos conceptos que une.
78
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Se hace una distinción en el caso de que la relación sea de tipo PAR para invertir
la dirección de dicha relación, ya que en el caso de este tipo el origen de la arista
es el concepto destino.
Generación del grafo
Una vez inicializado el grafo se pinta de la siguiente manera:
Layout<String, String> layout = new FRLayout<String, String>(grafo);
layout.setSize(new Dimension(700,500));
VisualizationViewer<String,String> vv =
new VisualizationViewer<String,String>(layout);
vv.setPreferredSize(new Dimension(800,600));
Transformer<String, Paint> vertexColor = new Transformer<String,Paint>() {
public Paint transform(String arg0) {
if(String.valueOf(arg0.charAt(0)).equals("1"))
return Color.BLUE;
else
if(String.valueOf(arg0.charAt(0)).equals("2"))
return Color.GREEN;
else
if(String.valueOf(arg0.charAt(0)).equals("3"))
return Color.ORANGE;
else
if(String.valueOf(arg0.charAt(0)).equals("4"))
return Color.RED;
else
return Color.BLACK;
}
79
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexColor);
vv.getRenderContext().setVertexLabelTransformer(new
ToStringLabeller<String>());
vv.getRenderContext().setEdgeLabelTransformer(new
ToStringLabeller<String>());
vv.getRenderer().getVertexLabelRenderer().setPosition(Position.AUTO);
DefaultModalGraphMouse<String,String> gm = new
DefaultModalGraphMouse<String,String>();
gm.setMode(ModalGraphMouse.Mode.TRANSFORMING);
vv.setGraphMouse(gm);
JFrame frame = new JFrame("Grafo UMLS");
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dim.width/2-frame.getSize().width/2, dim.height/2frame.getSize().height/2);
frame.getContentPane().add(vv);
frame.pack();
frame.setVisible(true);
En dicha generación se especifican parámetros como el tamaño de la ventana, su
posición en la pantalla al ser visualizada,etc..
Cabe destacar entre dichos parámetros la variación de colores en los nodos según
su nivel de profundidad, limitado hasta el nivel 4 y la posibilidad de mover el
grafo usando el ratón y de hacer zoom, tanto hacia afuera como hacia dentro para
80
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
ver con detalle partes en particular que pueden ser inaccesibles en funciona del
tamaño del mismo.
La disposición usada (Layout), que se ha considerado optima para la visualización
del mismo por las estructuras que se generan, de los nodos en el grafo ha sido de
tipo FRLayout.
A continuación se puede ver un ejemplo de la estructura generada por este tipo
de disposición.
Figura 23: Estructura tipo FRLayout
81
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
Cabe destacar también la disposición circular de la que se ha hecho uso en
algunas partes del proyecto para la generación de ejemplos y casos de uso. La
mayoría de los ejemplos usan la disposición FRLayout debido a que con la circular
es muy difícil distinguir los distintos niveles de profundidad dentro del grafo al
colocarse los nodos en forma de anillo.
Figura 24: Estructura tipo CircularLayout
Información en el grafo
82
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
En el propio grafo, por motivos de utilidad, y también estéticos no es posible
mostrar toda la información que se quisiera. A continuación se resume y explica la
información que se muestra en el grafo para poder entenderlo de la mejor manera
posible.
•
Debido a que cada nodo representa un concepto, en cada uno de ellos se
muestra el nivel en el que se encuentra el nodo (siendo 0 el nivel raíz) y el
CUI del concepto.
•
En cada vértice, que representa la relación entre dos nodos, se muestra el
tipo de relación (de los especificados anteriormente y seleccionables en el
interfaz) junto con un identificador único.
2.3.8 Descripción de la generación de informes
La
funcionalidad
complementa a
de
generación
de
informes
constituye
una
ayuda,
y
la representación mediante grafos de la información extraída
del Metatesauro.
En la mayoría de grafos generados el número de nodos es muy elevado, y por lo
tanto, no es posible mostrar mucha información en los mismos sin perjudicar la
visualización.
Ademas de la información representada en el grafo que se ha explicado
previamente los informes lo complementan con mas detalle, incluyendo la propia
estructura del grafo para entender las relaciones que se dan dentro del mismo.
A continuación se explican las partes de las que se compone una linea de detalle
de los informes generados.
•
Nivel de la relación (NR): Número que indica el nivel del salto en el que se
encuentra la relación representada por dicha linea. El nivel mínimo de
83
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
cualquier relación pues, va a ser 1, ya que sería una relación entre el nodo
raíz y un nodo a distancia 1.
•
Concepto origen de la relación (CO): Concepto origen de la relación indicado
por
◦ Nivel dentro del grafo: Número que indica el nivel en el que se encuentra
dicho concepto.
◦ Identificador del concepto: CUI del concepto en cuestión.
•
Nombre por defecto del concepto destino de la relación (ND)
•
Concepto destino de la relación (CD): Concepto destino de la relación
indicado por
◦ Nivel dentro del grafo (NG): Número que indica el nivel en el que se
encuentra dicho concepto.
◦ Identificador del concepto: CUI del concepto en cuestión.
•
Tipo de relación (TR): Tipo de relación entre ambos conceptos, como se han
visto anteriormente los tipos propuestos son CHD, PAR, RB, RN.
•
Fuente (F): Fuente de conocimiento del concepto destino de la relación por
la que se ha filtrado al generar dicho grafo.
A continuación se propone un ejemplo para el concepto corazón de sus relaciones
de nivel 1, de tipo CHD-PAR, para la fuente de conocimiento SNM.
RELACIONES PARA EL CONCEPTO C0018787-Heart, Niveles: 1, Tipos: PAR-CHD,
Fuente: SNM
NR | CO
|
ND
|
CD
|
TR | F
------------------------------------------------------------------------------------------------------------------------------1-0-C0018787-Cardiac foramen ovale-1-C0016521-PAR-SNM
1-0-C0018787-Structure of aortopulmonary septum-1-C0231077-PAR-SNM
84
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
1-0-C0018787-Cardiopulmonary-1-C0553534-PAR-SNM
1-0-C0018787-Heart-1-C0018787-PAR-SNM
1-0-C0018787-Heart Ventricle-1-C0018827-PAR-SNM
1-0-C0018787-Cardiovascular system-1-C0007226-CHD-SNM
1-0-C0018787-Parietal band-1-C0545720-PAR-SNM
1-0-C0018787-Septal band-1-C0545721-PAR-SNM
1-0-C0018787-Heart Atrium-1-C0018792-PAR-SNM
1-0-C0018787-Heart Septum-1-C0018819-PAR-SNM
1-0-C0018787-Structure of trabecula carnea of right ventricle-1-C0225890-PAR-SNM
1-0-C0018787-Left ventricle, inflow tract-1-C0225911-PAR-SNM
1-0-C0018787-Outflow tract of left ventricle-1-C0225912-PAR-SNM
1-0-C0018787-Right ventricular structure-1-C0225883-PAR-SNM
1-0-C0018787-Right ventricle, inflow tract-1-C0225891-PAR-SNM
1-0-C0018787-Structure of outflow tract of right ventricle-1-C0225892-PAR-SNM
1-0-C0018787-Structure of trabecula carnea of left ventricle-1-C0225898-PAR-SNM
1-0-C0018787-Right side of heart-1-C0225808-PAR-SNM
1-0-C0018787-Left side of heart-1-C0225809-PAR-SNM
1-0-C0018787-Structure of tendon of conus arteriosus-1-C0225893-PAR-SNM
1-0-C0018787-Structure of base of heart-1-C0225810-PAR-SNM
1-0-C0018787-Structure of crista supraventricularis-1-C0225884-PAR-SNM
1-0-C0018787-Structure of apex of heart-1-C0225811-PAR-SNM
1-0-C0018787-Left ventricular structure-1-C0225897-PAR-SNM
1-0-C0018787-Structure of supratricuspid valve area-1-C0225859-PAR-SNM
Como se puede ver, todas las relaciones son de nivel 1, entre el concepto de nivel
0 (raíz) y sus conceptos relacionados de dicho nivel 1.
85
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Sistema de acceso a UMLS
86
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3 CASOS DE ESTUDIO/RESULTADOS
A continuación se exponen los dos casos de estudio contemplados en este
proyecto, junto con sus resultados y análisis. En ambos casos de estudio se
realiza un análisis de los datos obtenidos a través del sistema de acceso
programado, así como de los obtenidos mediante sentencias SQL sobre la base
de datos de las mismas peticiones que con el programa. Las consultas SQL sin
embargo, solo se han realizado del primer nivel de cada uno de los casos de
estudio debido a que niveles mas profundos implican un número de nodos muy
elevado y por lo tanto las consultas se multiplicarían y el nivel de complejidad
en las comparaciones también.
La comparativa de los resultados obtenidos de las dos maneras se realiza
partiendo de dos conceptos distintos en cada caso de estudio y filtrando de
manera distinta y en diferentes niveles de profundidad.
Para entender la estructura utilizada para plantear los parámetros de los casos
de estudio, todos ellos se plantean en el encabezado con la misma estructura,
que se indica a continuación:
•
Concepto origen: Concepto del que parten las relaciones.
•
Tipo de relación: RB-RN, CHD-PAR, o ambas.
•
Recurso/s: Recurso por el que se filtra la búsqueda. Por defecto no se
especifica ninguno en concreto.
•
Número de saltos: Número que delimita el nivel de profundidad de las
relaciones.
•
Número máximo de relaciones: Limite de relaciones por cada uno de los
nodos del grafo.
87
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3.1 Primer caso de estudio
El el primer caso de estudio se analizan los resultados obtenidos para el
concepto C0020179 – Huntington Disease, en dos niveles distintos de
profundidad (nivel 1 y 2), para los tipos de relaciones CHD-PAR, y RB-RN, sin
filtrar por tipo de recurso.
Seguidamente se analizan los datos obtenidos mediante sentencias SQL sobre
el mismo concepto y los mismos tipos de relaciones y se comparan los
resultados.
3.1.1 C0020179, CHD-PAR, Todos los recursos, 1 salto.
•
Concepto origen: C0020179
•
Tipo de relación: CHD-PAR.
•
Recurso/s: Todos.
•
Número de saltos: 1.
88
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
Figura 25: Relaciones 1 nivel CHD-PAR concepto C0020179
Como se puede ver en la figura el concepto C0020179 correspondiente a
Huntington disease de nivel 0 (Debido a que es la raíz) tiene una relación de
tipo CHD con el concepto C0553607 de salto 1. El 0 a la izquierda del tipo de
relación en la arista corresponde al identificador único de la relación. Debido a
que solo hay una relación presente el identificador es 0.
El informe correspondiente a las relaciones de distancia uno es el siguiente.
RELACIONES PARA EL CONCEPTO C0020179-Huntington Disease, Niveles: 1,
Tipos: PAR-CHD, Fuente: ALL
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0020179-Motion and Coordination Diseases and Syndromes-1-C0553607-CHDSNM
89
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3.1.2 C0020179, CHD-PAR, Todos los recursos, 2 saltos
•
Concepto origen: C0020170
•
Tipo de relación: CHD-PAR.
•
Recurso/s: Todos.
•
Número de saltos: 2.
Figura 26: Relaciones 1 nivel CHD-PAR concepto C0020179
90
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
En el caso de las relaciones de nivel dos, se puede ver como el concepto
C0553607 correspondiente a Motion and Coordination Diseases and Syndromes
tiene una serie de relaciones representadas por los nodos en color verde, la
mayoría de tipo PAR indicado por la dirección de la arista (dirección hacia
dentro).
En el informe se pueden ver los nombres asociados a las relaciones existentes.
RELACIONES PARA EL CONCEPTO C0020179-Huntington Disease, Niveles: 2,
Tipos: PAR-CHD, Fuente: ALL
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0020179-Motion and Coordination Diseases and Syndromes-1-C0553607-CHDSNM
2-1-C0553607-Tabes Dorsalis-2-C0039223-PAR-SNM
2-1-C0553607-Parkinsonism, Juvenile-2-C0752105-PAR-SNM
2-1-C0553607-Chronic progressive chorea-2-C0699728-PAR-SNM
2-1-C0553607-Electric chorea-2-C0270744-PAR-SNM
2-1-C0553607-Sylvian aqueduct syndrome-2-C0270748-PAR-SNM
2-1-C0553607-Marie Cerebellar Ataxia-2-C0270749-PAR-SNM
2-1-C0553607-Bailey-Cushing syndrome-2-C0270762-PAR-SNM
2-1-C0553607-Birnbaum's syndrome-2-C0270738-PAR-SNM
2-1-C0553607-Hemichorea-2-C0270739-PAR-SNM
2-1-C0553607-Double athetosis-2-C0270743-PAR-SNM
2-1-C0553607-Roussy-Levy Syndrome (disorder)-2-C0205713-PAR-SNM
2-1-C0553607-Parkinson Disease, Postencephalitic-2-C0030568-PAR-SNM
2-1-C0553607-Secondary Parkinson Disease-2-C0030569-PAR-SNM
2-1-C0553607-Taboparesis-2-C0275849-PAR-SNM
2-1-C0553607-Ataxias, Hereditary-2-C0004138-PAR-SNM
91
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C0553607-Ataxia Telangiectasia-2-C0004135-PAR-SNM
2-1-C0553607-Huntington Disease-2-C0020179-PAR-SNM
2-1-C0553607-Parkinson Disease-2-C0030567-PAR-SNM
2-1-C0553607-Neuromuscular Diseases-2-C0027868-CHD-SNM
2-1-C0553607-Organic writer's cramp-2-C0154676-PAR-SNM
2-1-C0553607-Gilles de la Tourette syndrome-2-C0040517-PAR-SNM
2-1-C0553607-Olivopontocerebellar Atrophies-2-C0028968-PAR-SNM
2-1-C0553607-Astasia-Abasia-2-C0004090-PAR-SNM
3.1.3 C0020179,RB-RN, Todos los recursos, 1 salto
•
Concepto origen: C0020179
•
Tipo de relación: RB-RN.
•
Recurso/s: Todos.
•
Número de saltos: 1.
92
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
Figura 27: Relaciones 1 salto RB-RN concepto C0020179
En la figura superior se pueden ver las relaciones de tipo RB-RN para el
concepto C0020179. Este caso es particular debido a que ninguno de los
conceptos de nivel 2 dispone de alguna relación de tipo RB-RN de salto 2, por
lo que dicha consulta no se a realizado y el grafo queda de dicha manera.
El informe correspondiente se ve a continuación.
93
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
RELACIONES PARA EL CONCEPTO C0020179-Huntington Disease, Niveles: 1,
Tipos: RB-RN, Fuente: ALL
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0020179-Extrapyramidal and movement disorders-1-C0477355-RN-MTH
1-0-C0020179-Hereditary Diseases-1-C0019247-RN-MTH
1-0-C0020179-Organic brain syndrome-1-C0029221-RN-MTH
1-0-C0020179-Chorea-1-C0008489-RN-MTH
1-0-C0020179-Hereditary Chorea-1-C0699731-RN-MTH
1-0-C0020179-chronic; chorea-1-C0699732-RN-MTH
1-0-C0020179-progressive; chorea-1-C0699734-RN-MTH
1-0-C0020179-Neurodegenerative Disorders-1-C0524851-RN-MTH
3.1.4 Consulta SQL para concepto C0020179, RB-RN
La consulta sobre el concepto C0020179 de primer nivel se ha realizado de la
siguiente manera sobre la base de datos instalada a nivel local.
SELECT CUI1, C1.STR, REL, CUI2, C2.STR, c2.SAB
FROM MRREL R, MRCONSO C1, MRCONSO C2
WHERE R.AUI1= C1.AUI AND R.AUI2=C2.AUI AND
(REL='RB' OR REL='RN') AND CUI1='C0020179';
94
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
CUI1
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
C0020179
STR
Huntington's disease
Huntington's disease
Huntington's disease
Huntington's disease
Huntington Disease
Huntington Disease
Huntington Disease
Huntington Disease
Huntington Disease
Huntington Disease
Huntington's chorea
Huntington's chorea
Huntington's chorea
Huntington's chorea
REL
RB
RB
RB
RB
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
CUI2
C0008489
C0025362
C0029221
C0019247
C1279186
C1864112
C1858114
C0751208
C0751207
C0393574
C0393574
C0393575
C0751208
C0393584
STR
chorea
mental retardation
organic brain syndrome
genetic disorder
Westphal disease
Huntington Disease-Like 1
Huntington Disease-Like 3
Juvenile Huntington Disease
Akinetic-Rigid Variant of Huntington Disease
Huntington Disease, Late Onset
Late onset Huntington's disease
Akinetic-rigid form of Huntington's disease
Juvenile onset Huntington's disease
Benign hereditary chorea
SAB
CSP
CSP
CSP
CSP
MSH
MSH
MSH
MSH
MSH
MSH
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
Tabla 16: Consulta SQL concepto C0020179
3.2 Segundo caso de estudio
En este segundo caso de estudio se realiza un análisis de los resultados
obtenidos para el concepto C0018787 correspondiente a Heart. Este es un
concepto mucho mas amplio donde el número de relaciones es mas extenso y
da lugar a grafos mas complejos donde es necesario un filtrado mas específico
por lo que se han acotado las búsquedas a los tipos de relaciones CHD-PAR y a
un recurso mas especifico a partir del segundo nivel de profundidad.
Se van a analizar los cuatro niveles de profundidad que ha decidido proponer
como máximo junto con los resultados SQL del primer nivel ya que el número
de relaciones es exponencial y detenerse a estudiar los resultados SQL de cada
uno de los nodos de todos los niveles no es viable.
3.2.1 C0018787, CHD-PAR, Todos los recursos, 1 salto.
•
Concepto origen: C0018787
•
Tipo de relación: CHD-PAR.
•
Recurso/s: Todos.
95
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
•
Número de saltos: 1.
Figura 28: Relaciones 1 salto CHD-PAR concepto C0018787
Como se puede ver el número de conceptos relacionados con el C0018787 ya
incluso en el primer de profundidad es muy elevado y el grafo se complica
bastante, considerando que se ha filtrado por tipo de relación.
RELACIONES PARA EL CONCEPTO C0018787-Heart, Niveles: 1, Tipos: PARCHD, Fuente: ALL
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
96
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
1-0-C0018787-Pericardial sac structure-1-C0031050-PAR-RCD
1-0-C0018787-Heart-1-C0018787-PAR-RCD
1-0-C0018787-Cardiac wall structure-1-C0446987-PAR-RCD
1-0-C0018787-Structure of cardiac vein-1-C0226654-PAR-RCD
1-0-C0018787-Intrathoracic cardiovascular structure-1-C0559362-CHD-RCD
1-0-C0018787-Mediastinum-1-C0025066-CHD-RCD
1-0-C0018787-Cardiac internal structure-1-C0456931-PAR-RCD
1-0-C0018787-Cardiac surface feature-1-C0456925-PAR-RCD
1-0-C0018787-Cardiovascular system-1-C0007226-CHD-RCD
1-0-C0018787-Coronary artery-1-C0205042-PAR-RCD
1-0-C0018787-Cardiac conduction system-1-C0018796-PAR-SNMI
1-0-C0018787-HEART AND PERICARDIUM-1-C1541678-CHD-SNMI
1-0-C0018787-Left atrial structure-1-C0225860-PAR-SNMI
1-0-C0018787-Left ventricular structure-1-C0225897-PAR-SNMI
1-0-C0018787-Right ventricular structure-1-C0225883-PAR-SNMI
1-0-C0018787-Heart Ventricle-1-C0018827-PAR-SNMI
1-0-C0018787-ATRIA: GENERAL TERMS-1-C0225831-PAR-SNMI
1-0-C0018787-HEART: GENERAL TERMS-1-C0225807-PAR-SNMI
1-0-C0018787-Right atrial structure-1-C0225844-PAR-SNMI
1-0-C0018787-Rheumatic illness with extraarticular and/or constitutional features
(fever, rash, pleurisy,etc) OR Systemic illness with rheumatic manifestation-1C0221589-CHD-AIR
1-0-C0018787-Cardiac murmur of MI-1-C0151233-PAR-AIR
1-0-C0018787-Aortic insufficiency: cardiac murmur of AI-1-C0151234-PAR-AIR
1-0-C0018787-Cardiac murmur, changing-1-C0151235-PAR-AIR
1-0-C0018787-Conduction system abnormalities-1-C0151236-PAR-AIR
1-0-C0018787-Prolonged PR interval, >=0.20-1-C0151237-PAR-AIR
97
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
1-0-C0018787-Myocarditis or cardiomyopathy on exam, EKG and echocardiography-1C0151238-PAR-AIR
1-0-C0018787-Pericarditis, on EKG or echocardiography-1-C0151239-PAR-AIR
1-0-C0018787-Pericarditis, on physical examination-1-C0151240-PAR-AIR
1-0-C0018787-Atrial myxoma-1-C0151241-PAR-AIR
1-0-C0018787-Myocardial Infarction-1-C0027051-PAR-AIR
1-0-C0018787-Menu of Other Findings: Systems Review-1-C0150838-CHD-AIR
1-0-C0018787-Coronary Aneurysm-1-C0010051-PAR-AIR
1-0-C0018787-Congestive heart failure-1-C0018802-PAR-AIR
1-0-C0018787-Heart murmur-1-C0018808-PAR-AIR
1-0-C0018787-Heart Atrium-1-C0018792-PAR-SNM
1-0-C0018787-Cardiopulmonary-1-C0553534-PAR-SNM
1-0-C0018787-Structure of valve of coronary sinus-1-C0226658-PAR-SNM
1-0-C0018787-Cardiac foramen ovale-1-C0016521-PAR-SNM
1-0-C0018787-Outflow tract of left ventricle-1-C0225912-PAR-SNM
1-0-C0018787-Left ventricle, inflow tract-1-C0225911-PAR-SNM
1-0-C0018787-Structure of trabecula carnea of right ventricle-1-C0225890-PAR-SNM
1-0-C0018787-Structure of supratricuspid valve area-1-C0225859-PAR-SNM
1-0-C0018787-Left auricular appendage-1-C0225861-PAR-SNM
1-0-C0018787-Structure of coronary sinus of left atrial septum-1-C0225863-PAR-SNM
1-0-C0018787-Structure of left coronary sulcus-1-C0225864-PAR-SNM
1-0-C0018787-Structure of supramitral valve area-1-C0225867-PAR-SNM
1-0-C0018787-Ventricular septum-1-C0225870-PAR-SNM
1-0-C0018787-Structure of atrioventricular septum-1-C0225871-PAR-SNM
1-0-C0018787-Structure
of
membranous
portion
of
interventricular
septum-1-
C0225872-PAR-SNM
1-0-C0018787-Anterior portion of interventricular septum-1-C0225873-PAR-SNM
1-0-C0018787-Structure of anterior interventricular sulcus-1-C0225874-PAR-SNM
98
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
1-0-C0018787-Structure of posterior portion of interventricular septum-1-C0225875PAR-SNM
1-0-C0018787-Structure of posterior interventricular sulcus-1-C0225876-PAR-SNM
1-0-C0018787-Structure of subaortic portion of interventricular septum-1-C0225877PAR-SNM
1-0-C0018787-Structure
of
subtricuspid
portion
of
interventricular
septum-1-
C0225878-PAR-SNM
1-0-C0018787-Apical portion of interventricular septum-1-C0225879-PAR-SNM
3.2.2 C0018787, CHD-PAR, SNMI, 2 saltos, 5 relaciones máx.
•
Concepto origen: C0018787
•
Tipo de relación: CHD-PAR.
•
Recurso/s: SNMI.
•
Número de saltos: 2.
•
Número de relaciones: 5.
Como se vio en apartados anteriores el sistema de acceso propuesto forma el
grafo buscando las relaciones que tienen los átomos de un concepto, con
átomos de otros conceptos del Metatesauro.
El sistema permite limitar el número de átomos explorados por cada concepto
y también el número de relaciones por cada átomo. En este caso se ha
considerado oportuno limitar el número de relaciones por cada átomo a 5 para
evitar que el grafo generado quede demasiado grande. El número de átomos
por cada concepto no se ha limitado por lo que se exploran todos.
99
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
Figura 29: Relaciones 2 saltos CHD-PAR concepto C0018787
RELACIONES PARA EL CONCEPTO C0018787-Heart, Niveles: 2, Tipos: PARCHD, Fuente: SNMI
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0018787-Cardiac conduction system-1-C0018796-PAR-SNMI
2-1-C0018796-Sinoatrial Node-2-C0037189-PAR-SNMI
2-1-C0018796-Heart-2-C0018787-CHD-SNMI
2-1-C0018796-Cardiac conduction system-2-C0018796-PAR-SNMI
2-1-C0018796-Structure of atrioventricular node-2-C0004247-PAR-SNMI
2-1-C0018796-Left bundle branch structure-2-C0459156-PAR-SNMI
1-0-C0018787-HEART AND PERICARDIUM-1-C1541678-CHD-SNMI
2-1-C1541678-Pericardial sac structure-2-C0031050-PAR-SNMI
100
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C1541678-Heart-2-C0018787-PAR-SNMI
2-1-C1541678-Cardiovascular system-2-C0007226-CHD-SNMI
2-1-C1541678-Heart Valves-2-C0018826-PAR-SNMI
2-1-C1541678-CARDIOVASCULAR SYSTEM: GENERAL TERMS-2-C0225803-PAR-SNMI
1-0-C0018787-Left atrial structure-1-C0225860-PAR-SNMI
2-1-C0225860-Heart-2-C0018787-CHD-SNMI
2-1-C0225860-Left atrial structure-2-C0225860-PAR-SNMI
2-1-C0225860-Left auricular appendage-2-C0225861-PAR-SNMI
2-1-C0225860-Structure of myocardium of left atrium-2-C0225862-PAR-SNMI
2-1-C0225860-Structure of coronary sinus of left atrial septum-2-C0225863-PAR-SNMI
1-0-C0018787-Left ventricular structure-1-C0225897-PAR-SNMI
2-1-C0225897-Heart-2-C0018787-CHD-SNMI
2-1-C0225897-Outflow tract of left ventricle-2-C0225912-PAR-SNMI
2-1-C0225897-Structure of endocardium of left ventricle-2-C0225913-PAR-SNMI
2-1-C0225897-Subvalvular aortic region-2-C0225914-PAR-SNMI
2-1-C0225897-Myocardium of left ventricle-2-C0225899-PAR-SNMI
2-1-C0225897-Left ventricular structure-2-C0225897-CHD-SNMI
1-0-C0018787-Right ventricular structure-1-C0225883-PAR-SNMI
2-1-C0225883-Heart-2-C0018787-CHD-SNMI
2-1-C0225883-Myocardium of right ventricle-2-C0225885-PAR-SNMI
2-1-C0225883-Papillary muscle of right ventricle-2-C0225886-PAR-SNMI
2-1-C0225883-Anterior papillary muscle of right ventricle-2-C0225887-PAR-SNMI
2-1-C0225883-Posterior papillary muscle of right ventricle-2-C0225888-PAR-SNMI
2-1-C0225883-Right ventricular structure-2-C0225883-CHD-SNMI
Para ver un ejemplo de lo que puede hacer un mal filtrado, o un filtrado nulo a
la hora de generar grafos mediante el sistema de acceso propuesto, a
101
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
continuación se ve una imagen donde no se ha hecho uso de ningún tipo de
filtrado en la generación de el grafo para las relaciones del concepto C0018787
de nivel 2 . Como se puede ver el grafo resultante es de unas dimensiones muy
elevadas, dificultando así su exploración.
Figura 30: Ejemplo generación de grafo poco filtrado
3.2.3 C0018787, CHD-PAR, SNMI, 3 saltos, 5 relaciones máx.
•
Concepto origen: C0018787
•
Tipo de relación: CHD-PAR.
•
Recurso/s: SNMI.
•
Número de saltos: 3.
102
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
•
Número de relaciones: 5.
En las relaciones de nivel 3 el número de relaciones es muy elevado por lo que
es necesario también limitar el número de relaciones por cada átomo
correspondiente a cada concepto explorado a 5. En la figura superior se puede
ver como quedan las relaciones de 3 niveles de profundidad con dicho filtrado,
y el informe correspondiente a continuación.
Figura 31: Relaciones 3 saltos CHD-PAR concepto C0018787
RELACIONES PARA EL CONCEPTO C0018787-Heart, Niveles: 3, Tipos: PARCHD, Fuente: SNMI
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0018787-Cardiac conduction system-1-C0018796-PAR-SNMI
2-1-C0018796-Sinoatrial Node-2-C0037189-PAR-SNMI
103
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C0018796-Heart-2-C0018787-CHD-SNMI
2-1-C0018796-Cardiac conduction system-2-C0018796-PAR-SNMI
2-1-C0018796-Structure of atrioventricular node-2-C0004247-PAR-SNMI
2-1-C0018796-Left bundle branch structure-2-C0459156-PAR-SNMI
3-2-C0459156-Cardiac conduction system-3-C0018796-CHD-SNMI
1-0-C0018787-HEART AND PERICARDIUM-1-C1541678-CHD-SNMI
2-1-C1541678-Pericardial sac structure-2-C0031050-PAR-SNMI
3-2-C0031050-Pericardial sac structure-3-C0031050-PAR-SNMI
3-2-C0031050-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0031050-Epicardium-3-C0225968-PAR-SNMI
3-2-C0031050-Structure of parietal pericardium-3-C0225969-PAR-SNMI
3-2-C0031050-Pericardial mesothelium-3-C0225970-PAR-SNMI
2-1-C1541678-Heart-2-C0018787-PAR-SNMI
2-1-C1541678-Cardiovascular system-2-C0007226-CHD-SNMI
3-2-C0007226-Topography Axis-3-C0392918-CHD-SNMI
3-2-C0007226-HEART AND PERICARDIUM-3-C1541678-PAR-SNMI
3-2-C0007226-Blood Vessel-3-C0005847-PAR-SNMI
2-1-C1541678-Heart Valves-2-C0018826-PAR-SNMI
3-2-C0018826-Pulmonary valve structure-3-C0034086-PAR-SNMI
3-2-C0018826-Tricuspid valve structure-3-C0040960-PAR-SNMI
3-2-C0018826-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0018826-Mitral Valve-3-C0026264-PAR-SNMI
3-2-C0018826-Aortic valve structure-3-C0003501-PAR-SNMI
3-2-C0018826-Cardiac valve nodules-3-C0521356-PAR-SNMI
3-2-C0018826-Structure of chordae tendineae cordis-3-C0008484-PAR-SNMI
3-2-C0018826-Structure of cardiac valve cusp-3-C0225923-PAR-SNMI
3-2-C0018826-Atrioventricular valve-3-C0225924-PAR-SNMI
3-2-C0018826-All cardiac valves-3-C0225925-PAR-SNMI
104
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3-2-C0018826-Heart Valves-3-C0018826-CHD-SNMI
2-1-C1541678-CARDIOVASCULAR SYSTEM: GENERAL TERMS-2-C0225803-PAR-SNMI
3-2-C0225803-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0225803-Cardiovascular system-3-C0007226-PAR-SNMI
3-2-C0225803-Systemic circulatory system-3-C0225804-PAR-SNMI
3-2-C0225803-Cardiopulmonary circulatory system-3-C0225805-PAR-SNMI
3-2-C0225803-Peripheral vascular system-3-C0225806-PAR-SNMI
1-0-C0018787-Left atrial structure-1-C0225860-PAR-SNMI
2-1-C0225860-Heart-2-C0018787-CHD-SNMI
2-1-C0225860-Left atrial structure-2-C0225860-PAR-SNMI
2-1-C0225860-Left auricular appendage-2-C0225861-PAR-SNMI
3-2-C0225861-Left atrial structure-3-C0225860-CHD-SNMI
2-1-C0225860-Structure of myocardium of left atrium-2-C0225862-PAR-SNMI
3-2-C0225862-Left atrial structure-3-C0225860-CHD-SNMI
2-1-C0225860-Structure of coronary sinus of left atrial septum-2-C0225863-PAR-SNMI
3-2-C0225863-Left atrial structure-3-C0225860-CHD-SNMI
1-0-C0018787-Left ventricular structure-1-C0225897-PAR-SNMI
2-1-C0225897-Heart-2-C0018787-CHD-SNMI
2-1-C0225897-Outflow tract of left ventricle-2-C0225912-PAR-SNMI
3-2-C0225912-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Structure of endocardium of left ventricle-2-C0225913-PAR-SNMI
3-2-C0225913-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Subvalvular aortic region-2-C0225914-PAR-SNMI
3-2-C0225914-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Myocardium of left ventricle-2-C0225899-PAR-SNMI
3-2-C0225899-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Left ventricular structure-2-C0225897-CHD-SNMI
1-0-C0018787-Right ventricular structure-1-C0225883-PAR-SNMI
105
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C0225883-Heart-2-C0018787-CHD-SNMI
2-1-C0225883-Myocardium of right ventricle-2-C0225885-PAR-SNMI
3-2-C0225885-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Papillary muscle of right ventricle-2-C0225886-PAR-SNMI
3-2-C0225886-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Anterior papillary muscle of right ventricle-2-C0225887-PAR-SNMI
3-2-C0225887-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Posterior papillary muscle of right ventricle-2-C0225888-PAR-SNMI
3-2-C0225888-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Right ventricular structure-2-C0225883-CHD-SNMI
3.2.4 C0018787, CHD-PAR, SNMI, 4 saltos, 5 relaciones máx.
•
Concepto origen: C0018787
•
Tipo de relación: CHD-PAR.
•
Recurso/s: SNMI.
•
Número de saltos: 4.
•
Número de relaciones: 5.
106
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
Figura 32: Relaciones 4 saltos CHD-PAR concepto C0018787
Por último en la siguiente imagen se pueden ver las relaciones de nivel 4 para
el concepto C0018787 junto con su respectivo informe del detalle del grafo.
RELACIONES PARA EL CONCEPTO C0018787-Heart, Niveles: 4, Tipos: PARCHD, Fuente: SNMI
NR | CO
|
ND
|
CD
|
TR | F
-------------------------------------------------------------------------------------------------------------------------------
1-0-C0018787-Cardiac conduction system-1-C0018796-PAR-SNMI
2-1-C0018796-Sinoatrial Node-2-C0037189-PAR-SNMI
2-1-C0018796-Heart-2-C0018787-CHD-SNMI
2-1-C0018796-Cardiac conduction system-2-C0018796-PAR-SNMI
2-1-C0018796-Structure of atrioventricular node-2-C0004247-PAR-SNMI
2-1-C0018796-Left bundle branch structure-2-C0459156-PAR-SNMI
107
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3-2-C0459156-Cardiac conduction system-3-C0018796-CHD-SNMI
1-0-C0018787-HEART AND PERICARDIUM-1-C1541678-CHD-SNMI
2-1-C1541678-Pericardial sac structure-2-C0031050-PAR-SNMI
3-2-C0031050-Pericardial sac structure-3-C0031050-PAR-SNMI
3-2-C0031050-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0031050-Epicardium-3-C0225968-PAR-SNMI
3-2-C0031050-Structure of parietal pericardium-3-C0225969-PAR-SNMI
4-3-C0225969-Pericardial sac structure-4-C0031050-CHD-SNMI
3-2-C0031050-Pericardial mesothelium-3-C0225970-PAR-SNMI
4-3-C0225970-Pericardial sac structure-4-C0031050-CHD-SNMI
2-1-C1541678-Heart-2-C0018787-PAR-SNMI
2-1-C1541678-Cardiovascular system-2-C0007226-CHD-SNMI
3-2-C0007226-Topography Axis-3-C0392918-CHD-SNMI
4-3-C0392918-Integumentary system-4-C0037267-PAR-SNMI
4-3-C0392918-Nervous System and Special Sense Organs-4-C0228057-PAR-SNMI
4-3-C0392918-Musculoskeletal System-4-C0026860-PAR-SNMI
4-3-C0392918-Body Regions-4-C0005898-PAR-SNMI
4-3-C0392918-Genitourinary system-4-C0042066-PAR-SNMI
3-2-C0007226-HEART AND PERICARDIUM-3-C1541678-PAR-SNMI
3-2-C0007226-Blood Vessel-3-C0005847-PAR-SNMI
4-3-C0005847-Veins-4-C0042449-PAR-SNMI
4-3-C0005847-Blood Vessel-4-C0005847-PAR-SNMI
4-3-C0005847-Aorta-4-C0003483-PAR-SNMI
4-3-C0005847-Pulmonary artery structure-4-C0034052-PAR-SNMI
4-3-C0005847-ARTERIES: TYPE AND STRUCTURE-4-C0225993-PAR-SNMI
4-3-C0005847-Structure of vasa vasorum-4-C0042367-PAR-SNMI
4-3-C0005847-Tunica Media-4-C0162867-PAR-SNMI
4-3-C0005847-Lumen of blood vessel-4-C0524424-PAR-SNMI
108
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C1541678-Heart Valves-2-C0018826-PAR-SNMI
3-2-C0018826-Pulmonary valve structure-3-C0034086-PAR-SNMI
4-3-C0034086-Pulmonary valve structure-4-C0034086-PAR-SNMI
4-3-C0034086-Structure of anulus fibrosus of pulmonary artery-4-C0225935-PAR-SNMI
4-3-C0034086-Structure of cusp of pulmonic valve-4-C0225936-PAR-SNMI
4-3-C0034086-Structure of right cusp of pulmonic valve-4-C0225937-PAR-SNMI
4-3-C0034086-Structure of left cusp of pulmonic valve-4-C0225938-PAR-SNMI
3-2-C0018826-Tricuspid valve structure-3-C0040960-PAR-SNMI
4-3-C0040960-Tricuspid valve structure-4-C0040960-PAR-SNMI
4-3-C0040960-Structure of anulus fibrosus of tricuspid orifice-4-C0225926-PAR-SNMI
4-3-C0040960-Tricuspid valve ostium-4-C0225927-PAR-SNMI
4-3-C0040960-Structure of septal leaflet of tricuspid valve-4-C0225931-PAR-SNMI
4-3-C0040960-Structure of chordae tendineae of tricuspid valve-4-C0225932-PAR-SNMI
3-2-C0018826-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0018826-Mitral Valve-3-C0026264-PAR-SNMI
4-3-C0026264-Mitral Valve-4-C0026264-PAR-SNMI
4-3-C0026264-Structure of anulus fibrosus of mitral orifice-4-C0225947-PAR-SNMI
4-3-C0026264-Mitral valve ostium structure-4-C0225948-PAR-SNMI
4-3-C0026264-Leaflet of mitral valve-4-C0225949-PAR-SNMI
4-3-C0026264-Structure of anterior leaflet of mitral valve-4-C0225950-PAR-SNMI
3-2-C0018826-Aortic valve structure-3-C0003501-PAR-SNMI
4-3-C0003501-Structure of right cusp of aortic valve-4-C1261078-PAR-SNMI
4-3-C0003501-Structure of left cusp of aortic valve-4-C1261079-PAR-SNMI
4-3-C0003501-Structure of posterior cusp of aortic valve-4-C1261080-PAR-SNMI
4-3-C0003501-Structure of anulus fibrosus of aorta-4-C0225957-PAR-SNMI
4-3-C0003501-Structure of cusp of aortic valve-4-C0225958-PAR-SNMI
3-2-C0018826-Cardiac valve nodules-3-C0521356-PAR-SNMI
4-3-C0521356-Heart Valves-4-C0018826-CHD-SNMI
109
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
3-2-C0018826-Structure of chordae tendineae cordis-3-C0008484-PAR-SNMI
4-3-C0008484-Heart Valves-4-C0018826-CHD-SNMI
3-2-C0018826-Structure of cardiac valve cusp-3-C0225923-PAR-SNMI
4-3-C0225923-Heart Valves-4-C0018826-CHD-SNMI
3-2-C0018826-Atrioventricular valve-3-C0225924-PAR-SNMI
4-3-C0225924-Heart Valves-4-C0018826-CHD-SNMI
3-2-C0018826-All cardiac valves-3-C0225925-PAR-SNMI
4-3-C0225925-Heart Valves-4-C0018826-CHD-SNMI
3-2-C0018826-Heart Valves-3-C0018826-CHD-SNMI
2-1-C1541678-CARDIOVASCULAR SYSTEM: GENERAL TERMS-2-C0225803-PAR-SNMI
3-2-C0225803-HEART AND PERICARDIUM-3-C1541678-CHD-SNMI
3-2-C0225803-Cardiovascular system-3-C0007226-PAR-SNMI
3-2-C0225803-Systemic circulatory system-3-C0225804-PAR-SNMI
4-3-C0225804-CARDIOVASCULAR SYSTEM: GENERAL TERMS-4-C0225803-CHD-SNMI
3-2-C0225803-Cardiopulmonary circulatory system-3-C0225805-PAR-SNMI
4-3-C0225805-CARDIOVASCULAR SYSTEM: GENERAL TERMS-4-C0225803-CHD-SNMI
3-2-C0225803-Peripheral vascular system-3-C0225806-PAR-SNMI
4-3-C0225806-CARDIOVASCULAR SYSTEM: GENERAL TERMS-4-C0225803-CHD-SNMI
1-0-C0018787-Left atrial structure-1-C0225860-PAR-SNMI
2-1-C0225860-Heart-2-C0018787-CHD-SNMI
2-1-C0225860-Left atrial structure-2-C0225860-PAR-SNMI
2-1-C0225860-Left auricular appendage-2-C0225861-PAR-SNMI
3-2-C0225861-Left atrial structure-3-C0225860-CHD-SNMI
2-1-C0225860-Structure of myocardium of left atrium-2-C0225862-PAR-SNMI
3-2-C0225862-Left atrial structure-3-C0225860-CHD-SNMI
2-1-C0225860-Structure of coronary sinus of left atrial septum-2-C0225863-PAR-SNMI
3-2-C0225863-Left atrial structure-3-C0225860-CHD-SNMI
1-0-C0018787-Left ventricular structure-1-C0225897-PAR-SNMI
110
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
2-1-C0225897-Heart-2-C0018787-CHD-SNMI
2-1-C0225897-Outflow tract of left ventricle-2-C0225912-PAR-SNMI
3-2-C0225912-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Structure of endocardium of left ventricle-2-C0225913-PAR-SNMI
3-2-C0225913-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Subvalvular aortic region-2-C0225914-PAR-SNMI
3-2-C0225914-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Myocardium of left ventricle-2-C0225899-PAR-SNMI
3-2-C0225899-Left ventricular structure-3-C0225897-CHD-SNMI
2-1-C0225897-Left ventricular structure-2-C0225897-CHD-SNMI
1-0-C0018787-Right ventricular structure-1-C0225883-PAR-SNMI
2-1-C0225883-Heart-2-C0018787-CHD-SNMI
2-1-C0225883-Myocardium of right ventricle-2-C0225885-PAR-SNMI
3-2-C0225885-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Papillary muscle of right ventricle-2-C0225886-PAR-SNMI
3-2-C0225886-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Anterior papillary muscle of right ventricle-2-C0225887-PAR-SNMI
3-2-C0225887-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Posterior papillary muscle of right ventricle-2-C0225888-PAR-SNMI
3-2-C0225888-Right ventricular structure-3-C0225883-CHD-SNMI
2-1-C0225883-Right ventricular structure-2-C0225883-CHD-SNMI
3.2.5 Consulta SQL para concepto C0018787, CHD-PAR
La consulta sobre el concepto C0018787 de primer nivel se ha realizado de la
siguiente manera sobre la base de datos instalada a nivel local.
SELECT CUI1, C1.STR, REL, CUI2, C2.STR,c2.SAB
FROM MRREL R, MRCONSO C1, MRCONSO C2
WHERE R.AUI1= C1.AUI AND R.AUI2=C2.AUI AND (REL='RB' OR REL='RN') AND CUI1='C0018787';
111
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Casos de estudio
CUI1
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
C0018787
STR
heart
heart
heart
heart
heart
heart
heart
heart
heart
heart
heart
heart
heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Heart
Cardiac structure
Cardiac structure
Heart structure
Heart structure
Heart structure
Heart structure
REL
RB
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RB
RB
RB
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RN
RB
RB
RB
RN
RN
RN
CUI2
C0007226
C0018792
C0010075
C0014124
C0018796
C0018819
C0018826
C0018827
C0027061
C0030352
C0031050
C0920751
C0744689
C0007226
C0025066
C0927231
C0030352
C0018826
C0003501
C0225860
C0225809
C0225897
C0026264
C0225844
C0225808
C0225883
C0040960
C0504004
C0034086
C0446987
C1269562
C1284915
C1284307
C0225813
C1279268
C0229920
STR
cardiovascular system
atrium
coronary vessel
endocardium
heart conduction system
heart septum
heart valve
heart ventricle
myocardium
papillary muscle
pericardium
heart cell
heart dimension/size
Cardiovascular system
Mediastinal part of chest
Organ with cavitated organ parts
Papillary muscle
Cardiac valve
Aortic valve
Left atrium
Left side of heart
Left ventricle
Mitral valve
Right atrium
Right side of heart
Right ventricle
Tricuspid valve
Fibrous skeleton of heart
Pulmonary valve
Wall of heart
Entire cardiovascular system
Entire middle mediastinum
Entire heart AND pericardium
Ossa cordis
Entire lymphatic vessel of heart and pericardial sac
Structure of lymphatic vessel of heart and pericardial sac
Tabla 17: Consulta SQL concepto C0018787
112
SAB
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
CSP
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
UWDA
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
SNOMEDCT_US
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Conclusiones
4 CONCLUSIONES
Este proyecto ha permitido concluir de una manera clara que el Sistema de
acceso, representación gráfica, y generado de informes de UMLS propuesto
supone una alternativa claramente viable de recuperación, estructuración y
representado de la información contenida en el Metatesauro UMLS.
En ambos casos de estudio, ya sea el primero que implica a un concepto más
sencillo, como el segundo que involucra a uno más complejo, se aprecia una
representación de la información clara y fácilmente navegable mediante
grafos.
El sistema propuesto permite también poder navegar por el grafo según se
guste, con distintos niveles de zoom para ver las relaciones con más claridad,
aunque en las imágenes propuestas no se pueda apreciar debido a que que se
ha buscado la totalidad de los grafos en las imágenes.
Por otro lado la funcionalidad de generación de informes permite ver los
detalles de cada relación y cada nodo si se desea, junto con las información de
los niveles en los que se encuentra cada una de las relaciones.
Adicionalmente se ha comprobado que el sistema supone un incremento
substancial de eficiencia respecto a el acceso mediante consultas SQL ya que
es capaz de representar relaciones entre conceptos de hasta 4 niveles de
profundidad planteados en este proyecto.
Esto implica que habría que realizar una consulta SQL por cada uno de los
nodos de los niveles de 1 a 3 de profundidad en un grafo de nivel 4 si se
quieren obtener las relaciones de todo el grafo, lo que supone una cantidad de
tiempo muy elevada, mientras que el sistema lo genera automáticamente
después de seleccionar los parámetros de filtrado correspondientes.
113
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Conclusiones
El salto en eficacia por lo tanto es muy elevado, sobre todo si consideramos
que el sistema esta preparado para poder manejar cualquier nivel de
profundidad, aunque a niveles muy altos el tiempo de ejecución aumenta de
manera exponencial.
Se puede concluir por lo tanto que el sistema supone una mejora en el acceso,
estructuración y representación de la información del Metatesauro UMLS
respecto a los sistemas de acceso existentes.
114
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Futuros desarrollos
5 FUTUROS DESARROLLOS
El sistema planteado tiene margen de optimización, tanto de rendimiento como
de alternativas a la hora del manejo de las estructuras de datos y la
representación de los mismos, y el potencial para la construcción de grafos con
una mayor complejidad es elevado.
Actualmente el sistema trabaja representando las relaciones en diferentes
niveles de un concepto especificado. Seria posible y lógico en el crecimiento
del sistema por lo tanto, plantear un futuro desarrollo que permitiera generar
grafos partiendo de dos conceptos independientes. De manera que el sistema
permita construir los dos grafos de las relaciones entre dichos dos conceptos
independientes y ver si alguno de los nodos de cada uno de los grafos tienen
alguna relación, relacionando los dos grafos en algún punto de los mismos.
Las combinaciones aumentan una vez se relacionan uno, dos o más grafos
para ver si alguno de los nodos dentro de X nivel de profundidad se relaciona
con el de otro grafo.
También sería interesante plantear la posibilidad de la generación de grafos
buscando una estructura de información común entre los mismos, permitiendo
realizar consultas buscando nodos comunes a otros nodos.
Por último sería interesante la introducción de algoritmos algo mas complejos,
como por ejemplo Dijkstra, para la búsqueda del camino mas corto entre dos
conceptos dentro de los grafos generados.
115
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Futuros desarrollos
116
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Bibliografía
6 BIBLIOGRAFÍA
Referencias Artículos
[BLHU93]
B L Humphreys, D A Lindberg Bull Med Libr Assoc. 1993 April;
81(2): 170–177.
The UMLS project: making the conceptual connection between
users and the information they need. B L Humphreys and D A
Lindberg
[BODE04]
Bodenreider, O. (2004). The unified medical language system
(UMLS): integrating biomedical terminology. Nucleic acids
research, 32(suppl 1), D267-D270.
[HUMP93]
Humphreys, B. L., & Lindberg, D. A. (1993). The UMLS project:
making the conceptual connection between users and the
information they need. Bulletin of the Medical Library
Association, 81(2), 170.
[LIND93]
Lindberg, D. A., Humphreys, B. L., & McCray, A. T. (1993). The
Unified Medical Language System. Methods of information in
medicine, 32(4), 281-291.
Referencias Web
[ATOM14]
https://uts.nlm.nih.gov/doc/ws/javadocs/gov/nih
/nlm/umls/dto/content/AtomDTO.html
[CONC14]
https://uts.nlm.nih.gov/doc/ws/javadocs/gov/nih/nlm/
umls/dto/content/ConceptDTO.html
[KNOW14]
http://www.nlm.nih.gov/research/umls/licensedcontent/
117
UNIVERSIDAD PONTIFICIA COMILLAS
Escuela Técnica Superior de Ingeniería (ICAI)
Ingeniero Informático
Bibliografía
umlsknowledgesources.html
[SOUR14]
http://www.nlm.nih.gov/research/umls/knowledge_sources/
metathesaurus/release/source_vocabularies.html
118
Descargar