Download Integración Dinámica de Datos en Investigación

Document related concepts
no text concepts found
Transcript
Integración Dinámica de Datos
en Investigación Clínica
Dra. Judith R. Logan
Departmento de Informática Médica & Epidemiología Cllínica
Oregon Health & Science University
Buenos Aires, Junio16, 2011
en colaboración con
Lois M. L. Delcambre, PhD
James F. Terwilliger, PhD
Scott Britell
Vandana Kapoor
Gabe Buckmaster
Con financiación de
Collins Medical Trust
National Institutes of Health,
National Library of Medicine
El problema

Datos, datos, datos

Como integramos estos silos de datos para la
investigación?
*http://www.hansonsilo.com/tower-silos.php
La motivación
ProVation® Medical
Registro Nacional
de Endoscopias
Creando un set de datos analítico

Desde una única fuente de datos
◦ Extracción de datos
◦ Transformación de datos (unidades,
categorización, etc.)
◦ Cargado en una bases de datos analítica

Desde múltiples fuentes de datos
◦ Repetir los mismos pasos para cada fuente y
luego integrar los datos
◦ Integrar o federar primero la base de datos y
luego seguir los pasos
Nuestros principios:


El analista (experto en el dominio) deberia
tomar las decisiones para la integración.
Para poder hacer esto, el analista debería
contar con
◦ Esquema que facilite la comprensión del esquema
de datos
◦ Información sobre el contexto en el que se
recolectaron los datos
◦ Herramientas que faciliten la integración

Las decisiones de integración deberían ser
“dinámicas” , hechas a lo largo del estudio y
no solo una vez.
Generalidades de GUAVA y MultiClase
Tablero de comando
del analista
Tablero de
comando DBA
Selección
registros/campo
s
SQL
fuentes de datos
canales
Archivo
G-trees
Clasificación
de datos
SQL
GUI-As-View (GUAVA)
Set de datos
analítico
MultiClase
G-tree

Una representación XML del "esquema
natural" con las anotaciones contextuales
◦ El "esquema natural" a menudo imita la
interfaz de usuario en el que se recogen los
datos - una tabla para cada pantalla
◦ Las anotaciones contextuales son información
acerca de cómo se recopilan los datos, como
 ¿Era el elemento datos requeridos?
 ¿Cuáles fueron las opciones de un menú o un grupo
de opciones?
 ¿Cuál fue el texto en la pantalla?
G-tree
Display de G-tree
- Paciente
- COLONOSCOPIA
+ Historia
+ Examen Fisico
+ Enfermedad Hepática
- Indicaciones
- Evaluación de sospecha de malignidad (Grupo)
Cancer Colorectal Hereditario No-poliposico
Poliposis familiar adenomatosa
Colitis Ulcerosa
Enfermedad de Crohn
+ Historia de cancer colorectal
- Historia de polipos adenomatosos
Opción para el grupo;
Historia de cancer de mama u ovario
Si, No
Edad al diagnóstico
+ Historia familiar de polipos adenomatosos
+ Historia familiar de cancer colorectal
+ Radiografía anormal
Riesgo promedio
+ Evaluación de pérdida de sangre (Grupo)
+ Procedimiento terapéutico (Grupo)
G-tree como una pantalla de consulta
Genial! Como obtengo un G-tree?
SQL
Anotaciones
Generalidades de GUAVA y MultiClase
Tablero de comando
del analista
Tablero de
comando DBA
Selección
registros/campo
s
SQL
fuentes de datos
canales
Archivo
G-trees
Clasificación
de datos
SQL
GUI-As-View (GUAVA)
Set de datos
analítico
MultiClase
Que hace el experto en
base de datos (DBA)

El canal es una serie de transformaciones
definidas por el DBA que cambia el esquema
de base de datos al "esquema natural"
Vertical Split (VSplit)
Vertical Merge (VMerge)
Horizontal Split (HSplit)
Horizontal Merge (HMerge)
Pivot
Unpivot
Function Application (Apply)
Renaming
Que hace el experto en
base de datos (DBA)




Una consulta al "esquema natural" ,se
transforma en el canal, en una consulta que
la base de datos comprende.
La consulta transformada se corre contra la
base de datos, los datos obtenidos coinciden
con el "esquema natural”
Los datos no son transformados
El analista nunca tiene que saber lo que la
base de datos parece ser
Por que tener un canal?
Tabla de Empleados, esquema genérico Tabla de Empleados, “esquema natural”
ID
Atributo
Valor
ID
Nombre
1
Nombre
Joe
1
Joe
1
Género
masculino
2
Sue
1
Exp
1
… …
2
Nombre
Sue
2
Edad
31
2
Exp
4
… …
…
Edad
Género
male
31
…
Exp
1
4
…
…
Operador VSplit
O
Antes:
Después:
Paciente
Paciente
ID_Paciente
ID_Paciente
ID_ Paciente
DNI
DNI
TEHogar
Nombre
Nombre
Movil
Apellido
Apellido
TEHogar
Movil
Detalles Paciente
VSplit(Paciente, Detalles_Paciente,
{DNI, Nombre, Apellido})
Representa la decisión de dividir algunas de las
columnas en su propia tabla
18
Operado VMerge
O
Antes:
Paciente
Detalles Paciente
Después:
Paciente
ID_Paciente
ID_Paciente
ID_Paciente
DNI
TEHogar
DNI
Nombre
Movil
Nombre
Apellido
Apellido
TEHogar
VMerge(Paciente, Detalles_Paciente)
Movil
Representa la decisión de combinar dos tablas en
una sola tabla
O
Operador Pivot
Antes:
Después:
Paciente
Paciente
ID_Paciente
ID_Paciente
Atributo
DNI
Valor
Nombre
Apellido
Pivot(Paciente,
ID_Paciente)
TEHogar
Movil
Representa la decisión de transformar una tabla
genérica en una tabla tradicional.
O
Operador Unpivot
Antes:
Después:
Paciente
Paciente
ID_Paciente
ID_Paciente
DNI
Atributo
Nombre
Valor
Apellido
TEHogar
Movil
Unpivot(Paciente)
Representa la decisión de transformar una tabla
en (clave, atributo, valor) filas
21
Colocar los operadores juntos para
crear un canal
DDL/DML
Base de
datos
física
O1
O2
O3
O4
…
On
Consultas
Resultados
Esquema
Natural
Generalidades de GUAVA y MultiClase
Tablero de comando
del analista
Tablero de
comando DBA
Selección
registros/campo
s
SQL
fuentes de datos
canales
Archivo
G-trees
Clasificación
de datos
SQL
GUI-As-View (GUAVA)
Set de datos
analítico
MultiClase
El tablero de comando del
analista






El analista de datos diseña una consulta con los
criterios de inclusión / exclusión y un diccionario de
datos
El analista de datos selecciona el G-Tree, que se
conecta automáticamente al archivo del canal y la
fuente de datos y se muestra como un árbol que
facilita la formulación de consultas.
Usando del G-tree, el analista de mapea los
elementos de consulta al origen de datos
Para la integración de datos, los elementos de
consulta se mapean a más de un origen de datos
El analista ejecuta la consulta para obtener un
conjunto de datos analíticos
El analista guarda la consulta para correrla de nuevo si
es necesario
1. Definir criterios de inclusión/exclusión
PolypIncidence.owl
Inclusion criteria
Study
Recent Studies
Inclusion criteria Filters allow you to limit the rows to be included in the result set.
PolypIncidence.owl
Exclusion criteria
PolypRemoval2008.owl
Data dictionaryCecalIntubationRate.owl
Data sources
SedMedDocumentation.ow
Name
Description
l
Procs2008
Include colonoscopies performed in 2008
only
AgeGT18
Include data on patients greater than age
18 only
Mapping
Results
Options
Exit
Edit
Delete
Save
Delete
2. Crear el diccionario de datos
PolypIncidence.owl
Data Dictionary
Study
Study
Recent Studies
Filters
Inclusion criteria Data elements describe the columns to be included in the result set.
PolypIncidence.owl
Data
Exclusion criteria
PolypRemoval2008.owl
elements
Data dictionary
CecalIntubationRate.owl
Name
Data
Datasources
sources
Description
Null?
time of procedure, may be calculated as
date of procedure - date of birth
Yes
SedMedDocumentation.ow
l
Age
Age at
Mapping
Mapping
Results
Results
Polyp
Options
Depth
Polyp found on examination
Value
Exit
Description
Depth reached on examination
Value
Description
proximal
terminal ileum to cecum
Edit
Delete
distal
cecum to rectum
Save
Delete
Done
3. Seleccionar una o más fuentes de datos
PolypIncidence.owl
Data Sources
Study
Recent Studies
Inclusion criteria Select data sources to be used in the study.
PolypIncidence.owl
Exclusion criteria
PolypRemoval2008.owl
Data dictionaryCecalIntubationRate.owl
Open data source file: CORIv4.guv
Data sources
Mapping
Results
SedMedDocumentation.ow
l
Open data source file:
ProVation.guv
Edit
Delete
Edit
Delete
Browse …
Open data source file:
Add data source
Options
Exit
Done
4. Mapear los elementos a cada fuente
de datos
PolypIncidence.owl
CORIv4
Recent Studies
Mapping: Depth Data Element
Depth = Proximal
Provider
PolypRemoval2008.owl
Patient
CecalIntubationRate.owl
depthReached
in
SedMedDocumentation.ow
dateOfBirth
l
gender
Procedure
Egd
Colonoscopy
procDate
Depth = Distal
Exit
Procedure
Options
depthReached
depthReached
in
Finding
Polyp
Tumor
Multiple polyps
PolypIncidence.owl
cecum
ascending colon
hepatic flexure
transverse colon
splenic flexure
descending colon
sigmoid colon
rectum
cecum
ascending colon
hepatic flexure
transverse colon
splenic flexure
descending colon
sigmoid colon
rectum
5. Correr la consulta
Servidor GUAVA
Selección
registros/campo
s
SQL
fuentes de datos
SQL
Tablero de
comando del
analista
canales
Set de datos
analítico
Archivo
G-trees
Clasificación
de datos
¿Que sucede cuando el analista
clickea Ejecutar?
La consulta se formula utilizando álgebra
relacional y se envía al servidor GUAVA
 El servidor GUAVA aplica la consulta a un
extremo del canal
 La consulta es transformada en el canal a
una consulta equivalente en el lenguaje
adecuado para la base de datos (los
componentes en el canal son específicos
del sistema de base de datos)

¿Que sucede cuando el analista
clickea Ejecutar?
La consulta transformada se ejecuta en la
base de datos y recupera todos los datos
que se devuelven al servidor GUAVA
 Las transformaciones de datos (las
asignaciones o mapeos), entonces son
aplicadas
 Los set de datos son integrados
 Los datos integrados se envían al analista
que lo ingresa a un paquete estadístico.

Guardar su trabajo
Esto puede ser muy trabajoso.
 ¿Qué pasa si desea ejecutar el estudio de
nuevo? O modificarlo un poco?
 El estudio (la consulta) puede ser
guardada

◦ Hemos demostrado la habilidad de guardarlo
como un archivo de modelo de datos
operacional (ODM)
◦ Este archivo puede ser importado y correrlo
nuevamente o modificarlo
¿Como lo hemos utilizado?

Ya hemos visto el ejemplo que nos motivó
(CORI).
◦ En la actualidad CORI tiene mas de 2 millones de
registros en la Base de Datos Nacional de
Endoscopías y está comenzando a recibir datos
de ProVation.
◦ Los datos de CORI proviene de dos versiones

Hemos demostrado la habilidad para
integrar datos de un estudio sobre cancer
de mama, parte capturada en forma
electrónica y parte de formularios de papel
escaneados
Nuestro objetivo
Integración con software estadístico
 Implementación en un entorno de
computación grid, como el proyecto
caGrid del Instituto Nacional del Cáncer

SQL
File
SQL
Publicaciones






Terwilliger JF, Delcambre LML, Logan J. The User Interface is the Conceptual Model.
Proc 25th International Conference on Conceptual Modeling (ER2006), Tucson, AZ.
November 6-9, 2006, 424–436.
Logan JR, Terwilliger JF, Delcambre LML. Exploiting the User Interface for Tomorrow's
Clinical Data Analysis. Journal on Information Technology in Healthcare, April 2008,
6(2):138–149. Reprinted from Today’s Information for Tomorrow’s Improvements
2007, an international conference addressing Information Technology and
Communications in Health (ITCH 2007).
Terwilliger JF, Delcambre LML, Logan JR. Querying Through a User Interface. Data and
Knowledge Engineering, 2007;63:748-768.
Logan JR, Britell S, Delcambre LML, Kapoor V, Buckmaster JG. Representing MultiDatabase Study Schemas for Reusability. Proc AMIA Summits Trans Sci 2010. 2010:2125. PMC3041545
Terwilliger JF, LML Delcambre, JR Logan, D Maier, DW Archer, J Steinhauer, S Britell.
Enabling the Revisitation of Fine-Grained, Clinical Information. Proc of the 1st ACM
International Health Informatics Symp (IHI '10). 2010;:420-24.
Britell S, JG Buckmaster, JR Logan, LML Delcambre,V Kapoor. Providing Domain
Analysts with Natural Schemas to Enable Clinical Research. Accepted for publication:
Journal of Biomedical Informatics.