Documento de arquitectura

Arquitectura del MVP — DoctorYa

Documento de arquitectura end-to-end del MVP de DoctorYa, plataforma de telemedicina para Latinoamérica. Incluye definición de módulos, capas tecnológicas, flujos principales y análisis de riesgos.

Versión 1.0País: ColombiaEstado: En revisión

1Visión general

DoctorYa es una plataforma de telemedicina diseñada para conectar pacientes con profesionales de la salud certificados en Latinoamérica. El MVP se enfoca en el mercado colombiano, cumpliendo con la regulación local de protección de datos (Ley 1581), telesalud (Ley 1419) y facturación electrónica (DIAN).

Objetivo del MVP

Validar la demanda de teleconsulta médica en Colombia con un producto funcional que permita agendar, pagar y realizar consultas médicas de forma segura.

Usuarios objetivo

Pacientes que buscan acceso rápido a consultas médicas y profesionales de la salud que desean expandir su práctica con teleconsulta.

2Diagrama de componentes — Arquitectura por capas

Capa de presentación

Next.js 14 (App Router)React 18Tailwind CSSResponsive / Mobile-first

Capa de API

Next.js API RoutesREST APIJWT Auth MiddlewareRate Limiting

Capa de negocio

Servicios de dominioValidación de reglasOrquestación de pagosGestión de citas

Capa de datos

PostgreSQLPrisma ORMRedis (cache/sesiones)S3 (archivos/imágenes)

Capa de infraestructura

DockerCI/CD PipelineCDN (assets)Monitoreo / Logs

Patrón arquitectónico

Arquitectura en capas (Layered Architecture) con separación clara entre presentación, API, lógica de negocio y datos. Monolito modular para el MVP con capacidad de evolucionar a microservicios según la escala lo requiera.

3Módulos críticos del MVP

Autenticación y autorización

Alcance

Registro de pacientes y médicos, login con email/contraseña, MFA, recuperación de contraseña, gestión de sesiones JWT, control de acceso basado en roles (RBAC).

Dependencias

  • Base de datos de usuarios
  • Servicio de email transaccional
  • Proveedor TOTP/SMS para MFA

Integraciones

  • ReTHUS (validación de licencia médica)
  • SendGrid/SES (emails)
  • Twilio (SMS MFA)

Tecnologías

NextAuth.js / Auth.jsJWT + Refresh Tokensbcrypt (hashing)TOTP (speakeasy)

Pasarela de pagos

Alcance

Procesamiento de pagos con tarjeta crédito/débito, PSE, transferencias. Tokenización de tarjetas, gestión de reembolsos, facturación electrónica DIAN.

Dependencias

  • Pasarela de pagos certificada PCI DSS
  • Proveedor de facturación electrónica
  • Cuenta bancaria empresarial

Integraciones

  • Wompi / PayU / Stripe (pasarela de pagos)
  • Alegra / Siigo (facturación DIAN)
  • Bancos colombianos (PSE)

Tecnologías

API REST de pasarelaWebhooks para confirmaciónCola de mensajes para facturación

Panel de pacientes

Alcance

Dashboard con resumen, búsqueda de médicos por especialidad, agendamiento de citas, historial médico con diagnósticos/tratamientos/recetas, gestión de perfil, historial de pagos y facturas.

Dependencias

  • Módulo de autenticación
  • Módulo de pagos
  • API de citas

Integraciones

  • Calendario (agendamiento)
  • WebRTC (teleconsulta)
  • PDF (generación de recetas)

Tecnologías

React / Next.js App RouterTailwind CSSReact Hook Formdate-fns

Panel médico

Alcance

Dashboard con agenda del día, gestión de disponibilidad y horarios, lista de pacientes con historial, creación de notas clínicas con diagnóstico CIE-10, generación de recetas digitales, estadísticas de consultas e ingresos.

Dependencias

  • Módulo de autenticación
  • Base de datos de historias clínicas
  • API de citas

Integraciones

  • CIE-10 (catálogo de diagnósticos)
  • PDF (recetas digitales)
  • WebRTC (teleconsulta)

Tecnologías

React / Next.js App RouterTailwind CSSEditor de texto enriquecido

4Flujos principales

Flujo de registro de paciente

1Paciente accede a /registro
2Completa formulario con datos personales
3Acepta términos y política de privacidad (Ley 1581)
4Sistema valida email y envía verificación
5Paciente confirma email
6Cuenta activa — accede al panel

Flujo de registro de médico

1Médico accede a /registro como médico
2Completa datos personales y profesionales
3Ingresa número de licencia ReTHUS
4Sistema valida licencia contra ReTHUS
5Cuenta en estado "pendiente de verificación"
6Admin aprueba → cuenta activa

Flujo de agendamiento de cita

1Paciente busca médico por especialidad
2Selecciona médico y ve disponibilidad
3Elige fecha, hora y tipo (presencial/teleconsulta)
4Acepta consentimiento informado de teleconsulta
5Realiza pago a través de la pasarela
6Confirmación por email/SMS a paciente y médico

Flujo de teleconsulta

1Paciente y médico reciben recordatorio 30 min antes
2Ambos acceden a sala de videollamada (WebRTC)
3Médico revisa historial del paciente
4Consulta con chat en vivo y pantalla compartida
5Médico registra diagnóstico y tratamiento
6Sistema genera receta digital y actualiza historial

Flujo de pago

1Paciente selecciona método de pago (tarjeta/PSE/transferencia)
2Datos de tarjeta tokenizados en el cliente (PCI DSS)
3Token enviado a pasarela de pagos
4Pasarela procesa y retorna confirmación
5Sistema genera factura electrónica (DIAN)
6Notificación de pago exitoso a paciente y médico

5Riesgos críticos y mitigación

RiesgoImpactoPlan de mitigación
Brecha de datos de saludCríticoCifrado E2E, auditoría de accesos, pentesting trimestral, plan de respuesta a incidentes
Incumplimiento regulatorio (Ley 1581)CríticoAsesoría legal especializada, oficial de protección de datos, auditoría de compliance semestral
Fraude en pagosAltoPasarela certificada PCI DSS, tokenización, monitoreo de transacciones sospechosas
Caída de servicio durante teleconsultaAltoRedundancia de servicios, CDN, fallback a audio, SLA 99.5%
Médicos no verificados operando en la plataformaCríticoValidación obligatoria de ReTHUS, revisión manual, auditoría periódica de credenciales
Pérdida de historial clínicoCríticoBackups diarios cifrados, retención 15 años, pruebas de restauración mensual

6Registro de aprobación de stakeholders

ÁreaResponsableEstadoObservaciones
ProductoProduct OwnerPendienteRevisión de alcance funcional del MVP
TecnologíaCTO / Tech LeadPendienteValidación de stack tecnológico y arquitectura
Legal / ComplianceOficial de CompliancePendienteValidación de matriz regulatoria y política de datos