Desplegando un Sistema de Radiología Completo en el Edge: 13 Módulos, Cero Servidores
Gonzalo Monzón
Fundador & Arquitecto Principal
Un radiólogo experto que ha trabajado con Siemens, Philips, Carestream y Epic puntuó nuestro sistema 9/10. Ese sistema — CIMAD RIS — es un Sistema de Información Radiológica completo con 13 módulos en producción, corriendo enteramente en Cloudflare Workers, D1 y R2. Sin servidores de hospital. Sin monolito Java. Sin licencia de seis cifras. Solo una SPA React hablando con infraestructura edge por ~€50/mes.
El Problema: La IT Sanitaria Está Anclada en 2005
Los sistemas RIS tradicionales comparten un patrón deprimente:
- Coste: €100K-500K+ de licencia inicial, más contratos de mantenimiento anual
- Infraestructura: Servidores dedicados, almacenamiento PACS local, personal IT para mantenerlos
- Actualizaciones: Dos veces al año con suerte, ventanas de mantenimiento coordinadas
- Acceso: Solo VPN, solo red del hospital — los radiólogos no pueden leer estudios desde casa
- UX: Interfaces diseñadas en 2008, nunca actualizadas de forma significativa
Para un centro de diagnóstico por imagen en Andorra, estas opciones tradicionales eran o inasequibles o sobredimensionadas. Necesitaban un RIS completo — desde la reserva de cita hasta la entrega del informe firmado — que una clínica pequeña pudiera operar. Lo construimos.
13 Módulos, Todos al 100%
CIMAD no es un prototipo ni un "MVP v1". Es un sistema en producción v3.0 con 13 módulos completamente terminados:
1. Portal Público
Web institucional con solicitud de citas online, información del centro, servicios y FAQ. Construido con Astro SSG en Cloudflare Pages — estático, rápido, optimizado para SEO.
2. Core RIS
El corazón del sistema — calendario de citas con slots por sala y modalidad, gestión de pacientes (demográficos, historial, documentos) y el ciclo completo de estudios: solicitud → programación → realización → informe → entrega. Salas configuradas para RX, TC, RM, Ecografía y Mamografía.
3. Worklist de Técnico
Cola de trabajo en tiempo real filtrada por sala, modalidad y urgencia. Seguimiento de estado desde programado → en progreso → completado → informado. Priorización automática de casos urgentes. Asignación de radiólogo.
4. Visor DICOM
Visor de imagen médica completo corriendo en el navegador — el módulo más exigente técnicamente. Más detalles abajo.
5. Editor de Informes
Informes estructurados con plantillas por modalidad y región anatómica. Dictado por voz con Whisper STT. Sugerencias IA de MedGemma integradas directamente en el editor. Hallazgos estructurados (BIRADS, ACR, TNM). Firma digital y exportación PDF profesional con branding de la clínica.
6. Portal del Paciente
Acceso seguro del paciente: ver citas, estudios e informes. Descarga de PDFs de informes. Acceso a imágenes DICOM con un visor simplificado. Historial completo. Notificaciones cuando el informe está listo.
7. IA Diagnóstica (MedGemma 1.5)
Detallado más abajo — diagnóstico asistido por IA que sugiere, nunca decide.
8. Facturación e Integración CASS
Facturación electrónica a la Seguridad Social de Andorra (CASS). Cálculo automático de cobertura (parte CASS vs. copago paciente). Facturas PDF profesionales. Integración Redsys para pagos con tarjeta online. Dashboard de facturación con filtros y exportación.
9. Consentimientos Digitales
14 tipos de consentimiento informado (TC con contraste, RM con gadolinio, biopsia, mamografía, etc.). Firma digital en canvas (táctil o ratón). PDF generado con firma embebida. Hash SHA-256 para integridad del documento. Archivo permanente vinculado al estudio.
10-11. Notificaciones WhatsApp y Email
Templates de WhatsApp vía Twilio (aprobados por Meta) para confirmación de cita, recordatorio 24h e informe disponible. Email vía Resend con 5 templates transaccionales.
12-13. Cloud PACS y Almacenamiento R2
Estudios DICOM almacenados en Cloudflare R2 con 8 endpoints API. URLs pre-firmadas con expiración. Organizado por paciente/estudio/serie. Compresión inteligente. Gestión centralizada de DICOMs, PDFs de informes, consentimientos firmados y facturas.
El Visor DICOM: Imagen Médica en el Navegador
Construir un visor DICOM de nivel producción en el navegador fue el mayor reto de ingeniería. La imagen médica tiene requisitos extremos: renderizado sin pérdida, mediciones precisas, controles de windowing de los que dependen los radiólogos para el diagnóstico.
Nuestro stack:
- cornerstone.js — El motor de renderizado. Gestiona parsing DICOM, visualización y el pipeline de renderizado
- Cloudflare R2 — Almacenamiento Cloud PACS. Estudios organizados por paciente → estudio → serie
- Carga progresiva — La primera imagen aparece en menos de 2 segundos, incluso para TCs con 200+ cortes. El resto se carga en segundo plano
Herramientas disponibles para el radiólogo:
- Zoom, pan, rotación — Navegación estándar
- Windowing (W/L) — Ajuste de ancho y nivel de ventana, crítico para diagnóstico (ventana ósea, tejido blando, pulmón)
- Mediciones — Distancia, ángulo, área, con pixel spacing calibrado del DICOM
- Navegador de series — Múltiples series por estudio, cambio rápido
- Overlay de IA — Hallazgos de MedGemma mostrados como marcadores semitransparentes sobre la imagen, activables/desactivables
El insight clave: los radiólogos no quieren una interfaz "nueva". Quieren las mismas herramientas que han usado durante 20 años, pero más rápidas y accesibles desde cualquier lugar. Replicamos los patrones de interacción de Syngo e InteleViewer, pero con tiempos de carga de 2 segundos en vez de 15.
MedGemma 1.5: IA Que Sugiere, Nunca Decide
Integramos tres modelos de IA, cada uno con un rol específico:
| Modelo | Función |
|---|---|
| MedGemma 1.5 | Análisis de imágenes radiológicas — detecta anomalías, sugiere hallazgos con niveles de confianza, resalta regiones de interés |
| Gemini 2.0 Flash | Generación de texto para informes — redacta borradores de informes a partir de hallazgos, crea resúmenes para el portal del paciente |
| Whisper | Dictado por voz — speech-to-text en tiempo real para informes manos libres |
El principio de diseño crítico: la IA sugiere, el radiólogo decide. Los hallazgos de MedGemma aparecen como overlay en el visor DICOM, claramente marcados como generados por IA. El radiólogo puede aceptar, modificar o descartar cada hallazgo. El editor de informes muestra el texto sugerido por la IA como borradores editables, nunca como output final.
No se trata de reemplazar radiólogos — se trata de captar lo que se escapa durante una sesión de lectura de 8 horas. Un segundo par de ojos que nunca se cansa, nunca se distrae, y procesa cada píxel de cada imagen.
HL7 FHIR: Hablando con el Sistema Nacional de Salud
Andorra tiene un sistema de historia clínica compartida — HCCA (Història Clínica Compartida d'Andorra). La integración es obligatoria. Construimos un parser HL7 v2.x completo:
- Decodificación de segmentos: MSH, PID, PV1, OBR, OBX, AL1, DG1 — la estructura completa del mensaje
- Mapping bidireccional: Traducción de datos CIMAD ↔ HCCA en ambas direcciones
- DICOM MWL: Integración de Modality Worklist — el equipo de imagen recibe la lista de pacientes automáticamente, sin entrada manual en la máquina
- Conformidad con estándares europeos: Cumplimiento total con los requisitos de interoperabilidad sanitaria de la UE
Cuando un radiólogo firma un informe, se transmite automáticamente al HCCA. El médico de cabecera del paciente recibe una notificación. El estudio pasa a formar parte de la historia clínica nacional del paciente. Todo esto ocurre en segundos, no en días.
Firmas Digitales: Validez Legal en el Edge
Cada informe radiológico requiere una firma digital legalmente válida. Cada formulario de consentimiento informado necesita la firma del paciente con verificación de integridad del documento. Implementamos:
- Firma del radiólogo: Firma criptográfica aplicada al PDF del informe final, embebida en el documento
- Firma de consentimiento del paciente: Captura de firma en canvas (funciona en pantallas táctiles y con ratón), embebida en el PDF de consentimiento
- Hash de integridad SHA-256: Cada documento firmado recibe un hash almacenado por separado — cualquier modificación del PDF tras la firma es detectable
- Pista de auditoría: Quién firmó, cuándo, desde qué dispositivo, dirección IP — cadena de custodia completa
La Seguridad Edge Es Mejor Que On-Premise
La primera objeción de cada stakeholder sanitario: "Los datos de pacientes no pueden estar en la nube." Lo abordamos de frente porque nuestra configuración cloud es genuinamente más segura que la mayoría de salas de servidores de hospitales:
- Cifrado: Datos cifrados en reposo (D1/SQLite) y en tránsito (TLS 1.3 en todo)
- Modelo zero-trust: Sin VPN necesaria. Cada petición autenticada con JWT + acceso basado en roles. Radiólogos, técnicos, recepción y pacientes ven solo lo que deben
- Cloudflare WAF + DDoS: Protección automática que la mayoría de hospitales no tienen en sus servidores on-premise
- Residencia de datos en la UE: Workers y almacenamiento configurados para región EU — GDPR cumplido por arquitectura
- Acceso desde cualquier lugar: Latencia sub-100ms mundial. Los radiólogos leen estudios desde casa, el hospital, un congreso — misma velocidad, misma seguridad
Compara esto con el RIS típico de hospital: un Windows Server sin parchear en un armario con un SAI, accesible solo vía VPN que nadie ha auditado en tres años. Nos quedamos con nuestra configuración.
Arquitectura: Cómo Se Conecta Todo
Portal Público (Astro SSG)
└── Cloudflare Pages (estático, cacheado globalmente)
App CIMAD RIS (React SPA + Vite)
├── Calendario de Citas / Gestión de Pacientes
├── Worklist de Técnico (estado en tiempo real)
├── Visor DICOM (cornerstone.js + R2 PACS)
├── Editor de Informes (plantillas + dictado + IA)
├── Portal del Paciente (seguro, roles limitados)
├── Dashboard de Facturación (CASS + Redsys)
└── Admin / Configuración
Backend (Cloudflare Workers — 30+ endpoints API)
├── D1 → Pacientes, citas, estudios, informes, facturas
├── R2 → Imágenes DICOM, PDFs, consentimientos
├── MedGemma 1.5 → Análisis diagnóstico IA
├── Whisper → Dictado por voz STT
├── Twilio → Notificaciones WhatsApp
└── Resend → Email transaccional
Integraciones Institucionales
├── API CASS → Facturación Seguridad Social
├── HCCA / HL7 FHIR → Historia clínica nacional
├── DICOM MWL → Worklist equipos de imagen
└── Redsys → Pagos con tarjeta
~700 Tests: La Sanidad Exige Corrección
El software sanitario no puede tener "bugs menores". Un ID de paciente incorrecto en un informe, un error de facturación con la Seguridad Social o un consentimiento con firma inválida — cualquiera de estos podría tener consecuencias legales. Nuestra suite de tests cubre:
- Flujos end-to-end: Cita → estudio → informe → firma → facturación → transmisión FHIR
- Integración CASS: Cálculos de cobertura, facturación electrónica, casos edge (pacientes extranjeros, coberturas especiales)
- Parsing de mensajes HL7: Cada tipo de segmento, mapping bidireccional, manejo de mensajes malformados
- Generación de PDFs: Informes, facturas, consentimientos — contenido correcto, firmas embebidas, estructura válida
- Acceso por roles: El radiólogo ve todo, el técnico ve la worklist, el paciente ve solo sus datos
~700 tests pasan en cada deploy. El pipeline de CI bloquea cualquier despliegue que no pase el 100%.
ROI: Los Números Que Importan
⏱️ Tiempo hasta informe: -92% (de horas a minutos con dictado por voz + borrador IA)
📞 Llamadas telefónicas: -90% (portal de paciente + notificaciones WhatsApp lo gestionan)
📅 Citas procesadas/hora: +150% (workflow digital vs. papel)
📂 Estudios perdidos: -100% (cloud PACS — nada se pierde, jamás)
💰 Coste infraestructura: ~€50/mes vs. €500+/mes para servidores dedicados
🏥 Puntuación experta: 9/10 por radiólogo con experiencia en Siemens, Philips, Carestream, Epic
🧪 Cobertura de tests: ~700 tests pasando en cada deploy
🔒 Cumplimiento: GDPR, CASS, HCCA (HL7 FHIR), firmas digitales — todo verificado en producción
Lo Que Aprendimos Construyendo Software Sanitario
- Replica los workflows existentes, no los reinventes: Los radiólogos tienen hábitos específicos construidos durante décadas. Nuestro visor DICOM replica los patrones de interacción de herramientas que ya conocen (Syngo, InteleViewer). Innovar en UX significa más rápido, no diferente.
- La IA debe ser explícitamente asistiva: En el momento en que la IA "decide" algo en sanidad, tienes un problema de responsabilidad. Cada output de IA está claramente etiquetado, es editable y descartable. La firma del radiólogo significa que el radiólogo asume la responsabilidad — no el algoritmo.
- Las integraciones institucionales son el 40% del trabajo: Reglas de facturación CASS, estructuras de mensajes HL7 FHIR, peculiaridades de DICOM MWL — el trabajo "aburrido" de integración llevó tanto tiempo como construir el visor y la IA juntos.
- Las firmas digitales necesitan revisión legal: Diferentes jurisdicciones tienen diferentes requisitos. La regulación de firma digital de Andorra requirió decisiones de implementación específicas que no habríamos descubierto sin involucrar asesoría legal desde el principio.
- La infraestructura edge funciona para sanidad: La objeción de "los datos no pueden estar en la nube" se disuelve cuando demuestras cifrado, acceso zero-trust, residencia en la UE y protección WAF. La mayoría de stakeholders sanitarios se sorprenden al saber que su configuración actual es menos segura.
Etiquetas
Sobre el Autor
Gonzalo Monzón
Fundador & Arquitecto Principal
Gonzalo Monzón es Arquitecto de Soluciones Senior e Ingeniero IA con más de 26 años construyendo sistemas críticos en Sanidad, Automatización Industrial e IA empresarial. Fundador de Cadences Lab, está especializado en conectar infraestructura legacy con tecnología de vanguardia.
Artículos Relacionados
Edge Computing: Por Qué lo Apostamos Todo a Cloudflare (Y Qué Consigues por $65/Mes)
Sin servidores, sin contenedores, sin Kubernetes. Corremos 14+ productos interconectados en 9 productos Cloudflare — Workers, D1, R2, Durable Objects, Pages, KV, Vectorize, Workers AI y WAF. $65/mes por lo que costaría $400-600 en AWS. La arquitectura completa.
Heartbeat: Un Motor de Salud Proactiva Que Piensa Antes de Que Preguntes
Construimos un motor de salud que late como un corazón — analizando periódicamente el contexto del usuario mediante análisis Deep Pulse con IA, perfiles User DNA, simulación de crisis y evolución visual para generar recomendaciones proactivas antes de que el usuario las pida.
SQLite Es la Base de Datos de Producción Que Ya Conoces (Solo Que Aún No Lo Sabes)
DHH alcanzó 30.000 escritores concurrentes en SQLite. Nosotros ejecutamos 14+ productos en Cloudflare D1 (SQLite en el edge) por 5$/mes. SQLite no es la base de datos de juguete que crees — está impulsando todo, desde ONCE de 37signals hasta toda nuestra plataforma multi-tenant. Así es como la industria está convergiendo en la base de datos más desplegada del mundo.