Sistema de Gestión de Seguridad y Salud Ocupacional
Manual de Usuario
Capítulo 21: Siniestralidad y Personal Externo
Guía completa del módulo de Siniestralidad (indicadores DS 67, cierre mensual y diagnóstico con IA) y del padrón de Personal Externo (altas, importación desde Excel y administración de sub-contratos).

Fecha de publicación: 10 de septiembre de 2026

Plataforma: https://aspr.iaegis.app

Versión del sistema: 2.5.107

Tabla de Contenidos

Sección 21.1
Visión General de Ambos Módulos

21.1.1 Qué cubre este capítulo

Este capítulo documenta dos módulos que conviven en IAegis y que, aunque son independientes entre sí, comparten un objetivo: dar visibilidad sobre quién trabaja en tu contrato y cómo se está comportando la siniestralidad. El primero, Siniestralidad, consolida los indicadores del DS 67 (el reglamento que regula la cotización adicional según el riesgo efectivo de la empresa). El segundo, Personal Externo, construye el padrón de trabajadores de empresas contratistas y subcontratistas que operan en tu frente de trabajo.

A lo largo del capítulo verás que un mismo dato alimenta decisiones de gestión: la dotación y las horas-hombre del personal externo son la base sobre la que el módulo de Siniestralidad calcula los índices de frecuencia y gravedad. Por eso conviene leer las dos partes de corrido: al terminar sabrás cargar el cierre mensual de un contrato, interpretar el diagnóstico que genera la IA y mantener vigente el padrón de personal externo, incluida su importación masiva desde una planilla de Excel.

📌 Ejemplo práctico

Roberto, jefe de SSO de una constructora, cada mes cierra la siniestralidad de su obra principal y, en paralelo, actualiza el padrón del personal de la contratista de montaje. Este capítulo le da las dos herramientas con el mismo nivel de detalle.

21.1.2 Los dos módulos y para quién son

El módulo de Siniestralidad se accede desde la ruta /siniestralidad y es una pantalla única, sin sub-rutas: un dashboard que muestra los indicadores DS 67, el desglose por género, la analítica de la naturaleza de los siniestros y el historial de cierres mensuales. Desde ahí mismo se carga el cierre de cada período y se consulta el análisis generado por inteligencia artificial.

El módulo de Personal Externo tiene dos puntos de entrada que muestran la misma pantalla: la vista de Registros (/records/external-personnel) y la vista de Administración (/admin/external-personnel). La única diferencia funcional entre ambas es el destino del botón de volver: en la primera vuelve a /records y en la segunda a /admin.

Estos módulos están pensados para perfiles distintos según el trabajo:

MóduloUsuario típicoQué necesita
Siniestralidad Prevencionista de riesgos, jefe de SSO, administrador de contrato Permiso VER SINIESTRALIDAD (ver) o GESTIONAR SINIESTRALIDAD (cargar/editar/eliminar)
Personal Externo Administrador de contrato, jefe de SSO, administrador de usuarios Permiso GESTIONAR PERSONAL EXTERNO o GESTIONAR DIRECTORIO DE USUARIOS

Antes de empezar a operar, asegúrate de reunir estos requisitos previos:

Al terminar el capítulo sabrás: leer los indicadores DS 67 y las tres zonas del gauge, cargar y corregir un cierre mensual, interpretar el diagnóstico IA, y mantener el padrón externo con altas individuales, importación masiva, edición y bajas.

💡 Tip

Si solo necesitas consultar los indicadores sin cargar datos, pide que te asignen el permiso de solo lectura. Con él verás el dashboard completo pero no el botón de cargar un cierre.

21.1.3 Permisos y accesos

La regla de acceso es sencilla y conviene memorizarla antes de operar, porque explica la mayoría de los mensajes que verás.

En Siniestralidad existen dos permisos:

Permiso (como aparece en roles)Qué habilita
VER SINIESTRALIDADVer el dashboard y sus indicadores (solo lectura)
GESTIONAR SINIESTRALIDADVer más crear, editar y eliminar cierres mensuales

Además, los perfiles SuperAdmin y Tenant Admin siempre pueden ver y gestionar. El permiso de gestión controla tres cosas visibles: el botón Cierre Mensual, la columna Acciones de la tabla de historial y el botón Cargar Datos que aparece cuando se trabaja sin un contrato activo.

En Personal Externo:

Permiso (como aparece en roles)Qué habilita
GESTIONAR PERSONAL EXTERNOVer y gestionar el padrón: alta, edición, desactivación e importación
GESTIONAR DIRECTORIO DE USUARIOSLo anterior más eliminar registros
⚠️ Atención

La eliminación de una persona del padrón exige GESTIONAR DIRECTORIO DE USUARIOS. Si solo tienes GESTIONAR PERSONAL EXTERNO, el botón de eliminar no aparece y deberás usar Desactivar para dar de baja temporal. No se trata de un error: es una separación de privilegios deliberada.

El módulo de Siniestralidad además debe estar habilitado a nivel de la organización. Si no lo está, verás un mensaje de módulo deshabilitado. Si no hay empresa activa, se mostrará un mensaje de contexto requerido; y si no tienes el permiso de lectura, el texto centrado "Sin permisos para acceder a Siniestralidad".

✅ Buenas prácticas

Asigna el permiso de gestión solo a quienes cargan datos mes a mes. El resto del equipo de terreno solo necesita lectura para consultar los indicadores, lo que reduce el riesgo de borrar un cierre por accidente.

Sección 21.2
Siniestralidad: Qué Mide y su Marco Normativo

21.2.1 Qué mide el módulo

El módulo de Siniestralidad mide, para un contrato o para la empresa completa, cuántos accidentes hubo, cuántos días se perdieron y cómo eso se traduce en los índices que la legislación chilena exige informar. Concretamente, a partir de los cierres mensuales que tú cargas, el sistema calcula:

Todo esto se presenta en un dashboard con gráficos y, además, se resume en un diagnóstico ejecutivo generado por IA que proyecta escenarios a 3, 6 y 12 meses.

21.2.2 El DS 67 y los indicadores calculados

El DS 67 de 1999 reglamenta, dentro de la Ley 16.744, la cotización adicional diferenciada: las empresas cotizan un porcentaje base y, según su siniestralidad efectiva, ese porcentaje sube o baja. La idea es simple de entender: quien se accidenta menos, paga menos; quien se accidenta más, paga más.

El cálculo que hace IAegis, documentado en la utilidad calculadoraDS67.ts, es el siguiente:

IndicadorFórmulaComentario
IF (Índice de Frecuencia)(Σ accidentes CTP × 1.000.000) / Σ horas-hombreSi no hay horas-hombre, vale 0
IG (Índice de Gravedad)(Σ días perdidos × 1.000.000) / Σ horas-hombreLos días perdidos suman AT + EP + Karin
Tasa de Siniestralidad((Σ días perdidos / nº períodos) / dotación promedio) × 100Si la dotación es 0, vale 0
Proyección de cotización0,95 % + recargo según tasaRecargo: >64 → 3,4 · >32 → 1,7 · >16 → 0,85 · >8 → 0,34 · resto 0
Peso Ley Karin(Σ días Karin / Σ días perdidos) × 100Porcentaje de siniestralidad psicosocial
Ratio STP:CTPΣ accidentes STP / Σ accidentes CTPSi no hay CTP, se toma Σ accidentes STP
💡 Tip

El IF y el IG se expresan en "por millón de horas-hombre" precisamente para comparar empresas o períodos de distinto tamaño. No importa si una obra tiene 50 trabajadores y otra 500: el millón de horas normaliza la comparación.

La proyección de cotización merece una aclaración. El sistema parte de la base legal de 0,95 % y le suma un recargo escalonado según la tasa de siniestralidad. Los tramos son: hasta 8 % no hay recargo; de 8 % a 16 % suma 0,34; de 16 % a 32 % suma 0,85; de 32 % a 64 % suma 1,7; y sobre 64 % suma 3,4. En la práctica, una empresa con tasa 20 % proyecta una cotización de 0,95 + 0,85 = 1,80 %, mientras que una con tasa 5 % se queda en la base de 0,95 %. Esa diferencia de casi un punto porcentual sobre la masa salarial es dinero real, y es exactamente lo que motiva a mantener la siniestralidad baja.

📌 Ejemplo práctico

Dos contratos idénticos en dotación pero con distinto historial ilustran el punto. El contrato "A" acumula 6 días perdidos promedio por mes (tasa 15 %) y proyecta 1,80 % de cotización; el contrato "B" acumula 3 días (tasa 7,5 %) y proyecta 0,95 %. La gestión de B le cuesta a su mandante casi un punto menos de cotización: la siniestralidad no es solo seguridad, es también costo.

Los términos que conviene dominar desde ahora son:

⚠️ Atención

Los días perdidos de origen psicosocial se registran por separado en el campo de Ley Karin / Salud. El sistema los suma al total de días perdidos para el IG, pero además calcula su peso relativo y dispara una alerta cuando supera el 20 % de la siniestralidad total.

21.2.3 Cómo acceder a Siniestralidad

1
Inicia sesión
Inicia sesión en IAegis con tu cuenta (ver Capítulo 1).
2
Verifica el contexto
Verifica, en la barra superior, que tienes una empresa y, idealmente, un contrato activo seleccionados. El dashboard se titula distinto según el caso: Siniestralidad: <contrato activo> o Consolidado Empresa: <empresa>.
3
Navega al módulo
Navega a la ruta /siniestralidad desde el menú o escribiendo la URL.
4
Espera la carga
Espera a que carguen los datos. Verás el spinner con el texto "Cargando datos de siniestralidad..." mientras se traen los cierres desde la base.
Dashboard de Siniestralidad

Figura 21.1 — Dashboard de Siniestralidad con gauge DS 67, cotización, género ESG, analítica y tabla de cierres

⚠️ Atención

Si no hay empresa activa, en el encabezado verás un icono de escudo con la etiqueta "Sin Contexto" y el módulo no mostrará indicadores. Selecciona la empresa y el contrato en la barra superior antes de seguir.

Sección 21.3
El Dashboard de Siniestralidad

21.3.1 Lectura del gauge y la cotización proyectada

La columna izquierda del dashboard está dominada por el gauge de Tasa de Siniestralidad, un medidor semicircular que ubica el porcentaje en una de tres zonas:

ZonaCondiciónColor
ZONA DE REBAJATasa menor a 30Verde
ZONA BÁSICATasa entre 30 y 70Ámbar
RIESGO DE RECARGOTasa de 70 o másRojo

Debajo del gauge se muestra la "Cotizacion Proyectada" como un porcentaje con dos decimales. Parte de 0,95 % (la base) y le suma el recargo según el tramo de la tasa. Es el dato que conecta directamente con el DS 67: cuanto más alta la tasa, más alta la cotización adicional proyectada.

Zonas del gauge

Figura 21.2 — Gauge de Tasa de Siniestralidad y sus tres zonas de color

📌 Ejemplo práctico

Un contrato con 40 trabajadores promedio y 12 días perdidos en un mes arroja una tasa de 30 % (está justo en el límite de la zona básica). Si al mes siguiente los días perdidos suben a 30, la tasa se dispara y el gauge se mueve hacia la zona roja. Roberto usa este movimiento como señal temprana para intervenir antes de que la cotización adicional suba de tramo.

⚠️ Atención

La zona "RIESGO DE RECARGO" se alcanza con tasa de 70 % o más. Es una señal de alerta, no una multa automática: la cotización proyectada es una estimación para que gestiones, no la cotización facturada por el organismo.

21.3.2 Desglose ESG por género

Bajo el gauge hay un bloque de "Exposición al Riesgo por Género (ESG · R-SGI-020)" que responde al requerimiento de desglosar la exposición por género. Muestra barras con los porcentajes de horas-hombre masculinas y femeninas (HH ♂ % / HH ♀ %) y sus totales absolutos. Si cargaste la dotación por género en el cierre, también aparecen los porcentajes de trabajadores (Trab. ♂ % / Trab. ♀ %) con el número de hombres y mujeres del último período.

✅ Buenas prácticas

Completa siempre los campos de trabajadores hombres y mujeres del formulario de cierre. Aunque son opcionales, son los que alimentan este desglose ESG y permiten detectar desequilibrios de exposición que el IG por sí solo no muestra.

21.3.3 Analítica de naturaleza y precursores

La columna derecha trae dos bloques de analítica:

Acompañan dos tarjetas con los valores numéricos de "IF (Frecuencia)" e "IG (Gravedad)", cada uno con un decimal.

💡 Tip

El ratio STP:CTP es un clásico de la seguridad (la "pirámide de Bird"): por cada accidente con tiempo perdido suele haber muchos sin tiempo perdido. Un ratio bajo puede indicar que no estás registrando los STP, no necesariamente que no ocurran. Revisa la calidad del dato antes de celebrar.

21.3.4 Historial de cierres mensuales

Si hay datos, al pie del dashboard aparece la tabla "Historial de Cierres Mensuales", ordenada por período descendente (el mes más reciente primero). Cada fila es un cierre:

ColumnaContenido
PeriodoEl período en formato AAAA-MM
DotacionDotación promedio del mes
HH TotalHoras-hombre totales con separador de miles
Dias ATDías perdidos por accidentes
Dias EPDías perdidos por enfermedad profesional
KarinDías perdidos por Ley Karin / Salud
CTPAccidentes con tiempo perdido
STPAccidentes sin tiempo perdido
FatalesAccidentes fatales
AccionesLápiz (editar) y tacho (eliminar), solo con permiso de gestión
⚠️ Atención

La columna Acciones solo aparece si tienes GESTIONAR SINIESTRALIDAD. Si eres de solo lectura, verás la tabla completa pero sin los iconos de lápiz ni tacho.

21.3.5 Exportar informes

En el encabezado del dashboard hay cuatro botones de acción:

BotónQué haceCuándo está disponible
Cierre Mensual (icono +)Abre el formulario para cargar un períodoCon contrato activo y permiso de gestión
PDFExporta el informe ejecutivo en PDFCuando hay al menos un cierre
ExcelExporta un Excel multi-hoja (resumen, mensual, accidentes, días perdidos)Cuando hay al menos un cierre
PPTExporta una presentación ejecutivaCuando hay al menos un cierre

Además, el botón Cambiar Nodo (icono de lupa) abre el selector de contexto para elegir otro contrato o empresa.

💡 Tip

El Excel multi-hoja es ideal para los informes SSOMA mensuales: trae la hoja resumen y las hojas desglosadas por accidentes y días perdidos, listas para anexar al reporte R-SGI-020.

⚠️ Atención

Si una exportación falla, aparece un banner rojo con el texto Error exportando PDF/EXCEL/PPT: <detalle>. Es un error de generación del archivo, no de tus datos; revisa la conexión e intenta de nuevo.

21.3.6 Estado sin datos

Si el contrato activo todavía no tiene cierres mensuales, el dashboard no desaparece: el gauge y las tarjetas de IF e IG muestran valores en cero, la tabla de historial no se dibuja y el diagnóstico IA muestra su propio estado vacío. Es la forma que tiene el sistema de decirte "todavía no hay información para analizar".

Siniestralidad sin datos

Figura 21.3 — Dashboard de Siniestralidad sin cierres: indicadores en cero y diagnóstico vacío

💡 Tip

No confundas el estado sin datos con un error. Mientras no cargues el primer cierre, todo es cero por diseño y la tarjeta de IA dirá "Sin datos para analizar". Carga un cierre y los indicadores empezarán a calcularse.

Sección 21.4
Cargar un Cierre Mensual

21.4.1 Abrir el formulario

El cierre mensual se captura en un modal llamado "Cierre Mensual Estadistico" (cuando creas) o "Editar Cierre Mensual" (cuando editas), con el subtítulo "Nodo: <contrato>".

1
Abre el formulario
En /siniestralidad, con un contrato activo seleccionado, haz clic en Cierre Mensual (botón con icono de más en el encabezado).
2
Revisa el período
Se abre el formulario. El período fiscal viene pre-cargado con el mes actual en formato AAAA-MM.
3
Completa y guarda
Completa los campos y guarda (los detalles campo a campo están en las secciones siguientes).
Formulario de Cierre Mensual Estadístico

Figura 21.4 — Formulario "Cierre Mensual Estadistico" con sus secciones

⚠️ Atención

El botón Cierre Mensual solo aparece con contrato activo. Si no lo ves pero tienes permiso de gestión, es porque estás en modo "Consolidado Empresa": en ese caso el dashboard muestra tarjetas por contrato con el botón Cargar Datos en cada una.

21.4.2 Campos generales y desglose ESG

La sección general pide dos campos obligatorios:

CampoTipoObligatorioNotas
Periodo FiscalMes (month)SíDeshabilitado al editar. Por defecto el mes actual
Dotacion PromedioNúmero (mín. 0)SíDotación promedio del período

Luego viene la sección "Desglose de HH y Trabajadores por Género (ESG)":

CampoTipoObligatorioPlaceholder
HH Masculino (M)NúmeroSí"Ej: 1500"
HH Femenino (F)NúmeroSí"Ej: 1200"
Trabajadores HombresNúmeroNo"Ej: 47"
Trabajadoras MujeresNúmeroNo"Ej: 4"
💡 Tip

No busques dónde escribir el total de horas-hombre: el campo "Total Consolidado HH:" se calcula solo como la suma de HH Masculino + HH Femenino. No es editable, y se recalcula en cuanto cambias alguno de los dos valores.

21.4.3 Días perdidos y conteo de accidentes

La sección "Desglose de Dias Perdidos (Naturaleza)" pide cuatro campos, ninguno obligatorio:

CampoObligatorio
Accidentes (AT)No
Enfermedad (EP)No
Ley Karin / SaludNo (estilo rosa)
Trayecto / OtrosNo

La sección de conteo de accidentes y eventos:

CampoTipoObligatorio
Accidentes CTPNúmeroNo
Accidentes STPNúmeroNo
FatalesNúmeroNo
Ultimo SiniestroFechaNo
⚠️ Atención

Si declaras uno o más Fatales, la validación previa al guardado lo marcará como error (CRÍTICO). La Ley 16.744 exige investigación causal y notificación a la SEREMI, la Mutualidad y la SUSESO dentro de 24 horas: el campo no es un simple número.

21.4.4 Resumen de incidentes R-SGI-020

La última sección es "Resumen Incidentes Detallado (R-SGI-020)", pensada para el informe mensual SSOMA. Todos sus campos son opcionales y tienen el placeholder "0":

CampoTipo
Enfermedades Prof.Número
Daño MaterialNúmero
Cuasi PérdidasNúmero
Medio AmbientalNúmero
Otros (Trayecto)Número

Los botones de cierre del modal son Abortar (cierra sin guardar) y Consolidar Estadisticas (crear) o Actualizar Estadisticas (editar).

✅ Buenas prácticas

Aunque estos campos sean opcionales, completar al menos las cuasi pérdidas y el daño material le da contexto al informe R-SGI-020 y evita que la siniestralidad se lea en vacío. El daño material sin lesión también es un precursor valioso.

21.4.5 Validación IA pre-guardado

Al pulsar Consolidar Estadisticas, el sistema ejecuta una validación híbrida y determinística (no consume IA externa): cruza los datos que cargaste contra reglas de coherencia y contra tu histórico para detectar inconsistencias o saltos bruscos.

Si hay observaciones de tipo error o warning, se abre el modal "Validación IA · Pre-guardado" con el título "N observación(es) antes de guardar" y el texto "Detecté inconsistencias o spikes vs tu histórico. Revisa antes de guardar:". Cada observación muestra un badge de severidad (CRÍTICO si es error, REVISAR si es warning, INFO si es informativa), el campo, el message y, cuando corresponde, una → suggestion.

Validación IA pre-guardado

Figura 21.5 — Modal "Validación IA · Pre-guardado" con observaciones antes de guardar

Los botones del modal son "Volver a revisar" (cierra sin guardar) y "Guardar de todos modos" (persiste pese a las observaciones).

Las reglas que disparan observaciones son, en resumen:

ReglaSeveridad
Hombres + mujeres difieren más de 10 % de la dotación promedioWarning
Accidentes (CTP + fatales) > 0 con 0 días AT (y viceversa)Warning
Fatales > 0Error
EP > 0 con 0 días EPInfo
HH totales muy bajas (< dotación × 100) o muy altas (> dotación × 240)Warning
Spike de accidentes (> 3× el promedio de los últimos 6 períodos)Warning
Spike de días Karin (> 2× el promedio histórico y > 5)Warning
💡 Tip

La validación no bloquea el guardado: si estás seguro de tus cifras (por ejemplo, un mes atípico real), puedes pulsar "Guardar de todos modos". Pero cada vez que te lo advierte, tómate un minuto para verificar, porque un dato mal cargado distorsiona el IF y el IG de todos los meses.

⚠️ Atención

Volver a guardar el mismo mes sobrescribe el cierre anterior de ese contrato. El sistema usa un identificador único por contrato y período, de modo que no se acumulan duplicados: re-cargar un mes reemplaza el dato previo, no lo suma.

Qué hacer si algo falla. Si el guardado o el borrado falla, el dashboard muestra un banner rojo con el texto Error al guardar cierre mensual: <msg> o Error al eliminar cierre mensual: <msg>, según el caso, junto con un botón "Cerrar". Lee el detalle del mensaje: casi siempre se trata de un problema de permisos o de conexión. Corrige el contexto y reintenta; si el error persiste, contacta al administrador.

💡 Tip

Antes de guardar, verifica mentalmente que el Total Consolidado HH sea coherente con tu dotación: si declaraste 52 trabajadores, un total de horas-hombre por debajo de 5.200 o por encima de 12.480 disparará una advertencia de rango sospechoso.

Sección 21.5
Análisis con IA

21.5.1 El Diagnóstico IA · DS 67

Al inicio del dashboard hay una tarjeta grande titulada "Diagnóstico IA · DS 67" / "Inteligencia de Siniestralidad". Se genera automáticamente al abrir la pantalla (con una caché de 30 minutos) y ofrece un resumen ejecutivo de los indicadores, con proyecciones a 3, 6 y 12 meses y escenarios de acción.

Sus estados posibles:

EstadoQué muestra
Empty (sin cierres)"Sin datos para analizar" y "Carga al menos un cierre mensual para activar el diagnóstico IA."
Loading"Analizando indicadores DS 67…" y "Cruzando N períodos · Calculando proyección y escenarios."
Error"Error generando diagnóstico" + "IA no disponible. Intenta nuevamente o contacta al administrador." + botón "Reintentar"

El badge de estado que acompaña el diagnóstico tiene cuatro valores posibles:

ValorEtiquetaColor
críticoCRÍTICORojo
alertaALERTAÁmbar
estableEN GESTIÓNCyan
óptimoÓPTIMOVerde
Diagnóstico IA DS 67

Figura 21.6 — Diagnóstico IA · DS 67 con proyección y escenarios

💡 Tip

Si el diagnóstico quedó cacheado y quieres forzar un análisis nuevo (por ejemplo, justo después de cargar un cierre), usa el botón Regenerar del encabezado de la tarjeta.

21.5.2 Cómo interpretar el diagnóstico

El cuerpo del diagnóstico se organiza en secciones, de arriba hacia abajo:

  1. "Diagnóstico Ejecutivo": un párrafo con la situación actual (situation) y el resumen final (finalSummary).
  2. "Highlights": una lista numerada con los puntos más relevantes.
  3. Alertas (si las hay): bloque rojo "N alerta(s) · revisar" con el título y detalle de cada una (punto rojo para críticas, ámbar para warnings).
  4. "Plan de Acción · N medidas priorizadas": medidas con badge de prioridad CRÍTICO, ATENCIÓN o PREVENTIVO, su detalle, el + impacto esperado y el plazo en días.
  5. "Proyección DS 67": tarjetas de 3 meses / 6 meses / 12 meses con la tasa y la cotización proyectadas y una narrativa.
  6. Escenarios: "Si NO actúas" (rojo) y "Si ejecutas el plan" (verde).

Al pie se lee Generado · <fecha/hora> · Modelo <modelUsed>.

📌 Ejemplo práctico

El diagnóstico de la obra de Roberto dice "EN GESTIÓN" y su proyección a 12 meses muestra que, si no actúa, la tasa sube de 32 % a 55 % y la cotización pasa de 0,95 % a 1,85 %. El escenario "Si ejecutas el plan" la mantiene en 0,95 %. Roberto prioriza las dos medidas con badge CRÍTICO del plan de acción y agenda la revisión en 30 días.

⚠️ Atención

El diagnóstico es una herramienta de apoyo, no un dictamen. Las proyecciones se basan en tu histórico cargado: si los datos de los cierres están incompletos, el diagnóstico arrastra esa incertidumbre. La calidad del análisis es igual a la calidad del dato.

Conviene leer el diagnóstico en tres tiempos. Primero, mira el badge de estado: si es rojo o ámbar, hay algo que atender hoy. Segundo, lee el "Diagnóstico Ejecutivo" y la lista de Highlights: son el resumen de una página que puedes pegar en tu reporte mensual. Tercero, baja al "Plan de Acción" y ordena las medidas por prioridad: las de badge CRÍTICO son las que debes ejecutar antes de que el escenario "Si NO actúas" se materialice.

✅ Buenas prácticas

No trates el plan de acción como una sugerencia decorativa. Convierte las medidas CRÍTICO en tareas reales con responsable y plazo dentro del mismo mes; así el diagnóstico pasa de "informe" a "plan de trabajo".

21.5.3 Ejemplo numérico interpretado

Para leer el dashboard con criterio, conviene repasar un mes con cifras concretas:

📌 Ejemplo práctico

En marzo, el contrato "Montaje Norte" reporta dotación promedio 50 trabajadores, 8.000 horas-hombre, 2 accidentes CTP, 6 accidentes STP, 5 días perdidos AT, 2 días EP y 3 días Karin. El sistema calcula: IF = (2 × 1.000.000) / 8.000 = 250,0; IG = ((5+2+3) × 1.000.000) / 8.000 = 1.250,0; tasa = ((10 días / 1 período) / 50) × 100 = 20 %. Con tasa 20 %, la proyección de cotización queda en 0,95 + 0,85 = 1,80 %. El ratio STP:CTP es 6/2 = 3,0 (bajo control) y el peso Karin es (3/10) × 100 = 30 %, lo que dispara la Alerta Ley Karin por superar el 20 %.

✅ Buenas prácticas

Revisa el IG junto con el IF, nunca por separado. Un IF bajo con IG alto significa pocos accidentes pero graves; un IF alto con IG bajo sugiere muchos eventos menores. Son realidades distintas que piden respuestas distintas.

Sección 21.6
Personal Externo: Qué es y Para Qué Sirve

21.6.1 Para qué sirve el padrón

El módulo de Personal Externo construye el padrón de trabajadores de empresas contratistas y subcontratistas que operan dentro de tu contrato. Cada persona queda asociada a uno o más sub-contratos y puede mantenerse activa o inactiva. El padrón se segmenta por contrato activo, un concepto que la interfaz llama "Bóveda Segregada": solo ves y gestionas el personal del contrato que tienes seleccionado.

Sirve para, entre otras cosas, saber exactamente quién está en tu frente de trabajo, mantener vigente el dato de cargo y empresa, y disponer de una fuente confiable de dotación externa para cruzar con la siniestralidad y con los registros del capítulo 2 (capacitaciones, entregas de EPP, etc.).

💡 Tip

La dotación externa que aquí gestionas es la misma que alimenta los cálculos del módulo de Siniestralidad cuando trabajas con contratos. Un padrón desactualizado se traduce en indicadores poco confiables.

21.6.2 El registro desde /records/external-personnel

La vista de Registros es la puerta de entrada operativa. El encabezado dice "Padrones Externos" con el subtítulo "Bóveda Segregada" y, cuando hay contrato activo, un badge "Contrato: <nombre>".

Si no hay contrato activo, verás un banner rojo con el texto "Atención: Seleccione un Contrato en la barra superior para gestionar este padrón." y el panel de control queda deshabilitado.

Padrones Externos desde Registros

Figura 21.7 — Padrones Externos: panel de ingesta y nómina local

⚠️ Atención

Las dos vistas (/records/... y /admin/...) montan la misma pantalla. La única diferencia es el destino del botón de volver: en Registros vuelve a /records, en Administración a /admin. No hay una versión "más poderosa" de la pantalla.

Si el contrato activo todavía no tiene personas cargadas, la nómina muestra el estado vacío "Padrones no hallados" con el texto "Cargue una nómina local para este frente de trabajo."

Padrón vacío

Figura 21.8 — Estado vacío "Padrones no hallados" de un contrato sin personas

💡 Tip

El estado vacío no te deja solo: es justo el momento de usar "Alta Individual" para la primera persona o "Carga Masiva Excel" para traer el padrón completo de una vez.

21.6.3 La administración desde /admin/external-personnel

La vista de Administración es idéntica en funciones, pensada para el perfil administrativo que además tiene permisos de eliminación. Aquí el mensaje de empresa requerida menciona el módulo "Padrones Externos", mientras que en la vista de Registros menciona "Personal Externo". Es una distinción solo de texto, no de comportamiento.

Sin el permiso correspondiente, verás "Acceso Denegado" / "No tienes permisos para gestionar padrones externos." con un botón "Volver".

✅ Buenas prácticas

Reserva la vista de Administración para quienes administran el padrón con permisos de eliminación, y deja la de Registros para los jefes de SSO que solo necesitan altas, ediciones y desactivaciones del día a día.

Sección 21.7
Alta Individual de una Persona
1
Abre el alta
En la pantalla de Padrones Externos, haz clic en el botón verde "Alta Individual".
2
Completa el formulario
Completa los campos del modal.
CampoObligatorioNotas
Nombre completoSíTiene el foco al abrir
RUTSíPlaceholder 12.345.678-9, máximo 12 caracteres; se formatea en vivo y muestra badge "Valido" o "Invalido"
CargoNoPlaceholder "Cargo (ej: Operario)"
EmpresaSí—
Email (para notificaciones)NoTipo email, placeholder ejemplo@empresa.cl
Asignar a Sub-ContratosSíCheckboxes; al menos uno
3
Consolida
Haz clic en "Consolidar Alta" (o "Cancelar" para descartar).
Alta individual

Figura 21.9 — Modal "Alta Individual" con campos y sub-contratos

💡 Tip

El RUT se valida en vivo mientras escribes, incluyendo el dígito verificador. Si el badge dice "Invalido", corrige antes de enviar: el sistema rechazará el alta con el mensaje "El RUT ingresado no es válido. Verifique el dígito verificador.".

⚠️ Atención

Si no hay empresa activa, el alta falla con "Debe seleccionar un Contrato en el Header para cargar personal.". Y si intentas cargar un RUT ya existente en el padrón de ese contrato, verás "Ya existe una persona con este RUT en el padrón de este contrato.": el RUT es la clave única del padrón.

Sección 21.8
Importación Masiva desde Excel

21.8.1 La plantilla plantilla-personal-externo.xlsx

Para cargas grandes, el módulo permite importar desde un archivo de Excel. El enlace "↓ Descargar Plantilla Excel" descarga la plantilla oficial plantilla-personal-externo.xlsx, que está en la raíz del repositorio y se sirve al frontend desde la carpeta de plantillas.

La plantilla trae 4 columnas: Nombre, RUT, Cargo, Empresa. La columna Email es opcional y puedes agregarla manualmente.

Plantilla de personal externo

Figura 21.10 — Plantilla plantilla-personal-externo.xlsx con sus columnas

ColumnaObligatoriaValor por defecto si falta
NombreSí— (la fila se ignora sin nombre)
RUTSí— (la fila se ignora sin RUT)
CargoNoExterno
EmpresaNoS/E
EmailNo— (se valida formato si viene)
💡 Tip

El sistema acepta variantes de encabezado para que no falles por mayúsculas: Nombre/name, RUT/rut, Cargo/position, Empresa/company y Email/email/EMAIL/Correo/correo. Aun así, usar la plantilla oficial es lo más seguro.

⚠️ Atención

La importación lee solo la primera hoja del libro de Excel. Si pegas los datos en una segunda hoja, el sistema no los verá.

21.8.2 Los tres modos de importación

Antes de cargar el archivo, elige el "Modo de importación" en el panel de ingesta:

ValorEtiquetaComportamiento
create-onlySolo crear nuevos (saltar existentes)Los RUT que ya existen en el contrato se ignoran
upsert-emailCrear + actualizar solo emailsSolo actualiza el email; un email vacío en la planilla NO borra el existente
upsert-allCrear + actualizar todos los camposNombre, cargo, empresa y email se sobrescriben si difieren; las celdas vacías NO borran datos
⚠️ Atención

El modo upsert-all sobrescribe datos existentes. Úsalo cuando confías en que la planilla es la fuente oficial más reciente; de lo contrario, create-only es la opción segura para una primera carga sin pisar el padrón.

21.8.3 Cargar el archivo y revisar el resumen

1
Descarga y completa la plantilla
Descarga la plantilla con "↓ Descargar Plantilla Excel" y complétala.
2
Asigna sub-contratos
Asigna los sub-contratos de destino marcando los checkboxes del panel "Asignar a Sub-Contratos".
3
Elige el modo
Elige el Modo de importación.
4
Carga el archivo
Arrastra el archivo a la zona "Carga Masiva Excel" (o haz clic para seleccionarlo; se aceptan .xlsx y .xls).
5
Revisa el resumen
Revisa el resumen que aparece en un modal al finalizar.
Carga masiva y modos de importación

Figura 21.11 — Panel de ingesta con modos de importación, carga masiva y enlace a la plantilla

El resumen de la importación detalla: Creados, Actualizados, Existentes saltados (modo create-only), Filas sin nombre ignoradas, RUTs inválidos ignorados, RUTs duplicados dentro del archivo y Emails con formato inválido omitidos, cada uno con su cantidad y, cuando aplica, el detalle de filas.

💡 Tip

Verifica el contador de "Creados" contra el número de personas que esperabas cargar. Si "Filas sin nombre ignoradas" o "RUTs inválidos ignorados" es distinto de cero, corrige esas filas y vuelve a importar; el sistema las saltó a propósito.

⚠️ Atención

Antes de importar debe existir un contrato activo y al menos un sub-contrato seleccionado. Los errores textuales son claros: "Defina el contexto operativo (Contrato) antes de la ingesta." y "Seleccione al menos un Sub-Contrato antes de importar.". Si el archivo no tiene las columnas mínimas, verás "El archivo debe contener columnas 'Nombre' y 'RUT'.".

La importación valida cada fila antes de escribir: se saltan las filas sin RUT o sin nombre, se verifica el dígito verificador del RUT y el formato del email, y se detectan los RUT duplicados dentro del propio archivo. Por eso el resumen final es tan granular: te dice exactamente qué entró, qué se omitió y por qué. Ese resumen es tu control de calidad de la carga.

📌 Ejemplo práctico

Carolina importa una planilla de 30 filas. El resumen dice Creados: 25, Existentes saltados: 3 (eran personas que ya estaban en el padrón) y RUTs inválidos ignorados: 2 con las filas 12 y 27 señaladas. Revisa esas dos filas, corrige los dígitos verificadores y vuelve a importar solo esas líneas en un segundo archivo; ahora sí, los 30 quedan en la nómina.

Sección 21.9
Edición, Desactivación y Eliminación

Cada fila de la "Nómina Local" (columna derecha, con el contador "Personal vinculado a este contrato: N") muestra los datos de la persona y una serie de acciones según tu permiso:

IconoQué hacePermiso
Identificación"Editar datos (nombre, cargo, empresa, email)"Gestionar
Lápiz"Editar sub-contratos"Gestionar
Prohibido / check"Desactivar" / "Reactivar"Gestionar
TachoEliminar a la personaSolo GESTIONAR DIRECTORIO DE USUARIOS

La nómina tiene una barra de búsqueda con placeholder "Interceptar registro..." que filtra por nombre, RUT o empresa.

Edición de datos de una persona

Figura 21.12 — Modal "Editar Datos" (el RUT no es editable)

El modal "Editar Datos" muestra el RUT como clave no editable y permite modificar nombre, cargo, empresa y email (con la nota "Dejar vacío para quitar el email existente."). El botón es "Guardar Cambios".

⚠️ Atención

El RUT no es editable por diseño: es la clave que identifica a la persona y la que detecta duplicados. Si te equivocaste de RUT, la vía correcta es eliminar la persona (con el permiso de administración) y darla de alta nuevamente con el RUT correcto.

La Desactivación y la Eliminación piden confirmación:

AcciónTítulo del modalMensaje
Eliminar"Confirmar Eliminación""¿Está seguro que desea eliminar a esta persona del padrón?" + nombre
Desactivar"Confirmar Desactivación""¿Desactivar a esta persona? Podrá reactivarla después." + nombre
Confirmación de desactivación

Figura 21.13 — Modal "Confirmar Desactivación"

Confirmación de eliminación

Figura 21.14 — Modal "Confirmar Eliminación"

⚠️ Atención

La eliminación es definitiva e irreversible; la desactivación es reversible. Si una persona deja el frente por un tiempo pero podría volver, usa Desactivar: podrás reactivarla después con el botón de reactivar.

✅ Buenas prácticas

Antes de eliminar a alguien del padrón, verifica que no esté referenciada en capacitaciones o entregas de EPP recientes. Prefiere desactivar cuando hay historial que conservar, y eliminar solo cuando el registro es erróneo o duplicado.

Sección 21.10
Caso de Uso Narrado de Punta a Punta
📌 Caso de uso — Carolina, prevencionista de riesgos de la empresa mandante "Andes Minería"

Carolina comienza el lunes con el cierre de siniestralidad de la faena "Planta Concentradora". Abre /siniestralidad, verifica en la barra superior que el contrato activo sea "Planta Concentradora" y observa que el gauge marca ZONA BÁSICA con una tasa de 24 %. Pulsa Cierre Mensual y carga el período del mes anterior: dotación promedio 52, HH masculino 3.200 y HH femenino 480, con lo que el Total Consolidado HH queda en 3.680. En días perdidos registra 4 en AT, 1 en EP y 2 en Ley Karin / Salud; en accidentes, 1 CTP y 3 STP, sin fatales. Al pulsar Consolidar Estadisticas, la validación IA le advierte que los días Karin superan el doble del promedio histórico: Carolina revisa, confirma que hubo dos licencias por estrés laboral ese mes y elige "Guardar de todos modos". El dashboard recalcula los indicadores y el Diagnóstico IA · DS 67 se regenera mostrando el estado "EN GESTIÓN" y una proyección a 12 meses que recomienda reforzar el programa psicosocial.

Ese mismo día, Carolina debe actualizar el padrón del personal de la contratista de mantenimiento "Servicios Eléctricos del Norte". Entra por /records/external-personnel, selecciona el contrato y ve el banner confirmando la Bóveda Segregada. Descarga la plantilla con "↓ Descargar Plantilla Excel", la completa con 25 personas (columnas Nombre, RUT, Cargo, Empresa y agrega Email), elige el modo "Solo crear nuevos (saltar existentes)" y arrastra el archivo a la zona "Carga Masiva Excel". El resumen le indica Creados: 22, Existentes saltados: 3 y RUTs inválidos ignorados: 0. Para el electricista nuevo que faltó, usa "Alta Individual", completa nombre, RUT, empresa y sub-contrato, y consolida el alta. Al final, la Nómina Local muestra "Personal vinculado a este contrato: 47" y Carolina da por cerrada la jornada: siniestralidad al día y padrón vigente.

✅ Buenas prácticas

Haz coincidir el cierre de siniestralidad con la actualización del padrón el mismo día del corte mensual. Así la dotación y las horas-hombre que declaras en Siniestralidad reflejan exactamente el personal que gestionas en Personal Externo.

21.11 Glosario

Sección Final
Preguntas Frecuentes
¿Por qué no veo el botón "Cierre Mensual"?
Solo aparece con contrato activo y permiso GESTIONAR SINIESTRALIDAD (o siendo Tenant Admin/SuperAdmin). Con permiso de solo lectura verás el dashboard sin poder cargar. Sin contrato activo, en su lugar se muestra la ingesta por unidades de negocio con el botón Cargar Datos por contrato.
¿Qué pasa si cargo dos veces el mismo mes?
El cierre del mismo período sobrescribe el anterior de ese contrato: el sistema usa un identificador único por contrato y período, de modo que no se acumulan duplicados. Re-cargar un mes reemplaza el dato previo.
¿La validación IA bloquea el guardado?
No. La validación pre-guardado es determinística y local (no consume IA externa); solo avisa de inconsistencias o saltos bruscos. Puedes elegir "Guardar de todos modos" o "Volver a revisar" y corregir.
¿Por qué no puedo eliminar una persona del padrón?
La eliminación exige el permiso GESTIONAR DIRECTORIO DE USUARIOS. Con GESTIONAR PERSONAL EXTERNO solo puedes desactivar/reactivar. Si no ves el tacho en la fila, es porque tu rol no incluye ese permiso.
¿Qué diferencia hay entre /records/external-personnel y /admin/external-personnel?
Muestran la misma pantalla; solo cambia el destino del botón de volver (/records vs /admin). No existe una versión con más funciones en una u otra ruta.
¿Qué pasa si importo un RUT que ya existe?
Depende del modo de importación: en "Solo crear nuevos" se salta; en "Crear + actualizar solo emails" se actualiza solo el email; en "Crear + actualizar todos los campos" se sobrescriben nombre/cargo/empresa/email (las celdas vacías no borran datos existentes).
¿Qué columnas exige el Excel?
Mínimo Nombre y RUT. Cargo, Empresa y Email son opcionales; sin Cargo se asigna "Externo" y sin Empresa se asigna "S/E". La plantilla oficial trae 4 columnas (Nombre, RUT, Cargo, Empresa) y Email se agrega manualmente si hace falta.
¿Cada cuánto se regenera el diagnóstico IA?
Se genera al abrir el dashboard y queda cacheado por 30 minutos. Usa el botón Regenerar para forzar un análisis nuevo justo después de cargar un cierre.
¿Qué hago si una exportación PDF/Excel/PPT falla?
Aparece un banner rojo Error exportando ...: <detalle>. Es un error de generación del archivo, no de tus datos: revisa la conexión e intenta de nuevo. Si persiste, contacta al administrador.
¿La cotización proyectada es lo que facturará el organismo?
No. Es una proyección para que gestiones: parte de la base de 0,95 % y suma el recargo según el tramo de la tasa. La cotización efectiva la determina el organismo según el proceso del DS 67.