codigo0/docs/QUE_FALTA.md

60 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Qué falta Resumen
**Última actualización:** 2025-02-02
---
## Hecho
- **TICKET-001** Application Layer backend
- **TICKET-002** Infrastructure Layer (Content, Drug)
- **TICKET-003** Schemas Zod compartidos (backend + frontend alias, tests)
- **TICKET-004** Refactor drugs.ts: re-export desde `drugs/` (split por categoría); `drugs.ts` re-exporta desde `drugs/index.ts`
- **TICKET-005** Refactor procedures.ts
- **TICKET-006** Eliminar duplicación: `http-responses.ts`, rutas refactorizadas (glossary, content, media, validation)
- **TICKET-007** Schema BD glosario (`tes_content.glossary_terms`, migración 004, `npm run migrate:glossary`)
- **TICKET-008** Entidad GlossaryTerm: domain exporta GlossaryTerm y GlossaryCategory desde `domain/entities/index.ts`
- **TICKET-009** Repositorio glosario (GlossaryRepository + GlossaryTermMapper)
- **TICKET-010** GlossaryService (Application Layer)
- **TICKET-011** Rutas API glosario (`/api/glossary/*`)
- **TICKET-012** Migrar glosarios frontend → backend (generador fixture + script migración)
- **TICKET-013** Validación médica (workflow completo): ValidationService, IValidationRepository, ContentStatus; rutas delegan al servicio
- **TICKET-014** Dashboard de validación (GET /api/validation/dashboard; correcciones audit_logs/history/reject/approve/publish)
- **TICKET-015** Upload de medios mejorado: validación Zod del body (uploadMediaBodySchema), sanitización de extensión (safeExtension), fileFilter tipado, metadatos validados en INSERT
- **TICKET-016** Interfaz gestión de medios (MediaManagerPage con loading/error y errores de validación inline)
- **TICKET-017** Tests unitarios backend: GlossaryService, ContentService, ValidationService (repos mockeados)
- **TICKET-018** Tests integración API: app exportada en `app.ts`, supertest, GET /, /health, /api/glossary, rutas con auth 401
- **TICKET-019** Cobertura frontend: tests useDebounce, utils/validation, utils/filter, validators/filters, validators/url-params, PageLoader, NotFound, featureFlags; Vitest solo `src/`; objetivo 80% documentado
- **Despliegue local** Guía y `docker-compose.dev.yml` (PostgreSQL + Redis), `npm run dev:local`
---
## Pendiente (prioridad)
### Alta
- Ninguno
### Media
### Baja
---
## Contenido y alineación
- Categoría **Escena** en procedimientos (definir si se rellena o solo manual).
- Sincronía **manual ↔ app**: contenido primero en manual, luego en app.
**Protocolos/guías que faltan:** Ver **[docs/PROTOCOLOS_GUIAS_FALTANTES.md](PROTOCOLOS_GUIAS_FALTANTES.md)** (Escena vacía; ABCDE, Triage START, Seguridad escena solo en manual).
**Contenido faltante (medios, guías, protocolos, glosario):** Ver **[docs/CONTENIDO_FALTANTE.md](CONTENIDO_FALTANTE.md)**.
---
## Próximos pasos opcionales (técnicos)
- **Frontend glosario:** La app no consume aún `GET /api/glossary`; la terminología farmacológica usa `src/data/pharmaceutical-terminology.ts`. Opcional: añadir vista/página Glosario que consuma la API.
- **Cobertura frontend:** Medir con `npm run test -- --run --coverage` (objetivo 80%). Ver `vite.config.ts` y tests en `src/`.
Ver `SPEC.md`, `docs/BACKLOG_MICRO_TICKETS.md` y documentación en `docs/` para detalle.