MiConsulta & MiVeterinaria logo
Telemedicina & HealthTech · En Producción Activa Logotipo & Identidad Oficial

MiConsulta & MiVeterinaria

SaaS de Telemedicina Multi-Dominio con Cluster WebRTC Privado, Receta Digital con Firma y Pagos Integrados.

Telemedicina & HealthTech SaaS Cluster WebRTC Self-Hosted Salud Humana & Veterinaria

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.

FastAPI Nuxt 3 WebRTC SFU PostgreSQL 15 MongoDB MercadoPago Caddy SSL

Demostración en Tiempo Real: Teleconsulta Médica y Receta Digital

Diagnóstico Pre-Llamada ➔ Sala de Espera ➔ Teleconsulta HD ➔ Receta PDF
miconsulta-telemedicine-runtime.webm

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.

1. Pre-Call Diagnostic ➔ 2. Sala de Espera ➔ 3. Teleconsulta WebRTC ➔ 4. Receta Digital CIE-10/11
WebRTC SFU

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.

Multi-Dominio

Salud Humana & Veterinaria

Un único backend y frontend en Nuxt 3 resolviendo dinámicamente identidad, estilos y pacientes polimórficos.

Cascada Pagos

Pagos & Scheduler TTL

Fallback de cobro Profesional ➔ Clínica y liberación automática de turnos expirados en 3 y 10 minutos por scheduler.

Políglota

Postgres 15 + MongoDB

PostgreSQL con bloqueos with_for_update() anti-solapamiento y MongoDB para auditoría clínica inmutable.

Showcase de Experiencia Clínica & Operativa

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.

waiting_room.vue WebRTC

[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.

prescription-editor.vue CIE-10/11

[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.

admin-finance.vue MercadoPago

[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.

Profundizar en la Arquitectura y Negocio

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.

01

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.

02

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:

[NODO 1] Cluster WebRTC Self-Hosted (SFU) en Docker Jitsi Web + Prosody XMPP + Jicofo + JVB

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.

[NODO 2] Resolución Multi-Dominio Dinámica & Theming en Caliente Nuxt 3 SSR + useOrganization.ts

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.

[NODO 3] Cascada Financiera (MercadoPago) & Scheduler TTL de Turnos MercadoPago Checkout Pro + APScheduler

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.

[NODO 4] Persistencia Políglota & Bloqueos Transaccionales PostgreSQL 15 (with_for_update) + MongoDB

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.

03

3. Desafíos Críticos de Ingeniería Superados

Preservación Criptográfica de Salas (Anti-Bifurcación)

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.

Conectividad WebRTC Robusta en Redes Móviles

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.

Prevención de Doble Reserva (Double-Booking)

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.

Interceptor de Notificaciones de Testing

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.

04

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.

Canal Directo WhatsApp