codigo0/README_FUTURE.md

8 KiB

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