60 lines
3.2 KiB
Markdown
60 lines
3.2 KiB
Markdown
# 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.
|