codigo0/docs/MAPA_RELACIONES_CONTENIDO.md

490 lines
16 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🗺️ 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.**