Análisis del Hipotiroidismo Congénito: Datos y Comunicación
data cleaning
exploratory analysis
streamlit
health
sms-api
Este proyecto analiza datos de hipotiroidismo congénito y aborda la falta de comunicación con los padres mediante un dashboard interactivo en Streamlit que no solo explora los datos, sino que también envía notificaciones SMS usando una API.
Author
LC Pallares
Published
March 24, 2025
Análisis del Hipotiroidismo Congénito: Datos y Comunicación
Resumen del Proyecto
El hipotiroidismo congénito es una condición presente desde el nacimiento que afecta la glándula tiroides, pero un problema crítico es que los padres a menudo no son informados a tiempo. Este proyecto tiene dos objetivos: analizar una base de datos sobre esta condición y desarrollar una herramienta práctica para mejorar la comunicación. Para ello, creé un dashboard en Streamlit que explora los datos y permite enviar notificaciones SMS a los padres mediante una API.
The congenital hypothyroidism (CH). CH affects 1 in 2,000-4,000 newborns worldwide. Early detection is vital. Untreated CH can lead to intellectual disability and growth delays.
Parte 1: Limpieza de la Base de Datos
La base de datos inicial requería un procesamiento exhaustivo para ser útil. Los pasos principales fueron:
Estandarización: Uniformé formatos de fechas, nombres y unidades (ej. niveles hormonales).
Valores faltantes: Gestioné datos incompletos, priorizando la imputación cuando fue posible.
Corrección de errores: Eliminé valores imposibles (ej. TSH negativa) y revisé inconsistencias.
Preparación para SMS: Aseguré que los datos de contacto (teléfonos) estuvieran limpios y en un formato compatible con la API.
Código documentado: El proceso está disponible en un Jupyter Notebook [enlace si lo subes].
El resultado es un conjunto de datos confiable para análisis y comunicación.
Parte 2: Exploración de Datos y Dashboard
El análisis exploratorio reveló patrones en los datos, mientras que el dashboard en Streamlit los hace accesibles. Algunas visualizaciones incluyen:
Code
import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npimport plotly.graph_objects as gonp.random.seed(42)tsh_levels = np.random.lognormal(mean=2, sigma=0.5, size=100)# Gráfico de seabornplt.figure(figsize=(10, 6))sns.histplot(tsh_levels, bins=20, kde=True, color='skyblue')plt.title('Distribución de Niveles de TSH al Nacer')plt.xlabel('Nivel de TSH (mIU/L)')plt.ylabel('Frecuencia')plt.axvline(tsh_levels.mean(), color='red', linestyle='--', label=f'Media: {tsh_levels.mean():.2f}')plt.legend()plt.grid(alpha=0.3)plt.show()# Gráfico de Plotlyfig = go.Figure(data=[go.Histogram(x=tsh_levels, nbinsx=20, histnorm='probability density')])fig.update_layout(title='Distribución de Niveles de TSH al Nacer', xaxis_title='Nivel de TSH (mIU/L)', yaxis_title='Densidad de probabilidad')fig.add_vline(x=tsh_levels.mean(), line_dash='dash', line_color='red', annotation_text=f'Media: {tsh_levels.mean():.2f}')fig.show()
Distribución de niveles de TSH al nacer
Distribución de TSH
Funcionalidad del Dashboard
Exploración interactiva: Los usuarios pueden filtrar y visualizar datos (ej. TSH por edad o región).
Notificaciones SMS: Integra una API (como Twilio) para enviar alertas a los padres con información clave, como “Su hijo/a tiene un nivel de TSH elevado. Contacte a su médico”.
Los niveles de TSH varían ampliamente, lo que indica la necesidad de segmentar los casos.
La falta de información a los padres parece estar relacionada con datos de contacto incompletos o desactualizados.
Parte 3: Estadística Avanzada (En Desarrollo)
Esta sección está en progreso. Planeo incluir: - Modelos predictivos para identificar casos de riesgo elevado. - Análisis de correlación entre factores demográficos y retrasos en la notificación. - Evaluación de la efectividad de las notificaciones SMS en la respuesta de los padres.
Pronto actualizaré esta entrada con más detalles.
Conclusiones Preliminares
El proyecto no solo transforma datos crudos en información útil, sino que también aborda un problema real: la comunicación con los padres. El dashboard combina análisis y acción, ofreciendo una solución práctica para mejorar la atención temprana del hipotiroidismo congénito.
Próximos Pasos
Finalizar la sección de estadística avanzada.
Optimizar el dashboard con más opciones de personalización para los SMS.
Probar la API de SMS en un entorno real y evaluar su impacto.