10 KiB
10 KiB
EPICA: EPIC-CL-010 - Telemedicina
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-CL-010 |
| Nombre | Telemedicina |
| Modulo | telemedicina |
| Fase | Fase 2 - Extensión |
| Prioridad | P1 (Alto) |
| Estado | Backlog |
| Story Points | 55 |
| Sprint(s) | Sprint 11-14 |
Descripcion
Módulo 100% nuevo para consultas médicas remotas. Videoconsultas con WebRTC, sala de espera virtual, compartir pantalla para resultados, prescripción electrónica a distancia y grabación de consultas con consentimiento.
Objetivo de Negocio
- Ampliar alcance geográfico
- Atención sin desplazamiento
- Seguimiento de crónicos remoto
- Nuevas fuentes de ingreso
- Adaptación post-pandemia
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-CL010-001 | Como paciente, quiero agendar teleconsulta desde el portal | P0 | 5 | Backlog |
| US-CL010-002 | Como paciente, quiero entrar a sala de espera virtual antes de la consulta | P0 | 5 | Backlog |
| US-CL010-003 | Como médico, quiero iniciar videollamada cuando el paciente esté listo | P0 | 8 | Backlog |
| US-CL010-004 | Como médico, quiero compartir pantalla para mostrar resultados al paciente | P0 | 5 | Backlog |
| US-CL010-005 | Como médico, quiero documentar nota clínica durante la videoconsulta | P0 | 3 | Backlog |
| US-CL010-006 | Como médico, quiero generar receta electrónica al finalizar | P0 | 3 | Backlog |
| US-CL010-007 | Como paciente, quiero recibir recordatorio 10 min antes de la consulta | P0 | 3 | Backlog |
| US-CL010-008 | Como paciente, quiero grabar la consulta con consentimiento del médico | P2 | 8 | Backlog |
| US-CL010-009 | Como paciente, quiero enviar fotos de síntomas antes de la consulta | P1 | 5 | Backlog |
| US-CL010-010 | Como médico, quiero terminar la videollamada y cerrar consulta | P0 | 2 | Backlog |
| US-CL010-011 | Como admin, quiero ver reportes de teleconsultas realizadas | P1 | 3 | Backlog |
| US-CL010-012 | Como paciente, quiero evaluar la calidad de la teleconsulta | P2 | 5 | Backlog |
Total Story Points: 55 SP
Flujo de Teleconsulta
┌─────────────┐
│ AGENDAR │ ← Paciente selecciona teleconsulta
└──────┬──────┘
│
▼ (-10 min)
┌─────────────┐
│ RECORDATORIO│ ← Email/WhatsApp con link
└──────┬──────┘
│
▼
┌─────────────┐
│SALA_ESPERA │ ← Paciente espera en sala virtual
└──────┬──────┘
│
▼ (Médico inicia)
┌─────────────┐
│ VIDEOLLAMADA│ ← WebRTC activo
└──────┬──────┘
│
├── Chat de texto
├── Compartir pantalla
├── Enviar archivos
│
▼
┌─────────────┐
│ CERRAR │ ← Médico termina llamada
└──────┬──────┘
│
▼
┌─────────────┐
│ RECETA │ ← Envío electrónico
│ + NOTA │ ← Documentación
└──────┬──────┘
│
▼
┌─────────────┐
│ ENCUESTA │ ← Satisfacción del paciente
└─────────────┘
Arquitectura WebRTC
┌─────────────────────────────────────────────────────────┐
│ ARQUITECTURA TELEMEDICINA │
├─────────────────────────────────────────────────────────┤
│ │
│ PACIENTE MÉDICO │
│ ┌──────────┐ ┌──────────┐ │
│ │ Browser │ │ Browser │ │
│ │ (WebRTC) │ │ (WebRTC) │ │
│ └────┬─────┘ └────┬─────┘ │
│ │ │ │
│ │ ┌──────────────────┐ │ │
│ └────┤ TURN/STUN ├──────┘ │
│ │ Server │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────┴─────────┐ │
│ │ Signaling │ │
│ │ Server │ │
│ │ (WebSockets) │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────┴─────────┐ │
│ │ Backend API │ │
│ │ (Express) │ │
│ └──────────────────┘ │
│ │
│ CARACTERÍSTICAS: │
│ ├── Video HD (720p/1080p) │
│ ├── Audio bidireccional │
│ ├── Compartir pantalla │
│ ├── Chat de texto │
│ ├── Transferencia de archivos │
│ └── Grabación (opcional) │
│ │
└─────────────────────────────────────────────────────────┘
Criterios de Aceptacion de la Epica
Funcionales:
- Agendar teleconsulta
- Sala de espera virtual
- Videollamada WebRTC
- Compartir pantalla
- Chat durante consulta
- Enviar archivos
- Documentación de consulta
- Prescripción electrónica
- Grabación con consentimiento
- Encuesta de satisfacción
No Funcionales:
- Latencia < 200ms
- Video HD estable
- Funciona en móvil y desktop
- Conexión cifrada (SRTP)
Tecnicos:
- WebRTC con TURN/STUN
- WebSockets para signaling
- Integración con consultas
- Almacenamiento de grabaciones
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-CL-001 Fundamentos | Backlog | Si |
| EPIC-CL-002 Pacientes | Backlog | Si |
| EPIC-CL-003 Citas | Backlog | Si |
| EPIC-CL-004 Consultas | Backlog | Si |
| EPIC-CL-005 Recetas | Backlog | Si |
Desglose Tecnico
Database:
- Schema:
telemedicine - Tablas: 6 (teleconsultations, waiting_rooms, recordings, chat_messages, file_shares, satisfaction_surveys)
- Funciones: 2 (generate_room_token, log_session)
- Indices: Por médico, paciente, fecha, estado
Backend:
- Modulo:
telemedicine - Entities: 5 (Teleconsultation, WaitingRoom, Recording, ChatMessage, Survey)
- WebSocket Server para signaling
- Endpoints: 15
- Tests: 25
Frontend:
- Paginas: 4 (WaitingRoom, VideoCall, PreCallCheck, PostCallSurvey)
- Componentes: 15 (VideoPlayer, ScreenShare, ChatBox, FileShare, Controls, etc.)
- WebRTC implementation
- Stores: 1 (telemedicineStore)
Endpoints API
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/telemedicine/sessions | Crear sesión |
| GET | /api/telemedicine/sessions/:id | Estado de sesión |
| POST | /api/telemedicine/sessions/:id/join | Unirse a sala |
| POST | /api/telemedicine/sessions/:id/signal | Señalización WebRTC |
| POST | /api/telemedicine/sessions/:id/end | Terminar llamada |
| POST | /api/telemedicine/sessions/:id/chat | Enviar mensaje |
| POST | /api/telemedicine/sessions/:id/files | Subir archivo |
| POST | /api/telemedicine/sessions/:id/record | Iniciar grabación |
| POST | /api/telemedicine/sessions/:id/survey | Enviar encuesta |
Integraciones Externas
| Servicio | Propósito | Alternativas |
|---|---|---|
| Twilio | TURN/STUN + Video | Daily.co, Vonage |
| AWS S3 | Almacenamiento de grabaciones | GCP, Azure |
| WebRTC nativo | Comunicación P2P | - |
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Conexión inestable | Media | Alto | Reconexión automática |
| Problemas de audio/video | Media | Alto | Pre-call check |
| Privacidad de grabaciones | Baja | Alto | Encriptación + RBAC |
Nota Técnica
Este módulo es 100% nuevo y no tiene equivalente en el ERP-Core. Requiere infraestructura especializada para streaming de video y cumplimiento de regulaciones de datos médicos.
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- Proveedor de video seleccionado
- Infraestructura TURN/STUN lista
Definition of Done (DoD)
- Videollamada funcionando
- Sala de espera operativa
- Integración con consultas
- Grabación opcional
- Tests E2E pasando
- Documentación de API
Historial
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-08 | Creacion de epica | Claude-Agent |
Creada por: Claude-Agent Fecha: 2025-12-08 Ultima actualizacion: 2025-12-08