integración dinámica de datos en investigación clínica · integración dinámica de datos en...
TRANSCRIPT
Integración Dinámica de Datos
en Investigación Clínica
Dra. Judith R. LoganDepartmento 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
Set de datos analítico
Tablero de comando del analista
G-trees
Selección registros/campo
s
Clasificación de datos
Archivo
SQL
SQL
canalesfuentes de datos
Tablero de comando DBA
GUI-As-View (GUAVA) 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
Historia de cancer de mama u ovario
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)
Opción para el grupo;
Si, No
G-tree como una pantalla de consulta
Genial! Como obtengo un G-tree?
SQL
Anotaciones
Generalidades de GUAVA y MultiClase
Set de datos analítico
Tablero de comando del analista
G-trees
Selección registros/campo
s
Clasificación de datos
Archivo
SQL
SQL
canalesfuentes de datos
Tablero de comando DBA
GUI-As-View (GUAVA) 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?
ID Nombre Edad Género Exp
1 Joe male 1
2 Sue 31 4
… … … … …
ID Atributo Valor
1 Nombre Joe
1 Género masculino
1 Exp 1
2 Nombre Sue
2 Edad 31
2 Exp 4
… … …
Tabla de Empleados, “esquema natural”Tabla de Empleados, esquema genérico
Operador VSplit
18
Representa la decisión de dividir algunas de las
columnas en su propia tabla
Antes: Después:
Paciente
ID_Paciente
DNI
Nombre
Apellido
TEHogar
Movil
Paciente
ID_Paciente
DNI
Nombre
Apellido
Detalles Paciente
ID_ Paciente
TEHogar
Movil
VSplit(Paciente, Detalles_Paciente,
{DNI, Nombre, Apellido})
O
Operado VMerge
Representa la decisión de combinar dos tablas en
una sola tabla
Antes:
Paciente
ID_Paciente
DNI
Nombre
Apellido
Detalles Paciente
ID_Paciente
TEHogar
Movil
VMerge(Paciente, Detalles_Paciente)
Después:
Paciente
ID_Paciente
DNI
Nombre
Apellido
TEHogar
Movil
O
Operador Pivot
Representa la decisión de transformar una tabla
genérica en una tabla tradicional.
Antes: Después:
Paciente
ID_Paciente
DNI
Nombre
Apellido
TEHogar
Movil
Paciente
ID_Paciente
Atributo
Valor
Pivot(Paciente,
ID_Paciente)
O
Operador Unpivot
21
Representa la decisión de transformar una tabla
en (clave, atributo, valor) filas
Antes: Después:
Paciente
ID_Paciente
DNI
Nombre
Apellido
TEHogar
Movil
Paciente
ID_Paciente
Atributo
Valor
Unpivot(Paciente)
O
Colocar los operadores juntos para
crear un canal
O1 O2 O3 O4 … On Consultas
DDL/DML
Resultados
Esquema
Natural
Base de
datos
física
Generalidades de GUAVA y MultiClase
Set de datos analítico
Tablero de comando del analista
G-trees
Selección registros/campo
s
Clasificación de datos
Archivo
SQL
SQL
canalesfuentes de datos
Tablero de comando DBA
GUI-As-View (GUAVA) 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
Options Exit
Recent Studies
PolypIncidence.owl
PolypRemoval2008.owl
CecalIntubationRate.owl
SedMedDocumentation.ow
l
Filters allow you to limit the rows to be included in the result set.
Name Description
Procs2008 Include colonoscopies performed in 2008
only
AgeGT18 Include data on patients greater than age
18 only
PolypIncidence.owl
Edit Delete
Save Delete
Inclusion criteriaStudy
Inclusion criteria
Exclusion criteria
Data dictionary
Data sources
Mapping
Results
2. Crear el diccionario de datos
Options Exit
Recent Studies
PolypIncidence.owl
PolypRemoval2008.owl
CecalIntubationRate.owl
SedMedDocumentation.ow
l
Data elements describe the columns to be included in the result set.
Name Description Null?
Age Age at time of procedure, may be calculated as
date of procedure - date of birth
Yes
Polyp Polyp found on examination
Depth Depth reached on examination
PolypIncidence.owl
Value Description
Value Description
proximal terminal ileum to cecum
distal cecum to rectum
Delete
Save Delete
Edit
Done
Study
Filters
Data
elements
Data sources
Mapping
Results
Data DictionaryStudy
Inclusion criteria
Exclusion criteria
Data dictionary
Data sources
Mapping
Results
3. Seleccionar una o más fuentes de datos
Options Exit
Recent Studies
PolypIncidence.owl
PolypRemoval2008.owl
CecalIntubationRate.owl
SedMedDocumentation.ow
l
Select data sources to be used in the study.
PolypIncidence.owl
Add data source
Open data source file:
CORIv4.guv
Browse …
ProVation.guv
Edit
Edit
Done
Open data source file:
Open data source file: Delete
Delete
Data SourcesStudy
Inclusion criteria
Exclusion criteria
Data dictionary
Data sources
Mapping
Results
Data Sources
4. Mapear los elementos a cada fuente
de datos
Options Exit
Recent Studies
PolypIncidence.owl
PolypRemoval2008.owl
CecalIntubationRate.owl
SedMedDocumentation.ow
l
CORIv4
Provider
Patient
dateOfBirth
gender
Procedure
Egd
Colonoscopy
procDate
Procedure
depthReached
Finding
Polyp
Tumor
Multiple polyps
PolypIncidence.owl
Mapping: Depth Data Element
depthReached incecum
ascending colon
hepatic flexure
transverse colon
splenic flexure
descending colon
sigmoid colon
rectum
indepthReached
Depth = Proximal
Depth = Distal
cecum
ascending colon
hepatic flexure
transverse colon
splenic flexure
descending colon
sigmoid colon
rectum
5. Correr la consulta
Set de datos analítico
Tablero de comando del
analista
G-trees
Selección registros/campo
s
Clasificación de datos
Archivo
SQL
SQL
canales fuentes de datos
Servidor GUAVA
¿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)
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.
¿Que sucede cuando el analista
clickea Ejecutar?
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
File
SQL
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 Multi-Database Study Schemas for Reusability. Proc AMIA Summits Trans Sci 2010. 2010:21-25. 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.