codigo0/README_FUTURE.md

273 lines
8 KiB
Markdown

# 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