PulseAI: Diagnóstico Asistido por IA
PulseAI es una plataforma web de apoyo al diagnóstico médico basada en inteligencia artificial. Permite analizar señales cardíacas (ECG) e imágenes de células sanguíneas, entregando predicciones con nivel de confianza y explicaciones en lenguaje natural. No reemplaza el criterio médico; actúa como herramienta de apoyo.
1. ¿Qué analiza?
Análisis de Pulso Cardíaco (ECG)
A partir de una señal eléctrica del corazón (electrocardiograma), el sistema evalúa cada latido con datos reales del dataset MIT-BIH y lo clasifica en:
- • Latido Normal (N): Patrón eléctrico regular y saludable.
- • Latido Ventricular (V): Contracción prematura en los ventrículos, tipo de arritmia que puede requerir atención médica.
Análisis de Células Sanguíneas
A partir de imágenes microscópicas (dataset BloodMNIST / MedMNIST), el sistema identifica 8 tipos de células:
| Célula | Función principal |
|---|---|
| Neutrófilo | Primera línea de defensa contra bacterias |
| Linfocito | Combate virus y genera anticuerpos |
| Monocito | Limpia células muertas e infecciones |
| Eosinófilo | Combate parásitos y responde a alergias |
| Basófilo | Involucrado en reacciones alérgicas |
| Eritroblasto | Glóbulo rojo inmaduro (normalmente en médula ósea) |
| Granulocito Inmaduro | Precursor de glóbulos blancos |
| Plaqueta | Coagulación y cicatrización |
2. Arquitectura del Sistema
El backend está construido como una API REST que al iniciar carga en memoria dos modelos de redes neuronales y los datasets de referencia. El frontend Angular se conecta directamente a la API desplegada en Google Cloud Run.
Cliente (Angular) → API REST (FastAPI)
│
┌───────────┴───────────┐
│ │
Módulo ECG Módulo Sangre
│ │
model.keras bloodmnist_cnn.keras
(MIT-BIH) (BloodMNIST) Stack tecnológico
| Capa | Tecnología |
|---|---|
| Framework Frontend | Angular 20 + TypeScript |
| Visualización | Chart.js |
| API REST | FastAPI + Uvicorn (ASGI) |
| Inteligencia Artificial | TensorFlow / Keras |
| Validación de datos | Pydantic |
| Contenedores | Docker / Docker Compose |
| Despliegue backend | Google Cloud Run |
3. Instalación Local
El proyecto está contenerizado con Docker, lo que permite ponerlo en marcha en cualquier entorno con un solo comando, sin depender de configuraciones locales.
Requisitos
- ✓ Python 3.12+ (ejecución directa)
- ✓ Docker y Docker Compose (recomendado)
Con Docker (Recomendado)
# Construir y ejecutar
docker-compose up --build
# En segundo plano
docker-compose up -d --build
# Detener
docker-compose down Sin Docker
python -m venv .venv
source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000 --reload 4. Modelos de Inteligencia Artificial
Al iniciar el servidor se cargan en memoria dos modelos de redes neuronales previamente entrenados. El sistema está optimizado para ejecutarse completamente en CPU, sin necesidad de hardware especializado (GPU).
Modelo ECG — model.keras
Entrenado con datos reales de pacientes del dataset MIT-BIH
(formato .npz). Clasifica señales cardíacas en latido Normal (N)
o Ventricular (V).
Modelo Células — bloodmnist_cnn.keras
CNN entrenada con el dataset MedMNIST (BloodMNIST). Clasifica imágenes microscópicas en 8 tipos celulares. Devuelve el tipo de célula detectado, su probabilidad de certeza y una explicación en lenguaje natural.
Estructura del proyecto (backend)
4. API Endpoints
La API REST está documentada con OpenAPI/Swagger y expone los siguientes endpoints principales:
/api/v1/predict/ecg Envía datos de ECG para análisis y obtiene predicción de arritmia.
/api/v1/predict/blood Envía imagen de frotis sanguíneo para clasificación celular.
/api/v1/history/{user_id} Obtiene historial de análisis de un usuario específico.
/api/v1/health Verifica el estado de salud del servicio y conexiones.
Última actualización: Marzo 2026 · v2.0