codigo0/docs/MAPA_RELACIONES_CONTENIDO.md

490 lines
16 KiB
Markdown
Raw Normal View History

2026-01-19 08:10:16 +00:00
# 🗺️ MAPA DE RELACIONES DE CONTENIDO - EMERGES TES
**Versión:** 1.0
**Fecha:** 2025-01-XX
**Estado:** Documento Oficial - Sistema de Correspondencias
**Autor:** Arquitecto de Software Senior + Arquitecto de Contenido
---
## 🎯 PROPÓSITO DEL DOCUMENTO
Este documento define **EL SISTEMA OFICIAL DE RELACIONES** entre los 3 niveles de contenido (Operativo ⇄ Formativo ⇄ Referencia). Es la **columna vertebral de navegación** que:
- ✅ Establece correspondencias oficiales entre niveles
- ✅ Identifica gaps y casos especiales
- ✅ Define reglas de navegación bidireccional
- ✅ Documenta excepciones y casos límite
- ✅ Permite escalabilidad sin duplicación
**Este documento se actualiza cuando se añade nuevo contenido relacionado.**
---
## 1⃣ TABLA DE CORRESPONDENCIAS OFICIALES
### Estructura de Correspondencia
Cada entrada en el mapa de relaciones contiene:
```typescript
{
// Nivel 1: Operativo
protocoloId: string; // ID único del protocolo
protocoloRuta: string; // Ruta en la app
protocoloTitulo: string; // Título visible
// Nivel 2: Formativo
guiaId?: string; // ID de la guía formativa
guiaRuta?: string; // Ruta de la guía
guiaTitulo?: string; // Título de la guía
tieneGuia: boolean; // Si existe guía formativa
// Nivel 3: Referencia
manualBloque?: string; // Bloque del manual
manualRuta?: string; // Ruta del manual
manualTitulo?: string; // Título del capítulo
tieneManual: boolean; // Si existe manual completo
}
```
---
### Tabla Completa de Correspondencias
| Protocolo Operativo | ID | Guía Formativa | Manual Completo | Estado |
|---------------------|----|----------------|-----------------|--------|
| **RCP Adulto SVB** | `rcp-adulto-svb` | ✅ `rcp-adulto-svb` | ✅ `BLOQUE_04_1` | ✅ Completo |
| **RCP Adulto SVA** | `rcp-adulto-sva` | ❌ No existe | ✅ `BLOQUE_04_1` | ⚠️ Gap formativo |
| **RCP Pediátrico** | `rcp-pediatrico` | ✅ `rcp-pediatrica` | ✅ `BLOQUE_04_2` | ✅ Completo |
| **RCP Lactantes** | ❌ No existe | ✅ `rcp-lactantes` | ✅ `BLOQUE_04_3` | ⚠️ Sin protocolo |
| **OVACE Adulto** | `obstruccion-via-aerea` | ✅ `ovace-adulto` | ✅ `BLOQUE_04_6` | ✅ Completo |
| **OVACE Pediátrico** | ❌ No existe | ✅ `ovace-pediatrica` | ✅ `BLOQUE_04_7` | ⚠️ Sin protocolo |
| **DESA Adulto** | ❌ No existe | ✅ `desa-adulto` | ✅ `BLOQUE_04_4` | ⚠️ Sin protocolo |
| **Shock Hemorrágico** | `shock-hemorragico` | ❌ No existe | ✅ `BLOQUE_11_0` | ⚠️ Gap formativo |
| **Código Ictus** | `ictus-protocolo` | ❌ No existe | ✅ `BLOQUE_05_4` | ⚠️ Gap formativo |
| **ABCDE Operativo** | `abcde-operativo`* | ✅ `abcde-operativo` | ✅ `BLOQUE_01_2` | ✅ Completo |
| **Parada Respiratoria** | ❌ No existe | ✅ `parada-respiratoria` | ✅ `BLOQUE_04_0` | ⚠️ Sin protocolo |
| **PCR Traumática** | ❌ No existe | ✅ `pcr-traumatica` | ✅ `BLOQUE_04_0` | ⚠️ Sin protocolo |
| **Reconocimiento PCR** | ❌ No existe | ✅ `reconocimiento-pcr` | ✅ `BLOQUE_04_0` | ⚠️ Sin protocolo |
*ABCDE está en Escena, no como protocolo independiente
---
## 2⃣ ANÁLISIS DE COBERTURA
### ✅ Contenido Completo (3 Niveles)
**Protocolos con cobertura completa:**
1. **RCP Adulto SVB**
- 🔴 Operativo: `src/pages/RCP.tsx` (tab Adulto → SVB)
- 🟡 Formativo: `docs/consolidado/SECCION_*_RCP_ADULTO_SVB.md` (8 secciones)
- 🔵 Referencia: `public/manual/BLOQUE_4_*/BLOQUE_04_1_RCP_ADULTOS.md`
- ✅ Checklist interactiva
- ✅ Dosis inline
- ✅ SCORM disponible
2. **RCP Pediátrico**
- 🔴 Operativo: `src/pages/RCP.tsx` (tab Pediátrico)
- 🟡 Formativo: `docs/consolidado/SECCION_*_RCP_PEDIATRICA.md` (8 secciones)
- 🔵 Referencia: `public/manual/BLOQUE_4_*/BLOQUE_04_2_RCP_PEDIATRIA.md`
- ✅ Checklist interactiva
- ✅ SCORM disponible
3. **OVACE Adulto**
- 🔴 Operativo: `src/pages/ViaAerea.tsx`
- 🟡 Formativo: `docs/consolidado/SECCION_*_OVACE_ADULTO.md` (8 secciones)
- 🔵 Referencia: `public/manual/BLOQUE_4_*/BLOQUE_04_6_OVACE_ADULTOS.md`
- ✅ Checklist interactiva
- ✅ SCORM disponible
4. **ABCDE Operativo**
- 🔴 Operativo: `src/pages/Escena.tsx` (sección ABCDE)
- 🟡 Formativo: `docs/consolidado/SECCION_*_ABCDE_OPERATIVO.md` (8 secciones)
- 🔵 Referencia: `public/manual/BLOQUE_1_*/BLOQUE_01_2_ABCDE_OPERATIVO.md`
- ✅ SCORM disponible
---
### ⚠️ Gaps Identificados
#### Gap 1: Protocolos Operativos Sin Guía Formativa
**Protocolos afectados:**
- RCP Adulto SVA
- Shock Hemorrágico
- Código Ictus
**Impacto:**
- ✅ Funcionalidad operativa completa
- ⚠️ Falta profundización formativa
- ✅ Manual completo disponible
**Prioridad:** Media (no bloqueante, contenido formativo puede añadirse después)
**Resolución propuesta:**
- Crear guías formativas para estos protocolos siguiendo estructura estándar (8 secciones)
- Mantener navegación desde protocolo operativo: "Guía formativa en desarrollo"
---
#### Gap 2: Guías Formativas Sin Protocolo Operativo
**Guías afectadas:**
- RCP Lactantes
- OVACE Pediátrico
- DESA Adulto
- Parada Respiratoria
- PCR Traumática
- Reconocimiento PCR
**Impacto:**
- ✅ Contenido formativo completo
- ⚠️ No hay protocolo operativo rápido
- ✅ Manual completo disponible
**Justificación:**
- Estas guías cubren contenido formativo puro o variantes específicas
- No requieren protocolo operativo separado (pueden referenciar protocolos relacionados)
**Resolución propuesta:**
- Mantener como guías formativas puras
- Añadir enlaces desde protocolos relacionados (ej: RCP Lactantes desde RCP Pediátrico)
---
## 3⃣ REGLAS DE NAVEGACIÓN BIDIRECCIONAL
### Regla 1: Navegación desde Nivel 1 (Operativo)
**Desde cualquier protocolo operativo debe poder navegarse a:**
1. **Guía Formativa (si existe):**
- Botón: "🎓 Ver Guía Formativa"
- Ubicación: Debajo del título del protocolo
- Estilo: Botón azul con icono de graduación
- Ruta: `/guia-refuerzo/{guiaId}`
2. **Manual Completo (si existe):**
- Botón: "📘 Ver Manual Completo"
- Ubicación: Junto al botón de guía formativa
- Estilo: Botón púrpura con icono de libro
- Ruta: `{manualRuta}`
**Implementación actual:**
- `src/pages/RCP.tsx`: ✅ Implementado
- `src/pages/Ictus.tsx`: ✅ Implementado (solo manual)
- `src/pages/ViaAerea.tsx`: ✅ Implementado
- `src/pages/Shock.tsx`: ✅ Implementado (solo manual)
---
### Regla 2: Navegación desde Nivel 2 (Formativo)
**Desde cualquier guía formativa debe poder navegarse a:**
1. **Protocolo Operativo (si existe):**
- Botón: "Ir a Protocolo Operativo"
- Ubicación: Header de la guía + footer de cada sección
- Estilo: Botón destacado azul
- Ruta: `{protocoloRuta}`
2. **Manual Completo (si existe):**
- Link: "Ver Manual Completo"
- Ubicación: Metadatos visuales del header
- Estilo: Link púrpura
- Ruta: `{manualRuta}`
**Implementación actual:**
- `src/components/guide/GuideHeader.tsx`: ✅ Implementado
- `src/components/guide/GuideNavigation.tsx`: ✅ Implementado
---
### Regla 3: Navegación desde Nivel 3 (Referencia)
**Desde cualquier capítulo del manual debe poder navegarse a:**
1. **Protocolo Operativo (si existe):**
- Link: "Ver Protocolo Operativo"
- Ubicación: Inicio del capítulo
- Estilo: Link destacado
- Ruta: `{protocoloRuta}`
2. **Guía Formativa (si existe):**
- Link: "Ver Guía Formativa"
- Ubicación: Inicio del capítulo
- Estilo: Link destacado
- Ruta: `/guia-refuerzo/{guiaId}`
**Implementación actual:**
- ⚠️ Pendiente de implementación en visualizadores del manual
---
## 4⃣ CASOS ESPECIALES
### Caso 1: RCP SVA (Sin Guía Formativa)
**Situación:**
- 🔴 Protocolo operativo: ✅ Existe (`rcp-adulto-sva`)
- 🟡 Guía formativa: ❌ No existe
- 🔵 Manual completo: ✅ Existe (comparte con SVB)
**Navegación implementada:**
- Desde protocolo RCP SVA: Solo botón "Ver Manual Completo"
- Desde manual: Referencia a protocolo operativo
**Resolución:**
- Mantener gap documentado
- Opción futura: Crear guía formativa específica para SVA
---
### Caso 2: ABCDE (En Escena, No Protocolo Independiente)
**Situación:**
- 🔴 Protocolo operativo: ✅ Existe en `src/pages/Escena.tsx` (no como página independiente)
- 🟡 Guía formativa: ✅ Existe (`abcde-operativo`)
- 🔵 Manual completo: ✅ Existe
**Navegación implementada:**
- Desde Escena: Enlace a guía formativa ABCDE
- Desde guía formativa: Enlace a Escena (protocolo operativo)
- Desde manual: Enlace a Escena
**Resolución:**
- Mantener estructura actual (ABCDE como parte de Escena)
- Navegación bidireccional funcional
---
### Caso 3: Guías Sin Protocolo Operativo
**Situación:**
- 🔴 Protocolo operativo: ❌ No existe
- 🟡 Guía formativa: ✅ Existe
- 🔵 Manual completo: ✅ Existe
**Guías afectadas:**
- RCP Lactantes
- OVACE Pediátrico
- DESA Adulto
- Parada Respiratoria
- PCR Traumática
- Reconocimiento PCR
**Navegación implementada:**
- Desde guía formativa: Solo enlace a manual completo
- Desde manual: Enlace a guía formativa
**Resolución:**
- Mantener como guías formativas puras
- Añadir enlaces desde protocolos relacionados cuando sea relevante
---
## 5⃣ MAPA DE RELACIONES VISUAL
### Diagrama de Correspondencias
```
┌─────────────────────────────────────────────────────────┐
│ NIVEL 1: OPERATIVO │
│ (Protocolos Rápidos - Escena) │
└─────────────────────────────────────────────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────┐
│ RCP Adulto SVB │ │ RCP Adulto SVA │ │ RCP Pediátrico│
│ ✅ Guía │ │ ❌ Sin Guía │ │ ✅ Guía │
│ ✅ Manual │ │ ✅ Manual │ │ ✅ Manual │
└──────────────────┘ └──────────────────┘ └──────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ NIVEL 2: FORMATIVO │
│ (Guías de Refuerzo - Aprendizaje) │
└─────────────────────────────────────────────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────┐
│ RCP Adulto SVB │ │ RCP Lactantes │ │ OVACE Adulto │
│ ✅ Protocolo │ │ ❌ Sin Protocolo │ │ ✅ Protocolo │
│ ✅ Manual │ │ ✅ Manual │ │ ✅ Manual │
└──────────────────┘ └──────────────────┘ └──────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ NIVEL 3: REFERENCIA │
│ (Manual Completo - Documentación) │
└─────────────────────────────────────────────────────────┘
```
---
## 6⃣ IMPLEMENTACIÓN TÉCNICA
### Archivo de Mapeo
**Ubicación:** `src/data/protocol-guide-manual-mapping.ts`
**Estructura:**
```typescript
export interface ProtocolGuideManualMapping {
protocoloId: string;
protocoloRuta?: string;
protocoloTitulo: string;
guiaId?: string;
guiaRuta?: string;
guiaTitulo?: string;
tieneGuia: boolean;
manualBloque?: string;
manualRuta?: string;
manualTitulo?: string;
tieneManual: boolean;
}
```
**Funciones de utilidad:**
- `getMappingByProtocolId(protocoloId: string)` - Obtiene mapeo desde protocolo
- `getMappingByGuiaId(guiaId: string)` - Obtiene mapeo desde guía
- `getAllGuias()` - Obtiene todas las guías disponibles
---
### Uso en Componentes
**Ejemplo: Navegación desde Protocolo Operativo**
```typescript
// En src/pages/RCP.tsx
const mappingSVB = getMappingByProtocolId('rcp-adulto-svb');
{mappingSVB?.tieneGuia && (
<Link to={`/guia-refuerzo/${mappingSVB.guiaId}`}>
🎓 Ver Guía Formativa
</Link>
)}
{mappingSVB?.tieneManual && (
<Link to={mappingSVB.manualRuta}>
📘 Ver Manual Completo
</Link>
)}
```
**Ejemplo: Navegación desde Guía Formativa**
```typescript
// En src/components/guide/GuideHeader.tsx
const mapping = getMappingByGuiaId(guide.id);
{mapping && 'protocoloId' in mapping && mapping.protocoloId && (
<Link to={mapping.protocoloRuta}>
Ir a Protocolo Operativo
</Link>
)}
```
---
## 7⃣ MANTENIMIENTO Y EVOLUCIÓN
### Proceso de Actualización
**Cuando se añade nuevo contenido:**
1. **Identificar nivel:** ¿Operativo, Formativo o Referencia?
2. **Crear entrada:** Añadir entrada en `protocol-guide-manual-mapping.ts`
3. **Verificar relaciones:** Comprobar navegación bidireccional
4. **Actualizar este documento:** Añadir entrada en tabla de correspondencias
5. **Validar:** Probar navegación desde todos los niveles
---
### Checklist de Validación
Para cada nueva relación:
- [ ] ¿Existe entrada en `protocol-guide-manual-mapping.ts`?
- [ ] ¿Navegación bidireccional funciona?
- [ ] ¿Botones/enlaces visibles en UI?
- [ ] ¿Rutas correctas y accesibles?
- [ ] ¿Documentado en este mapa?
---
## 8⃣ GAPS Y PRIORIZACIÓN
### Gaps Críticos (Alta Prioridad)
**Ninguno identificado.** Todos los protocolos operativos críticos tienen al menos manual completo.
---
### Gaps Formativos (Media Prioridad)
1. **RCP Adulto SVA** - Sin guía formativa
- Impacto: Bajo (comparte manual con SVB)
- Esfuerzo: Medio (8 secciones)
- Prioridad: Media
2. **Shock Hemorrágico** - Sin guía formativa
- Impacto: Medio (protocolo crítico)
- Esfuerzo: Medio (8 secciones)
- Prioridad: Media
3. **Código Ictus** - Sin guía formativa
- Impacto: Medio (protocolo crítico)
- Esfuerzo: Medio (8 secciones)
- Prioridad: Media
---
### Gaps Operativos (Baja Prioridad)
**Guías formativas sin protocolo operativo:**
- RCP Lactantes
- OVACE Pediátrico
- DESA Adulto
- Parada Respiratoria
- PCR Traumática
- Reconocimiento PCR
**Justificación:** Estas guías cubren contenido formativo puro o variantes específicas. No requieren protocolo operativo separado.
---
## 📋 RESUMEN EJECUTIVO
**Correspondencias oficiales:**
- ✅ 4 protocolos con cobertura completa (3 niveles)
- ⚠️ 3 protocolos con gap formativo (Operativo + Referencia)
- ⚠️ 6 guías sin protocolo operativo (Formativo + Referencia)
**Navegación bidireccional:**
- ✅ Implementada desde Nivel 1 → Nivel 2 y Nivel 3
- ✅ Implementada desde Nivel 2 → Nivel 1 y Nivel 3
- ⚠️ Pendiente desde Nivel 3 → Nivel 1 y Nivel 2
**Gaps identificados:**
- 3 gaps formativos (media prioridad)
- 6 guías sin protocolo operativo (baja prioridad, justificadas)
**Estado técnico:**
- ✅ Archivo de mapeo implementado
- ✅ Funciones de utilidad disponibles
- ✅ Navegación funcional en UI
---
**Este documento se actualiza cuando se añade nuevo contenido relacionado o se resuelven gaps.**