# 🗺️ 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 && ( 🎓 Ver Guía Formativa )} {mappingSVB?.tieneManual && ( 📘 Ver Manual Completo )} ``` **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 && ( Ir a Protocolo Operativo )} ``` --- ## 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.**