Transforma y unifica datos de atención médica para BigQuery

En este documento, se describen los procesos y las consideraciones relacionadas con la unificación de los datos de atención médica en Google Cloud para investigadores, científicos de datos y equipos de TI que desean crear un data lake de estadísticas en BigQuery.

Cuando se unifican los datos, se reúnen los datos de diferentes estándares y formatos de archivos y se los transforma en un conjunto de datos coherente, estandarizado y listo para el análisis en profundidad. A fin de unificar los datos, debes validar las fuentes de datos y, luego, compilar una serie de canalizaciones para modificarlos a través de la transformación de la estructura, la resolución de identidad y la desidentificación.

Valida datos de origen

Los datos clínicos pueden ser inexactos y estar incompletos en su forma sin procesar, por lo que debes evaluar la calidad de los datos entrantes antes de su transformación. Una verificación de validación incluye los siguientes procesos:

  • Garantizar que los elementos de datos necesarios estén presentes
  • Confirmar los recuentos de datos para que el sistema de origen y el data lake de transferencia tengan la misma cantidad de recuentos de datos
  • Confirmar que los rangos de valores son razonables antes de invertir recursos de procesamiento

Google Cloud proporciona las siguientes formas de validar los datos de origen:

  • Cloud Data Fusion prepara los datos para que puedas ver y explorar un pequeño subconjunto de datos (1,000 filas o menos).
  • BigQuery te permite realizar muchas validaciones con SQL. Si hay discrepancias en los datos, puedes crear una vista con el fin de otorgar acceso a los usuarios identificados para la validación o exportar las filas seleccionadas a Hojas de cálculo de Google para la anotación y colaboración con un equipo.
  • Para las verificaciones de calidad automáticas de los datos, puedes crear directivas definidas por el usuario (UDD) mediante Cloud Data Fusion. Las UDD te permiten especificar el procesamiento personalizado, las verificaciones de datos y las funciones dentro de Cloud Data Fusion. La creación de las UDD también habilita la detección automática de valores atípicos.

Transforma datos y compila una canalización

La transformación estructural es un paso importante en la compilación de una canalización de transformación de datos y, además, incluye mapear campos, realizar análisis y formatear datos.

Si usas la API de Cloud Healthcare como método de transferencia, no es necesario analizar ni indexar datos. La API de Cloud Healthcare ofrece flexibilidad con los formatos de datos entrantes; acepta recursos y paquetes en formatos JSON de varias líneas y JSON delimitados por saltos de línea. Por ejemplo, si trabajas con el tipo de datos Recursos de interoperabilidad para atención médica rápida (FHIR), no necesitas desarrollar un analizador JSON personalizado. En su lugar, puedes usar las funciones integradas de la API de Cloud Healthcare para transferir los datos.

También puedes realizar transformaciones estructurales para las conversiones, como convertir un tipo de datos HL7v2 en un tipo de datos FHIR o un tipo de datos FHIR en un esquema SQL on FHIR.

Cloud Data Fusion tiene una amplia variedad de complementos precompilados para analizar, formatear, comprimir y convertir datos. Cloud Data Fusion también incluye Wrangler, una herramienta de visualización que filtra, limpia, formatea y proyecta los datos de forma interactiva en función de una muestra pequeña (1,000 filas) del conjunto de datos. Después de definir la transformación, Wrangler genera de forma automática una canalización de Dataproc que aplica los cambios al conjunto de datos completo.

En el caso de transformaciones más avanzadas, puedes usar un lenguaje de asignación basado en la configuración para la definición, administración y portabilidad de los mapeos estructurales.

Resuelve la identidad de los pacientes

Un paso importante en la transformación de datos es hacer coincidir los registros con sus identificadores únicos de pacientes (IUP). Mediante la coincidencia de registros, puedes crear un registro longitudinal que puede ayudar a identificar inconsistencias y duplicaciones en los datos y, también, a garantizar transformaciones coherentes de datos en registros individuales de pacientes. Puedes hacer coincidir los registros de pacientes mediante llamadas a un índice de paciente principal (MPI) con canalizaciones o modelos personalizados. Si consolidas los datos mediante FHIR, también existe un parámetro de búsqueda de identificador de pacientes que puedes usar para unir registros.

Conversión de terminología

Los entornos de terminología clínica cambian con frecuencia debido a los sistemas de codificación, los organismos rectores y las necesidades de la organización. Cuando combinas registros históricos con recursos recién creados, las inconsistencias pueden surgir entre la terminología anterior y la actual. Convertir y unificar términos médicos ayuda a garantizar la coherencia y la continuidad entre los estándares de terminología antiguos y nuevos.

Conversión de unidades de medida

Las unidades de medida pueden variar mucho, según las fuentes de transferencia, las organizaciones que realizan la medición y la región geográfica. En EE.UU., por ejemplo, el peso de un bebé se mide casi siempre en gramos, mientras que es normal medir el peso de un adulto en libras. La conversión y unificación de las unidades de medida ayuda a garantizar que las estadísticas capten todas las unidades de medida y que incluyan a todas las poblaciones de pacientes.

Desidentificación de datos

La desidentificación es el último paso del proceso de transformación porque puede interferir en la capacidad de unificar los datos, en particular, en la resolución de identidad y la extracción de entidades clínicas. Por ejemplo, si desidentificas demasiado pronto en la canalización, es posible que no puedas realizar la resolución de identidad precisa que se necesita para la unificación. Google Cloud ofrece muchas opciones, incluidas las personalizaciones, para ayudarte a desidentificar y seudonimizar los datos de atención médica.

Para datos de texto no estructurados o datos estructurados tradicionales, como los CSV, puedes usar Sensitive Data Protection a fin de clasificar y ocultar elementos de datos sensibles. Sensitive Data Protection también te permite personalizar la desidentificación según tus necesidades de seguridad y casos de uso mediante técnicas como el enmascaramiento, el hash seguro, la asignación de tokens, el agrupamiento y la encriptación para preservar el formato.

La API de Cloud Healthcare también cuenta con funciones de desidentificación integradas en la API, que están disponibles para conjuntos de datos de imágenes digitales y comunicaciones en medicina (DICOM) y de FHIR. Esta opción es útil cuando deseas conservar el modelo de datos inicial.

Si manejas datos de series temporales en el formato FHIR, puedes conservar la secuencia de recursos según el IUP. Esto significa que cuando usas la funcionalidad de cambio de fecha, puedes estar seguro de que se mantiene el orden de los recursos.

Usa almacenamiento intermedio

Como práctica recomendada, almacena los resultados de cada transformación en un almacenamiento intermedio (almacenamiento medio efímero) para que puedas solucionar problemas o volver a un estado anterior de transformación de datos en un caso de recuperación ante desastres. Puedes reescribir el almacenamiento intermedio cada vez que se ejecuta la canalización, en forma de una exportación sin procesar a Cloud Storage en BigQuery.

Información sobre la arquitectura de canalización

En el siguiente diagrama, se muestran las canalizaciones para la transformación y unificación de los datos.

Canalizaciones para la transformación y la unificación de los datos.

En el diagrama anterior, se muestra el proceso completo de los datos que se mueven a través de las canalizaciones, incluidos todos los pasos involucrados en la transformación y la unificación. Los datos se transfieren primero como datos sin procesar y, luego, pasan por la canalización de transformación de estructura y la canalización de resolución de identidad. Después, los datos sufren transformaciones adicionales (por ejemplo, la conversión de terminología y la desidentificación) y salen por la canalización de salida a BigQuery, donde se almacenan como datos unificados, listos para las estadísticas. Además, los metadatos en el almacenamiento intermedio se escriben de forma automática en el entorno de ejecución y se almacenan en BigQuery como datos de origen y linaje.

En el diagrama, también se muestran dos pasos de almacenamiento intermedios en los que, como práctica recomendada, puedes almacenar cada conjunto de datos entre las etapas de la canalización.

¿Qué sigue?