PulseAI: Diagnóstico Asistido
PulseAI es un sistema de soporte a la decisión clínica que utiliza redes neuronales convolucionales (CNN) para detectar anomalías en electrocardiogramas (ECG) y frotis sanguíneos.
1. Arquitectura del Sistema
El sistema sigue una arquitectura de microservicios contenerizados. El frontend en Angular se comunica con un API Gateway que distribuye la carga entre el servicio de autenticación y el servicio de inferencia de IA.
Componentes Principales
- • Frontend (Angular 17): Interfaz de usuario con componentes standalone y signals para reactividad.
- • API Gateway (Nginx): Balanceo de carga y proxy reverso para microservicios.
- • Servicio de Inferencia: FastAPI con modelo TensorFlow para predicciones en tiempo real.
- • Base de Datos: PostgreSQL para almacenamiento de historial y usuarios.
2. Instalación Local
Para levantar el entorno de desarrollo, asegúrate de tener Docker instalado.
Requisitos Previos
- ✓ Docker Desktop 4.0+
- ✓ Node.js 18+ (para desarrollo frontend)
- ✓ Python 3.10+ (para desarrollo backend)
- ✓ Git
# Clonar el repositorio
git clone https://github.com/shim3z/pulse-ai.git
# Entrar al directorio
cd pulse-ai
# Levantar servicios
docker-compose up --build 3. Modelo de Inteligencia Artificial
El núcleo del sistema utiliza una Red Neuronal Convolucional (CNN) entrenada con el dataset MIT-BIH Arrhythmia Database para detección de arritmias cardíacas.
Métricas del Modelo
Arquitectura de la Red
model = Sequential([
Conv1D(64, 3, activation='relu', input_shape=(187, 1)),
MaxPooling1D(2),
Conv1D(128, 3, activation='relu'),
MaxPooling1D(2),
Flatten(),
Dense(128, activation='relu'),
Dropout(0.5),
Dense(5, activation='softmax')
]) 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.
Ejemplo de Request
curl -X POST "https://api.pulseai.dev/v1/predict/ecg" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"ecg_data": [0.12, 0.45, ...], "sampling_rate": 360}' Última actualización: Diciembre 2025