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.