Sistema open source de captura prospectiva de datos clínicos y monitorización postoperatoria temprana en Cirugía Mayor Ambulatoria (CMA).
EDC CMA implementa el protocolo del TFM "Diseño arquitectónico y protocolo prospectivo para la captura de datos y monitorización postoperatoria en CMA" y está diseñado para ser desplegado por equipos de investigación clínica que necesitan soberanía total sobre sus datos.
- 📋 Cribado y consentimiento (CONSORT compliant) — Workflow estructurado de inclusión/exclusión y consentimiento informado
- 🩺 Datos clínicos estandarizados — Variables del protocolo CMA: ASA-PS, comorbilidad, STOP-BANG, Apfel, anestesia, eventos intraoperatorios
- 📧 Seguimiento automatizado por email — ePROMs en 24h, 72h y 30d con motor cron de rescate escalonado
- 📞 Rescate telefónico — Workflow para registrar respuestas por teléfono cuando el paciente no responde
- 🔔 Alertas clínicas accionables — Detección automática de dolor severo, NVPO, infección de sitio quirúrgico, reingresos
- 📈 Dashboard de factibilidad en tiempo real — KPIs del TFM con metas y semáforos
- 📥 Exportación CSV anonimizada — 4 datasets listos para R/SPSS/Python/Excel
- 🧩 Diagrama CONSORT visual — Imprimible para tu manuscrito
- 👥 Multi-usuario con roles — Admin / Investigador / Solo lectura
- 📝 Audit log completo — Trazabilidad regulatoria de todas las acciones
- 🎨 Personalización institucional — Logo, nombre, textos patient-facing editables
- 🔒 Privacy by design — PII cifrada AES-256-GCM, separación de schemas pii/clinical, tokens ePROM de un solo uso
- 📖 Manual de usuario integrado + tooltips contextuales
Prerrequisitos: Docker + Docker Compose, openssl
git clone https://github.com/baptistaw/edc-cma.git
cd edc-cma
./install.shEl script interactivo te pide los datos institucionales, genera secretos
criptográficos, levanta los contenedores y crea el primer admin. En menos
de 5 minutos tenés el sistema corriendo en http://localhost:3000.
Para una guía detallada incluyendo deploy con dominio y HTTPS, leé INSTALL.md.
┌─────────────────────────────────────────────────────────┐
│ Investigador │
│ (Panel web con sidebar + roles) │
└─────────────────────────┬───────────────────────────────┘
│
▼
┌───────────────────────┐
│ Express API (Node) │
│ + Cron de rescate │◄────┐
│ + Mailer (SMTP) │ │ envía ePROMs
└────────┬──────────────┘ │
│ │
┌───────────────┼───────────────┐ │
▼ ▼ ▼ │
┌────────┐ ┌──────────────┐ ┌──────────────┐
│ schema │ │ schema │ │ Paciente │
│ pii │ │ clinical │ │ (ePROM web) │
│ (AES) │ │ (UUID-only) │ └──────────────┘
└────────┘ └──────────────┘
└───────┬──────┘
│
PostgreSQL 16
Stack:
- Backend: Node.js 20 + Express + node-postgres + zod + bcryptjs + nodemailer
- Base de datos: PostgreSQL 16 (schemas separados
pii/clinical) - Frontend: Vanilla JavaScript (sin framework)
- Crypto: AES-256-GCM para PII, HMAC-SHA256 para hashes deterministas, bcrypt para contraseñas
- Auth: JWT propio (HS256), 24h TTL
- Despliegue: Docker Compose, opcional Nginx + Let's Encrypt
Si usás EDC CMA en tu investigación, por favor citalo. Este software tiene DOI persistente vía Zenodo (CERN), lo que garantiza que la cita siga siendo válida aunque el repositorio cambie de ubicación o desaparezca.
Baptista, W. (2026). EDC CMA: Electronic Data Capture for Ambulatory Surgery
(Versión 1.0.1) [Software]. Zenodo. https://doi.org/10.5281/zenodo.19511344
Baptista W. EDC CMA: Electronic Data Capture for Ambulatory Surgery [Internet].
Versión 1.0.1. Zenodo; 2026 [citado 2026]. doi:10.5281/zenodo.19511344
@software{baptista2026edccma,
author = {Baptista, William},
title = {{EDC CMA: Electronic Data Capture for Ambulatory Surgery}},
year = 2026,
version = {1.0.1},
publisher = {Zenodo},
doi = {10.5281/zenodo.19511344},
url = {https://doi.org/10.5281/zenodo.19511344},
license = {MIT}
}GitHub muestra un botón "Cite this repository" automáticamente gracias al
archivo CITATION.cff, que incluye el DOI.
EDC CMA está diseñado para cumplir con buenas prácticas de protección de datos médicos:
- Cifrado at-rest de toda PII (hospital record ID, nombre, teléfono, email)
- Separación de schemas
pii.*(encriptado) yclinical.*(solo UUIDs) para que los exports estadísticos sean automáticamente disociados - Single-use tokens para ePROMs con expiración a 48h
- Audit log inmutable de todas las operaciones de escritura
- Self-hosted — los datos nunca salen de tu institución
- Aprobación por su comité de ética local
- Consentimiento informado de los pacientes
- Cumplimiento de la normativa de protección de datos aplicable (GDPR, ley 19.628 en Uruguay, LOPDGDD en España, etc.)
- Validación clínica en su contexto específico
El autor no provee garantía de adecuación clínica ni de cumplimiento regulatorio. Ver LICENSE para términos completos.
Issues y pull requests son bienvenidos. Para cambios grandes, abrí primero un issue para discutir el alcance.
MIT © 2026 William Baptista