>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Jupyter

Cómo el código del MIT ayuda a salvar vidas en la UCI

Imagina que necesitas entrenar una red neuronal para predecir el riesgo de sepsis o encontrar la dosis óptima de medicamentos para un paciente en estado crítico. ¿De dónde obtienes los datos? En medicina, este es un problema enorme: preocupaciones de privacidad, formatos dispersos y una clara escasez de conjuntos de datos de calidad. Pero hay un proyecto que ha servido como el "estándar de oro" en este campo durante casi una década. Estamos hablando del repositorio mimic-code del Computational Physiology Lab del MIT.

Esto no es solo una biblioteca: es un centro masivo de conocimiento construido en torno a la base de datos MIMIC (Medical Information Mart for Intensive Care). Si estás haciendo ciencia de datos en el sector salud o simplemente quieres ver cómo se maneja el Big Data en medicina, este proyecto es una parada obligatoria en tu lista de aprendizaje.

Por qué los desarrolladores deberían sumergirse en el código médico

Por lo general, trabajar con datos médicos se convierte en una pesadilla. Cada hospital tiene sus propias tablas, sus propias abreviaturas para pruebas y diferentes formas de registrar la presión arterial. El repositorio mimic-code resuelve el problema principal: la reproducibilidad. En lugar de reinventar la rueda cada vez y escribir analizadores para datos sin procesar, la comunidad ha recopilado scripts verificados para procesar información sobre cientos de miles de pacientes.

El proyecto es útil si necesitas:

  • Desplegar rápidamente una copia local o en la nube de una base de datos masiva de UCI.
  • Usar algoritmos listos para usar para extracción de características (por ejemplo, calcular la escala de coma de Glasgow o el índice de gravedad SAPS II).
  • Entender cómo estructurar series temporales complejas de sensores de monitoreo.

Qué hay dentro del repositorio

La estructura del proyecto refleja la evolución de la base de datos en sí. Contiene scripts para varias generaciones de conjuntos de datos: desde el clásico MIMIC-III hasta el moderno MIMIC-IV, que incluye datos del departamento de emergencias e incluso imágenes de rayos X.

Scripts de compilación y ETL

Las carpetas mimic-iii y mimic-iv contienen scripts SQL para PostgreSQL, BigQuery y otros DBMS. Transforman archivos CSV dispersos en una estructura relacional coherente. Este es un gran ejemplo de cómo organizar procesos ETL para volúmenes de datos de cientos de gigabytes.

Conceptos derivados

Esta es quizás la parte más valiosa. En medicina, saber "pulso" no es suficiente. Necesitas entender si el paciente tuvo shock o insuficiencia renal. El repositorio contiene consultas SQL que calculan tales condiciones sobre la marcha. No necesitas ser médico para extraer la característica de "lesión renal aguda" de la base de datos: los expertos ya han escrito este código por ti.

Utilidades de Python

En la raíz, hay un paquete mimic_utils. Ayuda con la transpilación de código SQL y la preparación de datos. La instalación es estándar:

pip install -e ".[test]"

Por cierto, los autores se preocupan por la reproducibilidad, así que hay un requirements-lock.txt en el repositorio. Esto asegura que tus scripts no se "rompan" un mes después debido a alguna actualización de biblioteca.

Nube e inicio rápido

Si no quieres lidiar con la instalación local de PostgreSQL con terabytes de datos, el proyecto ofrece integración lista para usar con AWS y Google Cloud. Para AWS, incluso hay un botón de lanzamiento rápido para el stack de CloudFormation.

cloudformation-launch-stack

Esto desplegará un Jupyter Notebook con acceso a datos preconfigurado a través de Amazon Athena. Conveniente si necesitas probar rápidamente una hipótesis sin descargar todo el archivo de PhysioNet a tu disco.

El README menciona varias utilidades de terceros interesantes que complementan el código principal:

  • Bloatectomy — limpia notas clínicas de duplicados (en medicina, los textos a menudo se copian y pegan de un pase de visita al siguiente).
  • MIMIC-Extract — transforma tablas sin procesar a un formato que los modelos de aprendizaje automático "consumen" (DataFrames de Pandas con intervalos de tiempo fijos).
  • FIDDLE — una tubería completa para convertir registros electrónicos de salud estructurados en vectores de características.

¿Vale la pena sumergirse?

El proyecto es específico, pero extremadamente importante para la industria. Si planeas trabajar en MedTech, conocer MIMIC es como conocer Linux para un administrador de sistemas.

El código aquí no siempre parece el Python "de moda" de las últimas versiones. Hay mucho SQL puro, mucha terminología médica específica. Pero es un proyecto vivo que realmente se usa en miles de publicaciones científicas.

¿Por dónde empezar? Sugeriría primero obtener acceso a los datos en PhysioNet (es gratis, pero necesitas completar un curso corto sobre ética de datos de pacientes), y luego clonar el repositorio y ejecutar los tutoriales de la carpeta mimic-iv/tutorials. Esto te dará una comprensión de cómo funcionan los datos en el mundo real, no en libros de texto de SQL.

Proyectos relacionados