# Ideas y Funcionalidades Futuras - EMERGES TES **Ideas o funcionalidades futuras que NO están implementadas actualmente.** **Última actualización:** 2025-02-02 --- ## ⚠️ ACLARACIÓN IMPORTANTE **Todas las funcionalidades listadas aquí NO están implementadas.** - ❌ **NO existen** en el código actual - ❌ **NO están** documentadas en `SPEC.md` como funcionalidades actuales - ❌ **NO deben** asumirse como existentes por asistentes de código **Si se decide implementar alguna de estas ideas:** 1. Documentar en `SPEC.md` primero 2. Definir entidades en `domain/entities/` si aplica 3. Crear repositorios y servicios 4. Implementar API endpoints 5. Añadir tests 6. Actualizar este documento --- ## 💡 Ideas Futuras ### 1. Sistema de Notificaciones **Descripción:** Sistema para notificar a usuarios sobre actualizaciones de protocolos, nuevos fármacos, etc. **Estado:** NO implementado **Componentes potenciales:** - Entidad `Notification` (no existe) - Servicio de notificaciones (no existe) - Endpoints de notificaciones (no existen) - Frontend de notificaciones (no existe) **Consideraciones:** - Requeriría sistema de usuarios más completo - Podría usar Service Worker para notificaciones push - Necesitaría definir qué eventos generan notificaciones --- ### 2. Sistema de Favoritos/Bookmarks **Descripción:** Permitir a usuarios marcar protocolos/fármacos como favoritos para acceso rápido. **Estado:** Parcialmente implementado en frontend (`useFavorites.ts`), pero sin persistencia backend **Componentes actuales:** - Hook `useFavorites` en frontend (localStorage) - **NO existe** entidad `Favorite` en backend - **NO existe** API para sincronizar favoritos **Consideraciones:** - Requeriría sistema de usuarios autenticados - Podría sincronizar favoritos entre dispositivos - Necesitaría migración de datos si usuarios ya tienen favoritos locales --- ### 3. Sistema de Comentarios/Anotaciones **Descripción:** Permitir a usuarios añadir comentarios o anotaciones personales a protocolos/fármacos. **Estado:** NO implementado **Componentes potenciales:** - Entidad `UserAnnotation` (no existe) - Servicio de anotaciones (no existe) - Endpoints de anotaciones (no existen) - Frontend de anotaciones (no existe) **Consideraciones:** - Requeriría sistema de usuarios - Podría ser útil para notas personales del profesional - Necesitaría definir privacidad (personales vs compartidas) --- ### 4. Sistema de Versiones y Historial de Cambios **Descripción:** Sistema completo de versionado con historial detallado de cambios y posibilidad de revertir. **Estado:** Parcialmente implementado (`content_versions`, `content_change_log`), pero sin UI completa **Componentes actuales:** - Tabla `content_versions` en BD - Tabla `content_change_log` en BD - **NO existe** UI para ver historial completo - **NO existe** funcionalidad de revertir versiones **Consideraciones:** - Ya existe infraestructura de BD - Necesitaría UI en admin panel - Podría añadir comparación de versiones (diff) --- ### 5. Sistema de Estadísticas de Uso **Descripción:** Tracking de qué protocolos/fármacos se consultan más, tiempo de uso, etc. **Estado:** NO implementado **Componentes potenciales:** - Entidad `UsageLog` (no existe) - Servicio de analytics (no existe) - Endpoints de tracking (no existen) - Dashboard de estadísticas (no existe) **Consideraciones:** - Requeriría definir qué eventos trackear - Necesitaría considerar privacidad (datos anonimizados) - Podría usar herramientas externas (Google Analytics) o propio sistema --- ### 6. Sistema de Exportación/Importación **Descripción:** Permitir exportar/importar contenido en formatos estándar (JSON, CSV, etc.). **Estado:** Parcialmente implementado (scripts de migración), pero sin UI **Componentes actuales:** - Scripts de migración (`backend/scripts/migrate-*.js`) - **NO existe** UI para exportar/importar desde admin panel - **NO existe** API para exportar/importar **Consideraciones:** - Ya existe lógica de migración en scripts - Podría exponerse como funcionalidad del admin panel - Necesitaría validación de datos importados --- ### 7. Sistema de Búsqueda Avanzada **Descripción:** Búsqueda con filtros avanzados, búsqueda semántica, sugerencias, etc. **Estado:** Búsqueda básica implementada, avanzada NO **Componentes actuales:** - Búsqueda básica en frontend (`useSearch.ts`) - Búsqueda básica en backend (`GlossaryService.search()`) - **NO existe** búsqueda semántica - **NO existe** búsqueda con filtros avanzados en UI **Consideraciones:** - Podría usar herramientas de búsqueda full-text de PostgreSQL - Podría integrar búsqueda semántica con embeddings - Necesitaría definir qué campos son buscables --- ### 8. Sistema de Colaboración en Contenido **Descripción:** Múltiples usuarios editando contenido simultáneamente, comentarios en revisiones, etc. **Estado:** NO implementado **Componentes potenciales:** - Sistema de locks para edición simultánea (no existe) - Comentarios en revisiones (no existe) - Notificaciones de cambios (no existe) **Consideraciones:** - Requeriría sistema de usuarios más completo - Podría usar WebSockets para colaboración en tiempo real - Necesitaría definir permisos de edición --- ### 9. Sistema de Certificaciones/Formación **Descripción:** Sistema para certificar que usuarios han completado formación sobre protocolos. **Estado:** NO implementado **Componentes potenciales:** - Entidad `Certification` (no existe) - Entidad `Course` (no existe) - Sistema de quizzes/evaluaciones (no existe) **Consideraciones:** - Requeriría sistema de usuarios completo - Podría integrar con SCORM (ya existe generador SCORM) - Necesitaría definir qué certifica cada curso --- ### 10. Sistema de Alertas/Recordatorios **Descripción:** Alertas sobre cambios en protocolos que el usuario usa frecuentemente, recordatorios de formación, etc. **Estado:** NO implementado **Componentes potenciales:** - Sistema de alertas (no existe) - Sistema de recordatorios (no existe) - Preferencias de usuario para alertas (no existe) **Consideraciones:** - Requeriría sistema de usuarios - Podría usar Service Worker para notificaciones push - Necesitaría definir qué eventos generan alertas --- ## 🔄 Funcionalidades Parcialmente Implementadas ### Favoritos - ✅ Hook `useFavorites` en frontend (localStorage) - ❌ Backend para sincronizar favoritos - ❌ API para favoritos **Para completar:** Añadir entidad `Favorite` en backend, API endpoints, sincronización. ### Versiones - ✅ Tablas `content_versions` y `content_change_log` en BD - ❌ UI para ver historial completo - ❌ Funcionalidad de revertir versiones **Para completar:** Añadir UI en admin panel, endpoints para historial, funcionalidad de revertir. --- ## 📋 Criterios para Implementar Ideas Futuras Antes de implementar cualquier idea de esta lista: 1. ✅ **Documentar en SPEC.md** como funcionalidad nueva 2. ✅ **Definir entidades** en `domain/entities/` si aplica 3. ✅ **Crear repositorios y servicios** siguiendo Clean Architecture 4. ✅ **Implementar API endpoints** con validación Zod 5. ✅ **Añadir tests** (unitarios + integración) 6. ✅ **Actualizar este documento** marcando como implementado --- ## 🚫 Lo que NO Existe (y NO debe Asumirse) ### Sistemas NO Implementados - ❌ Sistema de tickets de soporte/incidencias - ❌ Sistema de mensajería entre usuarios - ❌ Sistema de roles avanzados (más allá de admin/reviewer/validator) - ❌ Sistema de permisos granulares por recurso - ❌ Sistema de workflows personalizables - ❌ Sistema de integraciones con sistemas externos (HL7, FHIR, etc.) **Si se necesita alguno de estos sistemas:** Debe tratarse como nueva feature, documentarse en SPEC.md y seguir el proceso de desarrollo normal. --- ## 📚 Referencias - **Especificación maestra:** `SPEC.md` - **Arquitectura:** `README_ARCHITECTURE.md` - **Tareas pendientes:** `README_TODO.md` - **Guía de desarrollo:** `README_DEV.md` --- **Última actualización:** 2025-02-02