Arquitectura base
SIPLAN utiliza el patrón MVC (Modelo-Vista-Controlador) sobre Laravel. Las estructuras jerárquicas (organigramas, grupos, variables FODA) se gestionan mediante NodeTrait (Nested Sets), permitiendo árboles de dependencias eficientes con consultas de ancestros/descendientes en tiempo constante.
Backend
Laravel + Eloquent ORM. Relaciones polimórficas en el módulo Task para vincular tareas a FODA, PEI o Encuestas.
Frontend
Vistas Blade con DataTables para listados dinámicos. Gráficos integrados para resultados y análisis.
Seguridad RBAC
Control de acceso basado en roles mediante Spatie/Permission. Roles, permisos y usuarios gestionados desde panel administrativo.
Reportes PDF
Generación de documentos mediante clase personalizada Pdf (FPDF) y Barryvdh\DomPDF.
Módulos del sistema
Organigrama y Grupos
Gestiona la estructura jerárquica de dependencias institucionales. Permite crear sub-dependencias y visualizar el árbol organizacional completo. Los Grupos definen equipos de trabajo con miembros asignados, organizados jerárquicamente.
Actividades y Seguimiento
Creación de actividades con fechas de inicio/fin, responsables y tareas asociadas. Las tareas admiten evidencias (archivos o URLs) y notas de cierre.
Planificación Estratégica (PEI)
Gestiona el ciclo de vida del Plan Estratégico Institucional: Identidad Institucional (Misión, Visión, Valores), estructura en Ejes → Objetivos → Acciones, e indicadores de gestión con numeradores, denominadores y fórmulas de progreso.
Encuestas con IA
Generación automática de preguntas vía Gemini API (opción múltiple) y OpenAI GPT-3.5 (hasta 5 opciones). Las encuestas se asignan a grupos o dependencias con rastreo de participación y ranking de puntajes.
Proyectos EPC y Patrimonio
Gestión de servicios/recursos (equipamiento, TTHH, infraestructura, medicamentos) con costos unitarios por tabla pivote. Patrimonio incluye georreferenciación (lat/lng), fotos y estados de documentación.
IEA — Índice de Eficiencia de Activos
Reemplaza la clasificación subjetiva de aspectos FODA por un índice cuantitativo que cruza inversión histórica con desempeño operativo real, eliminando el sesgo de los talleres participativos.
¿Qué problema resuelve?
Los planes IPS 2023–2028 declaran como fortaleza la disponibilidad de equipos biomédicos de última generación, pero simultáneamente identifican como debilidad los altos tiempos de espera y el stock deficiente de medicamentos. Según la teoría de la Estrategia del Océano Azul, esto es una contradicción estratégica: un activo que no apalanca resultados no es una fortaleza.
Fórmula del IEA
Regla de clasificación automática
Si el sistema detecta inversión en hardware/software pero el indicador SIH (Sistema Integrado de Salud) no reduce tiempos de espera en el período evaluado, el aspecto se clasifica automáticamente como debilidad por obsolescencia funcional, independientemente del IEA calculado.
Implementación técnica
// app/Services/FodaIeaService.php
public function calcularIEA($aspectoId, $meses = 6): float
{
$inversion = InversionHistorica::where('aspecto_id', $aspectoId)
->ultimos($meses)->avg('monto');
$desempeno = IndicadorSIH::where('aspecto_id', $aspectoId)
->ultimos($meses)->avg('valor_normalizado');
if ($inversion == 0) return 0;
$iea = $desempeno / $inversion;
// Regla de obsolescencia funcional
if ($this->tieneSIHSinMejora($aspectoId, $meses)) {
return 0; // Fuerza clasificación como debilidad
}
return $iea;
}
public function clasificar(float $iea): string
{
return match(true) {
$iea < 0.4 => 'debilidad',
$iea >= 0.8 => 'fortaleza',
default => 'neutro',
};
}Matriz RACI automatizada
El sistema rechaza estrategias sin un Accountable asignado. Sin participación formal no hay compromiso medible. Cada estrategia debe tener exactamente un responsable único con autoridad sobre los recursos asociados.
Definición de roles RACI
| Rol | Significado | Regla de negocio |
|---|---|---|
| R Responsible | Ejecuta la tarea | Puede ser múltiple por estrategia |
| A Accountable | Aprueba y responde por el resultado | Exactamente uno por estrategia. Obligatorio. |
| C Consulted | Provee información/criterio | Opcional. Se registra para trazabilidad. |
| I Informed | Recibe actualizaciones del avance | Opcional. Notificado automáticamente. |
Despliegue en cascada
Los objetivos estratégicos funcionan como "paraguas" para los operativos. Cada nivel hereda el contexto del nivel superior y restringe quién puede asumir el rol Accountable según el organigrama.
El sistema no permite guardar un enunciado estratégico sin que exista exactamente un usuario con rol A asignado. Si el usuario intenta hacerlo, el formulario devuelve: "La estrategia requiere un responsable único (Accountable) con autoridad sobre los recursos."
Implementación técnica
// Validación en EstrategiaRequest.php
public function rules(): array
{
return [
'responsables' => ['required', 'array'],
'responsables.*.rol' => ['required', 'in:R,A,C,I'],
'responsables.*.user' => ['required', 'exists:users,id'],
];
}
public function withValidator($validator): void
{
$validator->after(function($v) {
$accountables = collect($this->responsables)
->where('rol', 'A')->count();
if ($accountables !== 1) {
$v->errors()->add(
'responsables',
'Debe existir exactamente un Accountable.'
);
}
});
}Semáforo inteligente Lead/Lag
El semáforo es multidimensional, no lineal. Evalúa simultáneamente la medida de predicción (Lead) y la medida de resultado (Lag) para detectar cuellos de botella estratégicos invisibles a los reportes tradicionales.
Los tres estados del semáforo
Verde — Alineado
Lead Measure ✓ y Lag Measure ✓ en sincronía. El proceso funciona correctamente.
Amarillo — Cuello de botella
Lead al 100% (el equipo trabaja), pero Lag no se mueve. El proceso es ineficiente o la apuesta estratégica es errónea.
Rojo — Incumplimiento
Falta de recursos, falla en ejecución o abandono de la actividad comprometida.
El IPS solo medía resultados históricos (Lag). El sistema ahora exige que cada meta tenga al menos una medida de predicción. Ejemplo: en lugar de solo medir "ingresos recaudados", se exige registrar también "visitas de fiscalización realizadas".
Semáforo predictivo
Si una medida Lead estratégica —como "horas de capacitación en el sistema"— cae por debajo del umbral durante 3 períodos consecutivos, el sistema emite una alerta predictiva indicando que la meta de resultado asociada (ej. "tasa de uso del sistema") fallará en el próximo trimestre.
// app/Services/SemaforoService.php
public function evaluarEstado(Meta $meta): string
{
$lagOk = $meta->porcentajeLag() >= $meta->umbral_lag;
$leadOk = $meta->porcentajeLead() >= $meta->umbral_lead;
return match(true) {
$lagOk && $leadOk => 'verde',
!$lagOk && $leadOk => 'amarillo', // Cuello de botella
default => 'rojo',
};
}
public function verificarAlertaPredictiva(Meta $meta): bool
{
$periodosBajos = LeadMeasure::where('meta_id', $meta->id)
->where('valor', '<', $meta->umbral_lead)
->ultimos(3)->count();
return $periodosBajos >= 3; // Dispara alerta predictiva
}Alertas de desvío presupuestario
El sistema vincula en tiempo real la ejecución financiera con el avance de metas. Los desvíos atípicos generan alertas automáticas para evitar tanto el sobreejercicio sin impacto como la subejecución con metas aparentemente cumplidas.
Tipos de alerta
| Tipo | Condición | Diagnóstico probable | Prioridad |
|---|---|---|---|
| Subejecución | Meta ≤ 20% · Presupuesto ≥ 80% | Posible ineficiencia o desvío de fondos | CRÍTICA |
| Meta sin gasto | Meta ≥ 100% · Presupuesto ≤ 10% | Presupuesto mal estimado o meta irrelevante | REVISIÓN |
| Desvío progresivo | Δ(meta/gasto) > 40% por 2 períodos | Descalce creciente que puede escalar a crítico | MONITOREO |
| Ejecución alineada | |meta% − gasto%| ≤ 15% | Planificación correcta | OK |
El tablero de alertas debe ser comprensible para el personal operativo en menos de 5 segundos, no solo para la alta dirección en reportes complejos. Se usa semáforo de colores y texto de diagnóstico en lenguaje llano.
Módulo de cadencia de rendición de cuentas
Implementa reuniones semanales cortas (20–30 min) donde el sistema registra compromisos personales de los funcionarios para mover el tablero. La cadencia convierte las metas anuales en compromisos semanales trazables.
Flujo de la reunión semanal
Rendir cuentas del período anterior
Cada participante marca si cumplió su compromiso de la semana pasada. El sistema calcula la tasa de cumplimiento del equipo.
Revisar el tablero de metas (WIG)
Se visualizan las métricas Lead y Lag actualizadas. El sistema resalta cuáles metas están en amarillo o rojo.
Planificar uno o dos compromisos para la semana
Cada funcionario registra en el sistema al menos un compromiso específico, medible y con fecha. No pueden ser genéricos ("voy a trabajar en X").
Cierre automático de acta
El sistema genera el acta de la sesión con compromisos firmados digitalmente. Disponible para auditoría y revisión por la dirección.
Un funcionario con rol A (Accountable) en una estrategia en estado rojo por dos semanas consecutivas sin registrar compromisos recibe una notificación escalada automáticamente a su superior jerárquico en el organigrama.
Esquema de datos — enunciados estratégicos
La tabla enunciados_estrategicos incorpora metadatos de trazabilidad para garantizar la memoria institucional y la auditoría conforme a MECIP.
| Campo | Tipo | Descripción |
|---|---|---|
| id_enunciado | PK · uuid | Clave primaria del enunciado |
| id_dependencia | FK · bigint | Vínculo relacional con el organigrama jerárquico (NodeTrait) |
| id_autor | FK · bigint | Redactor responsable de la propuesta |
| contexto_taller | enum | Origen: foda / crisis / top_down |
| id_obstaculo_diagnostico | FK · bigint | Obligatorio. Vínculo a la debilidad/amenaza que el enunciado resuelve (Rumelt) |
| politica_rectora | text | Obligatorio. El "cómo" se enfrentará el obstáculo antes de fijar la meta |
| version_timestamp | timestamp | Historial para revisiones periódicas conforme a MECIP |
| iea_valor | decimal(5,4) | Valor IEA calculado al momento de clasificar el aspecto |
| iea_clasificacion | enum | Resultado: fortaleza / debilidad / neutro |
KPIs preconfigurados para IPS
El sistema viene con los siguientes indicadores preconfigurados, organizados por perspectiva del Balanced Scorecard (Kaplan-Norton).
Porcentaje de evasión y mora por sector económico. Fuerza de fiscalización como Lead Measure.
Tasa de mortalidad intrahospitalaria y cumplimiento de protocolos de prevención. Tiempo de espera para consultas y cirugías como Lag Measure.
Tiempo de resolución de expedientes de jubilación (automatización). Tasa de uso del SIH como resultado de la inversión tecnológica.
Rendimiento real de las reservas técnicas vs. inflación. Desvío presupuestario por programa.
El sistema incluye una escala de riesgo que identifica procesos que mejoran ante la volatilidad. Ejemplo: los sistemas de telemedicina se marcan como "antifrágiles" porque su adopción aumenta durante eventos disruptivos como pandemias, convirtiendo la crisis en ventaja operativa.