MiConsulta & MiVeterinaria
SaaS de Telemedicina Multi-Dominio con Cluster WebRTC Privado, Receta Digital con Firma y Pagos Integrados.
MICONSULTA & MIVETERINARIA: SaaS Multi-Dominio con Cluster WebRTC Privado y Gestión Clínica
Ecosistema SaaS multi-tenant y multi-dominio diseñado para brindar atención médica inmediata (Guardia Virtual 24/7), turnos programados, prescripción de recetas digitales y auditoría clínica. Cuenta con una arquitectura unificada que opera simultáneamente dos verticales de negocio bajo la misma base de código: Salud Humana (miconsulta.com.ar) y Salud Animal (miconsultaveterinaria.com), respaldada por un cluster WebRTC privado autogestionado con tolerancia a fallos.
Demostración en Tiempo Real: Teleconsulta Médica y Receta Digital
Contenedor Preparado: [GIF / Video en Loop del Sistema]
Diagnóstico pre-llamada de cámara/micrófono, sala de espera virtual con monitoreo de tiempo, videollamada WebRTC HD nativa en navegador y emisión de receta médica con firma digital y PDF reactivo.
Cluster Privado Autogestionado
Jitsi Meet en Docker con JVB en UDP 10000, fallback TCP 8443 y preservación determinística de salas sin costo por minuto.
Salud Humana & Veterinaria
Un único backend y frontend en Nuxt 3 resolviendo dinámicamente identidad, estilos y pacientes polimórficos.
Pagos & Scheduler TTL
Fallback de cobro Profesional ➔ Clínica y liberación automática de turnos expirados en 3 y 10 minutos por scheduler.
Postgres 15 + MongoDB
PostgreSQL con bloqueos with_for_update() anti-solapamiento y MongoDB para auditoría clínica inmutable.
Sala de Espera Inteligente, Prescripción Digital & Cascada de Pagos
Una plataforma concebida para brindar una atención fluida y sin fricción técnica, tanto para el paciente en momentos de urgencia como para el profesional de la salud en su práctica diaria.
[Captura 1: Sala de Espera & Teleconsulta]
Diagnóstico pre-llamada de cámara/micrófono, bypass médico y videoconsulta HD.
Teleconsulta de Baja Latencia: Verificación previa de hardware en el cliente, monitoreo de tiempo con carrusel educativo y alerta automática por WhatsApp a la administración si la espera se prolonga.
[Captura 2: Receta Médica Digital]
Código de 14 dígitos, diagnósticos CIE-10/CIE-11, firma digital y render PDF.
Prescripción Segura: Generación de recetas oficiales con código verificable único, matrícula profesional, posología farmacológica y despacho automático vía WhatsApp y correo electrónico.
[Captura 3: Panel Admin & Finanzas]
Configuración de credenciales MercadoPago por médico, planes y auditoría OpenObserve.
Gobernanza Financiera: Cobro directo a la cuenta del profesional con fallback a la clínica, liberación de turnos por TTL y auditoría de accesos inmutable en MongoDB.
El Desafío Técnico Completo: Cluster WebRTC Privado, Multi-Dominio y Resiliencia en Salud
Para evaluadores técnicos y líderes de arquitectura: cómo estructurar un SaaS de telemedicina con videollamadas autogestionadas de bajo costo, tolerancia a microcortes, aislamiento de datos y pagos en cascada.
1. El Problema de Negocio: Costos Prohibitivos de Video y Ausentismo en Salud
Dependencia de APIs de Video por Minuto
Usar proveedores externos como Twilio Video o Agora escala de forma exponencial los costos operativos en clínicas y guardias de alta duración, haciendo inviable el modelo para consultas de bajo costo o veterinarias.
Ausentismo y Horas Médicas Perdidas
La reserva de turnos virtuales sin prepago o sin un sistema de liberación automática por expiración generaba un alto índice de "no-show", bloqueando agendas médicas completas sin facturación.
Duplicación de Infraestructura
Operar telemedicina para personas y salud veterinaria requería tradicionalmente dos plataformas separadas, duplicando costos de mantenimiento, despliegues y bases de datos.
2. La Arquitectura Técnica: Cluster WebRTC Privado y Estrategia Multi-Dominio
Se implementó una arquitectura desacoplada que resuelve la videoconferencia en tiempo real mediante un cluster privado de Jitsi Meet, combinado con una API asíncrona en FastAPI y un frontend en Nuxt 3 con resolución dinámica de tenants:
Infraestructura privada SFU (Selective Forwarding Unit). El contenedor jitsi-jvb enruta flujos de video HD en UDP 10000, con fallback automático a TCP Harvester (puerto 8443) para usuarios bajo firewalls restrictivos. Señalización en tiempo real gestionada por Prosody XMPP con latencia sub-segundo.
Detección segura del host en tiempo de ejecución. Si la petición proviene de miconsultaveterinaria.com, inyecta la identidad corporativa, catálogo de especies/razas y textos veterinarios. Si proviene de miconsulta.com.ar, activa coberturas prepagas, especialidades humanas y grupos familiares. Todo bajo un único despliegue.
Evaluación dinámica de credenciales: si el médico configuró su cuenta de MercadoPago, el dinero ingresa directamente a su saldo; de lo contrario, aplica fallback a la cuenta de la clínica. Si el pago no se confirma en 10 minutos (turnos programados) o 3 minutos (Guardia Virtual), el scheduler libera automáticamente el slot de la agenda.
PostgreSQL gestiona la disponibilidad por calendario mediante bloqueos a nivel de fila with_for_update() para impedir sobre-reservas simultáneas. MongoDB almacena de forma inmutable la auditoría legal de accesos a historias clínicas y telemetría de videollamadas.
3. Desafíos Críticos de Ingeniería Superados
Uno de los problemas más graves en telemedicina ocurre cuando el médico recarga el navegador o sufre un microcorte y el sistema crea una sala nueva, dejando al paciente abandonado en la sala original. Se implementó un algoritmo idempotente en FastAPI (pickup_patient) que garantiza que ambos actores se reconecten siempre al mismo hash determinístico.
Para superar las restricciones de NAT y firewalls de operadores celulares 4G/5G, se configuró el Videobridge con UDP 10000 optimizado para baja latencia y un servidor de fallback TCP en el puerto 8443, permitiendo consultas estables incluso en conexiones con pérdida de paquetes.
En fechas de alta demanda médica, múltiples pacientes intentan reservar el mismo slot simultáneamente. El uso de transacciones con with_for_update() a nivel de fila garantiza que únicamente la primera transacción adquiera el turno, mientras que las subsiguientes reciben un error de slot ocupado de forma segura y consistente.
Para validar flujos de WhatsApp Cloud API y correos transaccionales en staging sin riesgo de enviar mensajes a pacientes reales, se diseñó un middleware interceptor (enable_testing_mode) que redirige todas las comunicaciones hacia terminales de prueba configurados.
4. Conclusión: Mi Rol como Full Stack & Arquitecto de Software
MiConsulta & MiVeterinaria sintetizan la capacidad de construir plataformas críticas de salud en tiempo real sin sobredimensionar costos de infraestructura:
Al autogestionar el cluster WebRTC en lugar de tercerizarlo por minuto, implementar un resolver multi-dominio que rentabiliza la misma base de código para dos industrias distintas y diseñar un motor de pagos en cascada con liberación automática de turnos, se logra un producto viable, escalable y con excelente experiencia de usuario para profesionales y pacientes.