Sistema de Gestión de Seguridad y Salud Ocupacional
Manual de Usuario
Capítulo 15: Administrador de Contrato (ADC) y KPI por Contrato
El rol Administrador de Contrato acotado por contrato (titular y suplentes, aislamiento de datos) y el tablero KPI de Administradores: % de cierre de hallazgos por contrato, bandas de desempeño, ranking por titular y scorecards, como base del bono preventivo.

Fecha de publicación: 9 de julio de 2026

Plataforma: https://aspr.iaegis.app

Versión del sistema: 2.5.107

Tabla de Contenidos

📋 Disponibilidad del módulo

El tablero KPI de Administradores vive dentro del Hub de IA (/ai → /ai/contract-kpi) y requiere tener una empresa activa seleccionada. La configuración del titular ADC y sus suplentes se hace en el ContractHub (/admin/contracts), disponible para quien administra contratos. El aislamiento por contrato (rol acotado) solo aplica si tu rol tiene activada la bandera correspondiente. Consulta con tu administrador si no ves alguna de estas piezas.

Sección 15.1
Visión General del Módulo

15.1.1 Qué resuelve el ADC y el KPI por Contrato

Este módulo cubre dos cosas entrelazadas: el rol operativo Administrador de Contrato (ADC) — la persona responsable de uno o varios contratos o faenas — y el tablero KPI de Administradores, un scorecard que mide, contrato por contrato y persona por persona, el porcentaje de cierre de hallazgos. Juntos convierten una responsabilidad difusa («alguien tiene que cerrar las observaciones») en un indicador objetivo que puede sustentar el bono preventivo.

En terreno, cada faena o contrato tiene un administrador que responde por su gestión preventiva. Cuando una inspección levanta un hallazgo (una observacion de condición o conducta insegura), ese hallazgo debe cerrarse: asignar un plan de acción, verificarlo y darlo por resuelto. El KPI mide justamente eso: cuántos hallazgos se cerraron respecto del total, imputando el resultado a la persona titular del contrato.

El módulo resuelve problemas concretos de la línea de mando:

📝 Nota

El tablero es de solo lectura: no crea ni modifica datos. Deriva todo de dos fuentes que ya existen en el sistema: los contratos (con su titular y suplentes) y las observaciones (hallazgos). Configurar bien los contratos y registrar bien las observaciones es lo que hace confiable al KPI.

📌 Ejemplo práctico

En la faena «Mantención Planta Norte», una inspección levanta un hallazgo de «derrame de aceite sin contener». El hallazgo nace abierto y se le asigna un plan de acción. Semanas después, el prevencionista verifica que el derrame se limpió y cierra el hallazgo. Ese cierre —y no la apertura— es lo que sube el % de cierre del contrato y, por lo tanto, el bono de su titular. El módulo convierte ese ciclo en un número auditable.

Encabezado del tablero KPI de Administradores

Figura 15.1 — Tablero «KPI de Administradores»: encabezado con la bajada del bono y las tres tarjetas de resumen.

15.1.2 Conceptos clave

ConceptoDescripción
Administrador de Contrato (ADC)Usuario responsable de uno o varios contratos/faenas. En IAegis se materializa como titular de un contrato y, opcionalmente, como rol acotado por contrato.
Titular (adminUserId)La única persona a la que se le imputa el desempeño (bono) de un contrato. Solo puede haber un titular por contrato.
Suplente (deputyAdminUserIds)Respaldo operativo del titular. Puede administrar el contrato, pero no carga el KPI salvo que se le designe como titular.
Rol acotado (isContractScoped)Bandera del rol que restringe la vista y las acciones del usuario solo a los contratos que administra.
Contratos administrados (administeredContractIds)Lista denormalizada de los contratos de los que un usuario es titular o suplente. Es lo que decide «sus contratos».
HallazgoUna observacion (RecordType.OBSERVATION) de condición o conducta insegura. Es la unidad que mide el KPI.
Abierto / CerradoEstado del hallazgo. Abierto = Abierto, Plan de Acción Asignado o En Verificación. Cerrado = Cerrado.
% de cierre (closeRate)Hallazgos cerrados dividido por el total de hallazgos del contrato, en porcentaje. Base de todo el tablero.
Banda de desempeñoClasificación del % de cierre: Óptimo, En gestión o Crítico.

15.1.3 Titularidad vs. rol acotado: dos conceptos ortogonales

Es importante no confundir dos cosas que se refuerzan pero son independientes:

Un usuario puede ser titular sin rol acotado (carga el bono, pero ve toda la empresa) y puede tener rol acotado sin ser titular (solo ve sus contratos como suplente, pero no carga el bono). Ambos conceptos son ortogonales.

✅ Buenas prácticas

Al diseñar los roles de tu empresa, decide por separado quién responde (titular) y qué puede ver (rol acotado). Un gerente puede ser titular de una faena sin necesitar rol acotado; un supervisor con rol acotado puede ver solo sus contratos sin cargar bono. No asumas que van de la mano.

TITULARIDAD (adminUserId)           ROL ACOTADO (isContractScoped)
        |                                     |
  «a mí se me imputa                  «solo veo/opero
   el bono del contrato»               mis contratos»
        |                                     |
        v                                     v
  aparece en el KPI                    aislamiento de datos
  (ranking + scorecard)                (pantalla + servidor)

  Se combinan pero NO dependen uno del otro.

15.1.4 Encuadre normativo (Chile)

El módulo operacionaliza la responsabilidad del administrador de contrato y de la línea de mando sobre la gestión preventiva:

NormaRelación con el módulo
Ley 16.744Seguro de accidentes del trabajo y enfermedades profesionales. La gestión de riesgos es responsabilidad del empleador y su línea de mando; el KPI mide el cierre efectivo de hallazgos como evidencia de esa gestión.
DS 44/2024Nuevo reglamento de gestión preventiva (sucesor del DS 40). Obliga a identificar peligros y cerrar las medidas correctivas; el % de cierre de hallazgos es la métrica directa de ese ciclo.
DS 594Condiciones sanitarias y ambientales básicas. Muchos hallazgos/observaciones que alimentan el KPI derivan de inspecciones de condiciones bajo este decreto.
Ley 21.719Protección de datos personales. El tablero exhibe nombres, RUT y fotos de trabajadores y administradores. Su acceso debe restringirse a quien tenga necesidad legítima; el aislamiento ADC ayuda a minimizar la exposición.
🔒 Seguridad y datos personales

Bajo la Ley 21.719, el tablero KPI trata datos personales (nombre, RUT, fotografía). Restringe su uso a gerencia, prevención central y a los propios administradores respecto de sus contratos. El apartado «Reincidencia por trabajador» es especialmente sensible: úsalo solo con criterio y respaldo documental (ver 15.3.7).

✅ Buenas prácticas

Define quién puede abrir el tablero a nivel de organización (gerencia, prevención central) y documenta esa lista. Como la ruta no exige un permiso dedicado, la restricción es más un acuerdo de gobernanza que una barrera técnica.

📝 Nota

Este módulo no emite documentos con firma electrónica (Ley 19.799) ni gestiona exámenes de salud (DS 109); esos encuadres se cubren en otros capítulos del manual y no aplican directamente aquí.

Sección 15.2
Permisos y Acceso

El acceso al módulo tiene dos capas: el tablero KPI (analítico, en el Hub de IA) y la configuración de titularidad (en el ContractHub). Además, el aislamiento ADC filtra lo que cada usuario ve dentro del tablero.

15.2.1 Acceso al tablero KPI

El tablero se abre desde el Hub de IA: entra a /ai, baja hasta la sección Herramientas de IA y haz clic en la tarjeta «KPI de Administradores». También puedes ir por URL directa a /ai/contract-kpi.

Tarjeta KPI de Administradores en el Hub de IA

Figura 15.2 — Tarjeta «KPI de Administradores» dentro de la sección «Herramientas de IA» del Hub de IA.

💡 Tip

Guarda la URL directa /ai/contract-kpi en los favoritos de tu navegador para saltarte la navegación del hub cuando revises el tablero a diario.

⚠️ Atención

La ruta /ai/contract-kpi no exige un permiso dedicado: cualquier usuario autenticado con una empresa activa puede abrir el tablero. La única barrera efectiva sobre lo que se muestra es el aislamiento ADC (ver 15.2.3). Como el tablero es la base del bono y expone datos personales, restringe el acceso a nivel organizacional (gerencia/prevención) hasta que exista un permiso específico.

15.2.2 Acceso a la configuración de titularidad

La asignación del titular y de los suplentes vive dentro del ContractHub (/admin/contracts), en el formulario de cada contrato (ContractForm). Para llegar: entra a /admin, abre Nodos Contractuales y usa «Abrir Nuevo Nodo» o el lápiz de edición de un contrato existente. El acceso a este hub se rige por los permisos habituales de administración de contratos (el Tenant Admin ve todo; el ADC acotado, solo lo suyo).

💡 Tip

Si vas a configurar varios contratos de una sola vez, usa la búsqueda por nombre o RUT del selector de titular para asignar al mismo responsable en segundos, en vez de desplazarte por la lista completa.

15.2.3 Qué ve cada perfil (aislamiento ADC)

El aislamiento se aplica antes de calcular el KPI y también al listar contratos. Depende de la bandera isContractScoped del rol del usuario:

PerfilRol acotadoQué ve en el KPIQué ve en ContractHub
SuperAdmin / Tenant AdminNo (global)Todos los contratos de la empresa activa y todos los administradoresTodos los contratos
Rol global clásico (con permiso, sin bandera)NoTodos los contratos (el aislamiento no lo afecta)Todos los contratos
ADC acotado (rol con isContractScoped)SíSolo sus contratos y el ranking/scorecards derivados de ellosSolo sus contratos administrados

Cómo se decide «sus contratos»

Cuando a un usuario se le asigna como titular (adminUserId) o dentro de los suplentes (deputyAdminUserIds) de un contrato, el sistema agrega ese contrato a su lista administeredContractIds (una relación inversa que se mantiene automáticamente). Esa lista es la que define su cartera. Un rol acotado sin contratos asignados no verá nada.

✅ Buenas prácticas

Antes de activar el rol acotado a un usuario, asígnale al menos un contrato como titular o suplente. De lo contrario, su primera experiencia será un tablero y un ContractHub vacíos, y reportará un falso error de permisos.

🔒 Enforcement en el servidor

El aislamiento no es solo cosmético: se aplica también en el servidor. Si un usuario con rol acotado intenta operar un registro de un contrato que no esta en su cartera, la operación se rechaza con el mensaje: «No administras el contrato {contractId}.». Los registros de nivel empresa (sin contrato asignado) están permitidos para todos.

📝 Nota técnica

La bandera isContractScoped es un atributo del rol y, en la versión actual, se configura directamente en la base de datos: no existe todavia un interruptor en la pantalla de roles para activarla o desactivarla. Solicita a tu administrador de plataforma que la active en el rol que corresponda (ver Flujo 4 en la Sección 15.5.3).

15.2.4 Rutas involucradas

RutaPantallaPropósito
/aiHub de IAContiene la tarjeta «KPI de Administradores».
/ai/contract-kpiTablero KPI de AdministradoresScorecard de desempeño por contrato y por persona.
/admin/contractsContractHubGestión de contratos; titular/suplentes en el ContractForm.
/admin/usersGestión de usuariosAsignación del rol a la persona.
/admin/rolesCatalogo de rolesPermisos del rol (la bandera isContractScoped no es editable aquí).
Sección 15.3
El Tablero KPI de Administradores

El tablero /ai/contract-kpi es una única página de solo lectura compuesta por varios paneles. No tiene formularios, filtros de fecha, ni exportación: es puramente informativo. Su encabezado lo deja claro con la bajada literal: «El bono de los administradores depende de prevención — cierre de hallazgos por contrato.»

15.3.1 Fuente de datos y definiciones

El tablero lee las 500 observaciones más recientes de la empresa activa (ordenadas por fecha, de la más nueva a la más antigua) y las cruza con los contratos (ya filtrados por el aislamiento ADC) y con los usuarios (para resolver titular y suplentes reales, con su avatar y nombre).

ConceptoDefinición exacta
HallazgoUna observacion (RecordType.OBSERVATION). No se cuentan otros registros (capacitaciones, EPP, etc.).
AbiertoEstado del hallazgo ∈ Abierto, Plan de Acción Asignado o En Verificación.
CerradoEstado del hallazgo = Cerrado.
% de cierrecerrados ÷ total × 100 (redondeado). Si un contrato no tiene hallazgos (total = 0), su % de cierre es 100%.
⚠️ Atención

En empresas con volumen muy alto de observaciones, el KPI trabaja con las 500 más recientes. Las más antiguas quedan fuera del cálculo. Tenlo presente al interpretar el desempeño histórico de una faena con mucha actividad.

📌 Ejemplo práctico

Una empresa de minería registra 1.200 observaciones en el año. El tablero solo considera las 500 más nuevas. Si un contrato tiene sus hallazgos abiertos justo en las observaciones más antiguas, podrían no entrar al cálculo y el contrato mostraría un % de cierre más optimista de lo real. Antes de premiar, verifica si la faena supera el límite de 500.

15.3.2 Bandas de desempeño y % de cierre

Todo el tablero colorea el % de cierre en tres bandas:

BandaReglaColorEtiqueta
Óptimo% de cierre ≥ 90Verde esmeralda«Óptimo»
En gestión70 ≤ % < 90Ámbar«En gestión»
Crítico% de cierre < 70Rojo«Crítico»

El tablero ordena casi todo peor primero: los contratos y administradores con menor % de cierre aparecen arriba, para que la gestión se enfoque donde más duele. La nota al pie del tablero lo resume: «% de cierre = hallazgos cerrados / total · ordenado por desempeño (peor primero).»

📌 Ejemplo práctico

Un contrato con 8 cerrados de 10 totales (80%) cae en «En gestión» (ámbar). Está a 2 cierres de pasar a «Óptimo» (≥ 90), así que la decisión es empujar esos 2 hallazgos abiertos, no abrir inspecciones nuevas. Otro contrato con 6 de 10 (60%) cae en «Crítico» (rojo): ahí la decisión es distinta, revisar por qué se acumulan abiertos y poner plazo a cada uno.

15.3.3 Encabezado y KPI cards

Arriba del tablero, junto al título, hay tres tarjetas de resumen (KPI cards) que dan la foto global de la cartera:

KPI cardQué muestraCálculoColor
Contratos evaluadosCantidad de contratos considerados (ya filtrados por el aislamiento ADC).Nº de contratos.Neutro
Cierre promedioPromedio del % de cierre de la cartera.Promedio simple del % de cada contrato (0 si no hay contratos).Según la banda del promedio
Hallazgos abiertosTotal de hallazgos abiertos en toda la cartera.Suma de abiertos de todos los contratos.Siempre rojo
Encabezado del tablero con las tres KPI cards

Figura 15.3 — Encabezado del tablero con el título y las tres KPI cards: Contratos evaluados, Cierre promedio y Hallazgos abiertos.

⚠️ Atención

El «Cierre promedio» de esta tarjeta es un promedio simple (cada contrato pesa igual). El % del ranking por persona (15.3.5) es un promedio ponderado por número de hallazgos. Por eso no tienen por qué coincidir: un contrato con 1 hallazgo pesa lo mismo que uno con 50 en la tarjeta, pero no en el ranking.

📌 Ejemplo práctico

La cartera tiene tres contratos con 100%, 80% y 45% de cierre. La tarjeta marca Cierre promedio 75% porque promedia simple: (100 + 80 + 45) ÷ 3 = 75. El número es útil para una foto global, pero esconde que hay un contrato Crítico (45%). No tomes la decisión del bono con la tarjeta: baja al ranking y a los scorecards.

15.3.4 Resumen visual (3 gráficos)

La sección «Resumen visual» presenta tres gráficos que resumen la cartera de un vistazo. Cada uno lleva una leyenda compacta con puntos de color, nombre y valor.

Tablero KPI completo con resumen visual

Figura 15.4 — Tablero KPI con la sección «Resumen visual»: barras de % de cierre por contrato y los donuts de bandas y de hallazgos.

GráficoTítuloTipoContenido
1«% de cierre por contrato»Barras verticalesUna barra por contrato, coloreada por banda, peor primero. Eje 0–100%; nombres truncados a 12 caracteres con «…». El tooltip muestra el nombre completo, el administrador y «Cierre: X%».
2«Contratos por banda»DonutNúmero de contratos en Óptimo / En gestión / Crítico (solo se muestran las bandas con valor mayor a 0).
3«Hallazgos: abiertos vs cerrados»DonutSuma de cerrados (verde) frente a abiertos (rojo) de toda la cartera.

Cuando no hay datos, cada gráfico muestra un estado vacío con el texto «Sin contratos con hallazgos».

💡 Tip

Pasa el cursor sobre una barra del gráfico «% de cierre por contrato» para ver el tooltip con el nombre completo del contrato, su administrador y el % exacto. Es la forma más rápida de saber quién responde por un contrato en rojo sin bajar a los scorecards.

Tooltip del gráfico de cierre por contrato

Figura 15.5 — Tooltip del gráfico «% de cierre por contrato»: muestra el nombre completo, el administrador y el % de cierre exacto al pasar el cursor.

📌 Ejemplo práctico

En el donut «Contratos por banda» ves 7 Óptimo, 4 En gestión y 3 Crítico. La decisión inmediata no es felicitar a los 7: el tablero ordena peor primero, así que esos 3 Crítico son tu plan de trabajo del mes. Baja al ranking, identifica a sus titulares y agenda la revisión con cada uno.

15.3.5 Ranking de Administradores

El corazón del tablero para el bono es el «Ranking de Administradores». Su bajada lo explica: «Desempeño imputado a la persona (titular real del contrato). % consolidado = promedio ponderado del cierre por nº de hallazgos de cada contrato (= cierres / hallazgos totales de su cartera). Peor primero.»

Ranking de Administradores

Figura 15.6 — «Ranking de Administradores»: cada fila muestra avatar, nombre, cartera y el % consolidado con su banda, ordenado peor primero.

Cada fila del ranking muestra:

Cómo se calcula el % consolidado por persona

El sistema agrupa los contratos por su titular (los sin titular caen en un grupo aparte). Para cada persona suma todos los cierres y todos los hallazgos de su cartera completa y calcula: consolidado = cierres totales ÷ hallazgos totales × 100. Es decir, un promedio ponderado por número de hallazgos: un contrato con muchos hallazgos pesa más que uno con pocos. Si la persona no tiene hallazgos en ninguno de sus contratos (total = 0), su consolidado es 100%. El ranking se ordena peor primero.

📝 Nota

El bono se imputa a la persona titular, no a los suplentes. Un suplente puede administrar operativamente el contrato, pero su desempeño no aparece en el ranking mientras no sea titular de algún contrato.

⚠️ Atención

Si designas a alguien como suplente esperando que cargue el bono, te llevarás una sorpresa: el ranking solo imputa al titular. Un suplente que asume la faena de facto no mueve el indicador hasta que lo promuevas a titular del contrato.

📌 Ejemplo práctico

Marcela es titular de dos contratos. En «Faena A» tiene 50 hallazgos, 40 cerrados (80%); en «Faena B» tiene 10 hallazgos, 10 cerrados (100%). Su % consolidado no es el promedio 90%, sino el ponderado: (40 + 10) ÷ (50 + 10) = 50 ÷ 60 = 83%. La faena grande pesa más. Para subir rápido, el mayor impacto está en cerrar los 10 abiertos de «Faena A», no en «Faena B» (que ya está perfecta).

✅ Buenas prácticas

Antes de fijar el bono, cruza el % consolidado con el volumen de hallazgos. Un 100% con 2 hallazgos no equivale a un 100% con 80 hallazgos: el primero puede ser ausencia de inspección, no buena gestión.

Si no hay ningún administrador con contratos evaluables (y el tablero ya terminó de cargar), el ranking muestra el estado vacío: «Sin administradores con contratos evaluables.»

Fila sin titular asignado del ranking

Figura 15.7 — Fila «Sin titular asignado» del ranking: borde punteado y triángulo de advertencia, sin avatar ni nombre.

💡 Tip

Para detectar contratos sin titular de un vistazo, busca el borde punteado y el triángulo de advertencia en el ranking: es visualmente distinto de las filas con avatar. Es la señal más rápida de que hay responsabilidad sin asignar.

15.3.6 Scorecards por contrato

Debajo del ranking hay una grilla de scorecards, una tarjeta por contrato, también ordenadas peor primero. Cada scorecard detalla la situación de un contrato concreto.

Scorecards por contrato

Figura 15.8 — Scorecards por contrato: administrador titular, suplentes, % de cierre con barra de progreso y contadores de hallazgos.

Elemento del scorecardQué muestra
Nombre del contratoEl nombre del contrato/nodo.
AdministradorAvatar + nombre del titular. Si el contrato no tiene titular, usa el nombre legado (gerenteAdmin) del informe SSOMA; si tampoco existe, el literal «[Sin administrador asignado]».
SuplentesSi los hay: línea «Suplentes: nombre1, nombre2» (se descartan los que no se encuentran entre los usuarios).
% de cierreNúmero grande coloreado por banda, con su etiqueta.
Barra de progresoBarra coloreada al valor del % de cierre.
ContadoresN hallazgos · X abiertos (rojo) · Y cerrados (verde).

Si no hay contratos con hallazgos (y el tablero ya cargó), la grilla muestra: «No hay contratos con hallazgos en el periodo.»

💡 Tip

El scorecard es tu herramienta para justificar el ranking. Cuando un administrador aparece crítico en el ranking, revisa sus scorecards para ver que contrato específico arrastra su promedio y cuántos hallazgos abiertos tiene pendientes.

✅ Buenas prácticas

Cuando presentes el tablero en un comité, abre el scorecard del contrato que quieras discutir y lee los contadores en voz alta («20 hallazgos, 11 abiertos, 9 cerrados»). Un número con volumen es mucho más defendible que un simple «está en 45%».

📌 Ejemplo práctico

El scorecard de «Faena Sur» muestra 20 hallazgos · 11 abiertos · 9 cerrados y su titular es Rodrigo. De los 11 abiertos, 6 están «En Verificación». La decisión: cerrar los 6 verificados esta semana (el contrato subiría a 75%) y agendar la visita a terreno de los 5 que siguen «Abierto». El scorecard te da el plan, no solo el diagnóstico.

15.3.7 Reincidencia por trabajador

Al final del tablero puede aparecer un panel condicional: «Reincidencia por trabajador». Solo se muestra si hay trabajadores con 2 o más hallazgos en los que figuran como involucrados. Su bajada es: «Trabajadores con ≥2 hallazgos involucrados — base de la carta de amonestación.»

Muestra hasta 8 trabajadores, ordenados por número de hallazgos (de mayor a menor). Cada fila lleva: la posición, el nombre, el RUT, un badge opcional «X alta» (si hay hallazgos de severidad alta) y el conteo total de hallazgos.

Panel de reincidencia por trabajador

Figura 15.9 — Panel «Reincidencia por trabajador»: lista de trabajadores con 2 o más hallazgos y badge de severidad alta.

🛑 Usar con criterio

Este panel es un insumo para una eventual carta de amonestación, no una sanción automática. Trata datos personales sensibles (Ley 21.719): úsalo solo con respaldo documental de cada hallazgo y siguiendo el procedimiento disciplinario interno. No es un ranking punitivo de trabajadores.

📌 Ejemplo práctico

El panel muestra a Juan Pérez (12.345.678-9) con 3 hallazgos, uno con badge «alta». Antes de derivar a una carta de amonestación, verifica que los 3 hallazgos estén documentados y que las medidas estén cerradas o en curso. El panel te dice a quién mirar, no qué sanción aplicar: la decisión la toma el procedimiento disciplinario interno.

✅ Buenas prácticas

Revisa «Reincidencia por trabajador» en sesión privada: contiene RUT y datos personales que no deben proyectarse en pantalla abierta ni compartirse por correo sin cifrar.

15.3.8 Botones, acciones y estados de la UI

El tablero tiene muy pocas acciones porque es de solo lectura:

Botón / AcciónQué haceEstado
«Volver» (flecha del header)Regresa al Hub de IA (/ai).Siempre habilitado.
Tooltips de gráficosMuestran el detalle (nombre, administrador, %) al pasar el cursor sobre barras y donuts.Solo al hacer hover, con datos presentes.

Estados posibles del tablero:

EstadoQué se ve
Sin empresa activaToda la página se reemplaza por el mensaje «Empresa Requerida»: «El módulo KPI de Administradores de Contrato requiere que seleccione una empresa para continuar.», con los botones «Seleccionar Empresa» y «Volver».
CargandoMientras se cargan los datos, el ranking y los scorecards no muestran sus estados vacíos (esperan datos). Los gráficos pueden mostrar su estado vacío hasta que lleguen filas.
Vacío (sin hallazgos)Gráficos: «Sin contratos con hallazgos». Ranking: «Sin administradores con contratos evaluables.». Grilla: «No hay contratos con hallazgos en el periodo.».
ADC sin contratos asignadosTras el aislamiento quedan 0 contratos ⇒ se ven los mismos estados vacíos (tablero vacío).
ErrorNo hay panel de error dedicado: si la consulta falla, simplemente no llegan datos y se ven los estados vacíos.
Tablero KPI sin datos

Figura 15.10 — Tablero KPI sin datos: los gráficos muestran «Sin contratos con hallazgos» y el ranking/grilla sus estados vacíos.

Mensaje Empresa Requerida

Figura 15.11 — Mensaje «Empresa Requerida» cuando no hay empresa activa, con los botones «Seleccionar Empresa» y «Volver».

📝 Nota

Como el tablero no distingue «error» de «sin datos», si crees que debería haber información y ves todo vacío, verifica primero que tengas la empresa activa correcta seleccionada y que existan observaciones registradas en esa empresa.

⚠️ Atención

El % de cierre de un contrato puede subir o bajar de un día a otro según se registren o cierren hallazgos. No compares el número de hoy con el de hace un mes sin mirar también el volumen: un 90% con 100 hallazgos no es lo mismo que un 90% con 5.

15.3.9 Interpretación de los indicadores (guía numérica)

El tablero te da números, pero la gestión la decides tú. Esta sección documenta cada indicador con tres preguntas: qué mide, cómo se calcula y un ejemplo práctico con datos para saber qué decisión tomar. Úsala como hoja de referencia cuando presentes el tablero en un comité o prepares el corte del bono.

Qué mide y cómo se calcula cada KPI

IndicadorQué mideCómo se calcula
Contratos evaluadosEl tamaño de la cartera que el tablero está considerando (tras el aislamiento ADC).Número de contratos con fila en el tablero.
Cierre promedioEl nivel de cierre global de la cartera, tratando a todos los contratos por igual.Promedio simple del % de cierre de cada contrato: (Σ % de cada contrato) ÷ nº de contratos.
Hallazgos abiertosLa carga de trabajo pendiente de toda la cartera (lo que todavía no se cierra).Suma de hallazgos abiertos de todos los contratos.
% de cierre por contratoLa salud de un contrato concreto.cerrados ÷ total × 100, redondeado.
% consolidado del rankingEl desempeño de una persona (su cartera completa), base del bono.Σ cerrados de su cartera ÷ Σ hallazgos de su cartera × 100 (promedio ponderado).
Reincidencia por trabajadorCuántas veces el mismo trabajador figura en hallazgos (insumo disciplinario).Conteo de hallazgos por trabajador involucrado, solo si ≥ 2.

Ejemplos interpretados, indicador por indicador

📌 Ejemplo práctico

Contratos evaluados. La empresa ASPR tiene 12 contratos activos. El tablero de un Tenant Admin muestra Contratos evaluados: 12 y Hallazgos abiertos: 37. Eso significa que la cartera completa entra al cálculo y que hay 37 hallazgos sin cerrar repartidos entre las faenas. Si en cambio un ADC acotado ve Contratos evaluados: 3, es correcto: solo se están computando sus 3 faenas, no hay error de datos.

📌 Ejemplo práctico

Cierre promedio. Tres contratos con % de cierre 100%, 80% y 45%. La tarjeta «Cierre promedio» marca 75% porque promedia simple: (100 + 80 + 45) ÷ 3 = 75. La decisión: usa este número solo como termómetro global; para actuar, baja a los scorecards, porque el 45% queda escondido en el promedio.

📌 Ejemplo práctico

Hallazgos abiertos. La tarjeta muestra Hallazgos abiertos: 37. Si la semana pasada eran 20, la cartera se está desbalanceando: se abren más hallazgos de los que se cierran. La decisión es detener la apertura de inspecciones nuevas y priorizar el cierre de lo pendiente, o el promedio caerá en los próximos cortes.

📌 Ejemplo práctico

% de cierre por contrato. El contrato «Mantención Planta Norte» registra 8 cerrados de 10 totales → 80%, banda «En gestión». La decisión: está a 2 cierres de «Óptimo» (≥ 90), así que el foco es cerrar esos 2 hallazgos abiertos en vez de levantar nuevas observaciones en esa faena.

📌 Ejemplo práctico

% consolidado. Un titular con dos faenas, una de 50 hallazgos (40 cerrados) y otra de 10 hallazgos (10 cerrados), consolida 83%, no 90%. La decisión: el mayor impacto para subir está en los 10 abiertos de la faena grande, no en la chica que ya está perfecta.

📌 Ejemplo práctico

Reincidencia. Un trabajador con 3 hallazgos (uno de severidad alta) aparece en el panel. La decisión no es sancionar en automático: primero verifica que los 3 hallazgos estén documentados y sus medidas en curso, y recién después evalúa el procedimiento disciplinario. El panel es un disparador, no una sentencia.

✅ Buenas prácticas

Mantén una hoja de cálculo paralela con los indicadores de cada corte mensual. Así puedes ver la tendencia (sube, baja o se estanca) que el tablero, al ser una foto instantánea, no muestra por sí solo.

✅ Buenas prácticas

Documenta por escrito el criterio del bono (bandas y umbrales) y compártelo con los administradores antes del primer corte. Un criterio publicado evita que el ranking se viva como un castigo y lo convierte en una meta.

✅ Buenas prácticas

Cierra el hallazgo solo cuando la medida correctiva esté verificada en terreno. El KPI premia cerrar, y un cierre apurado (sin verificar) distorsiona el indicador y desvirtúa el bono.

Sección 15.4
Asignar Titular y Suplentes (ContractForm)

El ContractForm es donde se define quién responde por cada contrato. Se abre desde el ContractHub con «Abrir Nuevo Nodo» (título «Nuevo Nodo Contractual») o con el lápiz de edición (título «Editar Nodo Contractual»). Aquí se asigna el titular ADC y sus suplentes.

Formulario de Nodo Contractual

Figura 15.12 — ContractForm: la sección «Administración del Contrato» con el selector de titular y el bloque de suplentes.

15.4.1 Campos del formulario

CampoTipoRequeridoValidación / notas
EmpresaSelectObligatorio Empresas accesibles al usuario. Requerido para guardar («Debe seleccionar una empresa para el contrato.»). Bloqueado al editar: «La empresa no puede cambiarse después de crear el contrato». Si no hay empresas, la opción queda deshabilitada como «Crea una empresa primero». Default: empresa activa o la primera de la lista.
Nombre del ContratoTextoObligatorio Requerido («El nombre es requerido»); mínimo 2 caracteres («El nombre debe tener al menos 2 caracteres»); máximo 100 («El nombre no puede exceder 100 caracteres»); se sanitiza quitando etiquetas HTML. Placeholder «Ej: Proyecto Edificio Central»; contador «N/100 caracteres».
Meta de Cumplimiento (%)NúmeroObligatorio Rango 0–100. No negativa («La meta no puede ser negativa»); no mayor a 100 («La meta no puede ser mayor a 100%»); el input recorta automáticamente a 0–100. Default: 90.
Administrador de Contrato (titular) — adminUserIdSelect buscableOpcional Usuarios vigentes de la empresa (no inactivos), en orden alfabético; cada opción muestra Nombre · RUT. Solo uno por contrato; al elegir titular se le quita de la lista de suplentes. Placeholder «Selecciona al responsable del contrato» / busqueda «Buscar por nombre o RUT...». Nota del campo: «Se guarda como responsable del cumplimiento (KPI/bono). Solo uno por contrato.».
Suplentes (opcional) — deputyAdminUserIdsMulti-select por chipsOpcional Usuarios vigentes excluyendo al titular y a los ya elegidos. No puede incluir al titular; al guardar se depuran ids vacíos o el propio titular. Default: vacío. Placeholder «Agregar suplente...» (o «No hay más usuarios disponibles» si se agotan). Nota: «Respaldo del titular. No asumen el KPI salvo que se les designe como titular.».
Fecha de Inicio — startDateFechaOpcional Sin validación propia.
Fecha de Fin — endDateFechaOpcional Si hay ambas fechas, el fin debe ser posterior al inicio («La fecha de fin debe ser posterior a la fecha de inicio»); el mínimo del selector es la fecha de inicio.

La sección «Administración del Contrato»

El bloque del titular y los suplentes vive bajo un encabezado con ícono de escudo, «Administración del Contrato», con el subtitulo literal: «El titular es el único responsable del cumplimiento y del KPI; los suplentes son respaldo.»

Tarjeta del titular seleccionado

Figura 15.13 — Tarjeta del titular seleccionado con avatar, nombre y el badge «Responsable del KPI», más el botón X para quitarlo.

Chips de suplentes

Figura 15.14 — Suplentes agregados como chips con avatar y su botón X de «Quitar suplente».

Indicadores de estado calculados

Según las fechas, el formulario muestra banners automáticos (no editables):

Banner de contrato vencido

Figura 15.15 — Banner rojo «Este contrato se marcara como VENCIDO» cuando la fecha de fin ya pasó.

💡 Tip

Aunque el titular es opcional a nivel de formulario, en la práctica es indispensable para que el contrato aparezca correctamente en el KPI. Un contrato con hallazgos y sin titular cae al grupo «Sin titular asignado» del ranking. Asigna siempre un responsable real.

✅ Buenas prácticas

Asigna el titular al crear el contrato, no después. Así evitas que el contrato caiga a «Sin titular asignado» y ensucie el ranking mientras queda huérfano.

15.4.2 Botones y acciones

Botón / AcciónQué haceEstados
«Crear Contrato» / «Guardar Cambios» (enviar)Valida y guarda: denormaliza el titular en gerenteAdmin y reconcilia los administeredContractIds. Al terminar, cierra el formulario y refresca la lista.Al guardar muestra spinner y «Guardando...»; queda deshabilitado.
«Cancelar»Descarta los cambios y vuelve a la lista.Deshabilitado mientras se guarda.
Flecha «Volver» (header)Vuelve a la lista.Deshabilitado mientras se guarda.
X «Quitar titular»Limpia el titular (y limpia gerenteAdmin si el contrato ya tenia titular).Deshabilitado mientras se guarda.
X «Quitar suplente» (por chip)Quita ese usuario de la lista de suplentes.Deshabilitado mientras se guarda.
Agregar suplente (select)Anade un usuario a la lista de suplentes.Deshabilitado mientras se guarda, se cargan usuarios o no hay opciones.

15.4.3 Estados de la UI

EstadoQué se ve
GuardandoEl botón de envio muestra spinner y «Guardando...»; todos los campos quedan deshabilitados.
ValidaciónLos errores aparecen en rojo bajo cada campo, con ícono de advertencia. Al enviar con errores se abre el Modal de error: «Por favor corrige los errores en el formulario.».
Sin usuariosCajas informativas descritas arriba («Cargando usuarios...» o la caja ámbar sin usuarios).
ÉxitoEl formulario se cierra y vuelve a la lista. No hay toast: el refresco de la lista es el feedback.
Validaciones del formulario

Figura 15.16 — Validaciones del formulario: errores en rojo bajo cada campo con su mensaje textual.

15.4.4 Reglas de negocio al guardar

Al guardar, el sistema ejecuta varias acciones automáticas dentro de una transacción, para mantener la coherencia entre el contrato, el KPI legado y las carteras de los usuarios:

🔒 Efecto sobre el aislamiento

Asignar o quitar a alguien como titular o suplente cambia su cartera (administeredContractIds). Si esa persona tiene rol acotado, el cambio afecta de inmediato que contratos y registros puede ver y operar. Trata estas asignaciones como una acción de seguridad, no solo administrativa.

⚠️ Atención

Quitar al titular de un contrato no es inocuo: además de sacarlo del ranking, limpia su nombre del informe SSOMA (gerenteAdmin) y lo quita de la cartera del contrato. Si esa persona tiene rol acotado, perderá el acceso al contrato al instante.

Sección 15.5
ContractHub y Aislamiento del ADC

El ContractHub (/admin/contracts) es el listado de contratos, llamados «Nodos Contractuales» dentro de la «Estructura Orgánica de Faenas». Es relevante para este capítulo porque es donde se aplica el aislamiento ADC a la vista de contratos y desde donde se abre el ContractForm.

ContractHub - lista de nodos contractuales

Figura 15.17 — ContractHub: lista de nodos contractuales con filtros por estado y las acciones por tarjeta.

15.5.1 Lista de nodos, filtros y estados

La lista ofrece filtros con conteo: «Todos», «Activos», «Vencidos» e «Inactivos». El botón «Abrir Nuevo Nodo» lanza el ContractForm. Cada tarjeta de contrato tiene tres acciones: el lápiz (editar), la papelera / reactivar (baja o alta lógica) y «Gestionar Estructura Operativa».

Estados de la lista:

SituaciónQué se ve
Sin contratos (según filtro)«Sin Nodos Configurados» / «Sin Contratos Activos» / «Sin Contratos Vencidos» / «Sin Contratos Inactivos».
Error de carga«Error al Cargar Contratos» con botón «Reintentar».
Sin tenant«Error de Configuración»: «No se pudo determinar el tenant. Por favor, cierre sesión e intente nuevamente.».
📝 Nota

Si eres un ADC acotado, esta lista muestra solo tus contratos administrados. No es un error ni un problema de permisos: es el aislamiento funcionando. Un Tenant Admin, en cambio, ve todos los contratos de la empresa.

💡 Tip

Usa el filtro «Vencidos» antes de cada corte de bono para detectar contratos que ya terminaron y que todavía figuran con titular. Un contrato vencido con hallazgos abiertos distorsiona el KPI si no lo desactivas.

15.5.2 Desactivar y reactivar un contrato

Desde la tarjeta de un contrato puedes darlo de baja o de alta lógica. Ambas acciones piden confirmación en un modal.

1
Desactivar
Al pulsar la papelera se abre el modal «Desactivar Contrato»: «El contrato "{nombre}" será desactivado. Los registros históricos se mantendrán pero no se podrán crear nuevos registros asociados a este contrato.». Debes escribir «DESACTIVAR» para habilitar el botón «Desactivar».
2
Reactivar
Sobre un contrato inactivo, el modal «Reactivar Contrato» indica: «El contrato "{nombre}" será reactivado y estará disponible para uso normal.», con el botón «Reactivar».
Modal Desactivar Contrato

Figura 15.18 — Modal «Desactivar Contrato»: pide escribir «DESACTIVAR» para habilitar el botón de confirmación.

⚠️ Atención

Al desactivar un contrato, su id se quita de las carteras (administeredContractIds) de su titular y suplentes: dejan de administrarlo. Si esas personas tienen rol acotado, perderán la vista y las acciones sobre ese contrato de inmediato.

15.5.3 Configurar un usuario como ADC acotado

Para que un usuario quede acotado a sus contratos hacen falta tres cosas, en este orden:

1
Activar la bandera en el rol
En /admin/roles, el rol del usuario debe tener isContractScoped en verdadero. Hoy esto se setea en la base de datos (no hay interruptor en la pantalla de roles); solicítalo a tu administrador de plataforma.
2
Asignar el rol al usuario
En /admin/users, asigna ese rol acotado a la persona.
3
Asignarlo a sus contratos
En /admin/contracts, ponlo como titular o suplente de los contratos que administrará. Esto llena su cartera (administeredContractIds).
4
Verificar
Al iniciar sesión, el usuario verá solo sus contratos en el ContractHub y en el KPI, y solo podrá operar registros de esos contratos (validado en el servidor).
🛑 Sin contratos, no ve nada

Un rol acotado sin contratos en su cartera verá el ContractHub y el KPI completamente vacíos. Si un ADC reporta que «no ve nada», casi siempre es porque el paso 3 falta o su cartera quedó desincronizada (ver Solución de problemas).

✅ Buenas prácticas

Después de configurar a un ADC acotado, verifica con su propia cuenta (o pidiéndole una captura) que ve exactamente sus contratos y nada más. La verificación del aislamiento es parte de la configuración, no un paso opcional.

Sección 15.6
Casos de Uso Comunes

Caso 1: Asignar un administrador de contrato (titular) y suplentes

  1. Ve a /admin/contracts (ContractHub).
  2. Edita un contrato (lápiz) o pulsa «Abrir Nuevo Nodo».
  3. En la sección «Administración del Contrato», abre el selector «Administrador de Contrato (titular)» y busca por nombre o RUT.
  4. Selecciona al responsable: aparece su tarjeta con el badge «Responsable del KPI».
  5. (Opcional) Agrega suplentes en «Suplentes (opcional)»: se muestran como chips.
  6. Guarda con «Crear Contrato» / «Guardar Cambios».
  7. Efecto: el titular pasa a aparecer en el KPI y su cartera se actualiza (si su rol es acotado, ya ve este contrato).

Caso 2: Revisar el desempeño y detectar administradores críticos

  1. Ve a /ai y abre la tarjeta «KPI de Administradores».
  2. Lee las tres KPI cards: contratos evaluados, cierre promedio y hallazgos abiertos.
  3. En «Resumen visual», mira cuántos contratos están en banda Crítico.
  4. Baja a «Ranking de Administradores»: el primero de la lista es el de peor % consolidado, el foco del bono y de la gestión.
  5. Revisa sus scorecards para ver qué contrato específico arrastra el ranking.

Caso 3: Detectar contratos sin responsable (riesgo de gestión)

  1. Abre el KPI.
  2. En el ranking, busca la fila «Sin titular asignado» (borde punteado + triángulo).
  3. Observa cuántos contratos y hallazgos caen ahí.
  4. Ve a /admin/contracts, edita esos contratos y asigna un titular (Caso 1).

Caso 4: Configurar un usuario como ADC acotado

  1. Confirma que su rol tenga isContractScoped activo (hoy se setea en la base de datos).
  2. Asigna ese rol al usuario en /admin/users.
  3. Asígnalo como titular o suplente de sus contratos en /admin/contracts.
  4. El usuario verá solo sus contratos en ContractHub y en el KPI, y solo podrá operar registros de esos contratos.
✅ Buenas prácticas

Recorre estos cuatro casos en orden cuando montes el módulo por primera vez: primero asigna titulares (Caso 1), luego revisa el tablero (Caso 2), luego caza los huérfanos (Caso 3) y recién al final acota roles (Caso 4). Así el KPI tiene datos confiables antes de restringir vistas.

✅ Buenas prácticas

Anota el resultado de cada corte de bono (ranking y bandas) en un archivo compartido con la gerencia. Un registro mensual te permite justificar subidas y bajadas de desempeño y evita discusiones de memoria.

Sección 15.7
Caso de Uso Narrado
📌 Caso de uso — Rodrigo Álvarez, administrador de contrato de Constructora Andina

Rodrigo llega el primer lunes del mes con una tarea clara: revisar sus KPI antes del comité de gerencia del viernes. Abre el Hub de IA (/ai), baja a Herramientas de IA y entra a la tarjeta «KPI de Administradores». En el encabezado lee las tres tarjetas: 12 contratos evaluados, Cierre promedio 71% y Hallazgos abiertos 37. El 71% promedio lo deja intranquilo: está justo al borde de la banda «En gestión».

Baja a «Resumen visual» y en el donut «Contratos por banda» cuenta 6 Óptimo, 3 En gestión y 3 Crítico. Pasa el cursor sobre la barra roja más baja del gráfico «% de cierre por contrato» y el tooltip le confirma: el contrato «Mantención Planta Norte» está en 45% y su administrador es… él mismo. Rodrigo es titular de esa faena.

En el «Ranking de Administradores» se ve en la posición 1, la peor: % consolidado 63%, banda «Crítico». Su subtexto dice «3 contrato(s) · 12 abiertos · 30 hallazgos». Entiende la matemática: no es que sus tres faenas estén mal, es que «Mantención Planta Norte» arrastra el promedio con 20 hallazgos y solo 9 cerrados (45%).

Baja a los scorecards y abre mentalmente el de «Mantención Planta Norte»: 20 hallazgos · 11 abiertos · 9 cerrados. De los 11 abiertos, 6 están «En Verificación» y 5 «Abierto». Rodrigo anota: mañana cierra los 6 que ya tienen la medida verificada y agenda la visita a terreno de los 5 restantes. Con eso, el contrato pasaría de 45% a 75% (15 cerrados de 20), y su consolidado subiría de 63% a cerca de 80%, sacándolo de «Crítico».

Antes de salir, revisa «Reincidencia por trabajador» y ve a dos de sus operarios con 2 hallazgos cada uno. Los anota para la charla de seguridad del jueves, no como sanción sino como refuerzo.

Cierra el tablero con una decisión concreta: un plan de cierre con fecha para cada hallazgo abierto de su cartera. El viernes, en el comité, muestra el mismo tablero y explica qué subió y por qué. Ese es el uso real del KPI: no juzgar, sino actuar.

💡 Tip

Reproduce la revisión de Rodrigo en tu propia rutina: entra al tablero una vez al mes (o a la semana en faenas críticas), anota los tres números de las KPI cards y revisa el primer lugar del ranking. Con 10 minutos obtienes un plan de trabajo concreto.

Sección 15.8
Solución de Problemas
ProblemaCausa probableSolución
El tablero KPI aparece vacíoLa empresa no tiene observaciones, o no hay empresa activa seleccionada.Selecciona la empresa correcta; verifica que existan observaciones registradas.
Un administrador aparece con 100% «sin haber hecho nada»No tiene hallazgos abiertos en su cartera (total = 0 ⇒ 100%).Es correcto por diseño; cruza con el volumen de observaciones antes de premiar.
Veo «Sin titular asignado» en el rankingHay contratos con hallazgos sin titular (adminUserId).Asigna titular en el ContractForm (Caso 1).
Un scorecard muestra «[Sin administrador asignado]»El contrato no tiene titular ni gerenteAdmin legado.Asigna un titular al contrato.
Un ADC dice que «no ve sus contratos»Falta la bandera del rol, no está asignado a contratos, o su cartera está desincronizada.Verifica: (a) rol con isContractScoped; (b) asignado como titular/suplente en al menos un contrato; (c) empresa activa. Si nada aparece, corre la reconciliación masiva de carteras.
Un ADC recibe «No administras el contrato {id}»Intento operar un registro fuera de su cartera.Correcto por diseño (enforcement del servidor); no es un error.
El cierre promedio no coincide con el rankingLa KPI card usa promedio simple; el ranking, promedio ponderado.Es esperado; explica la diferencia (15.3.3).
El KPI no cuenta capacitaciones ni EPPEl tablero solo considera observaciones (hallazgos).Por diseño; el KPI mide cierre de hallazgos, no otros registros.
Faltan observaciones antiguas en el cálculoEl tablero usa las 500 más recientes.Límite conocido; considera el volumen de la faena al interpretar.
No puedo cambiar la empresa de un contratoLa empresa se bloquea tras crear el contrato.Por diseño; crea un contrato nuevo en la empresa correcta si es necesario.
 
Preguntas Frecuentes
Por qué un administrador aparece con 100% si «no ha hecho nada»?
Porque no tiene hallazgos abiertos en su cartera: cuando el total de hallazgos es 0, el % de cierre es 100% (no hay riesgo abierto imputable). No es necesariamente buen desempeño; es ausencia de hallazgos. Antes de premiar, cruza el dato con el volumen de observaciones de esa faena.
Cuál es la diferencia entre titular y suplente?
El titular es la única persona a la que se le imputa el bono/KPI del contrato; solo puede haber uno. Los suplentes son respaldo operativo: pueden administrar el contrato, pero no cargan el KPI salvo que se les designe como titulares de algún contrato.
Cómo cambio quién es el titular de un contrato?
En el ContractForm, quita el titular actual (X «Quitar titular»), elige otro y guarda. El nombre legado (gerenteAdmin) y las carteras (administeredContractIds) se recalculan solos.
Por qué veo «Sin titular asignado» en el ranking?
Porque hay contratos con hallazgos que no tienen titular. Es una señal de que falta configurar responsabilidad: esos contratos se agrupan aparte hasta que les asignes un administrador.
Por qué el «Cierre promedio» no coincide con los % del ranking?
La tarjeta «Cierre promedio» es un promedio simple: cada contrato pesa igual. El % consolidado del ranking es un promedio ponderado por número de hallazgos: un contrato con 50 hallazgos pesa más que uno con 1. Por eso pueden diferir.
El KPI incluye capacitaciones, EPP u otros registros?
No. El tablero solo cuenta observaciones (hallazgos). Otros registros no entran en el cálculo del % de cierre.
Puedo exportar el tablero KPI a PDF o Excel?
No. En la versión 2.5.107 el tablero es de solo lectura y no ofrece exportación. Para un consolidado imprimible, revisa los reportes de los módulos que sí exportan (por ejemplo, el Seguimiento de Acuerdos CPHS).
Un ADC acotado ve el tablero de otras faenas?
No. El aislamiento se aplica antes de calcular: un ADC acotado solo ve y computa sus contratos, tanto en el ContractHub como en el KPI. Los usuarios globales (Tenant Admin) ven todo.
Qué significa «No administras el contrato»?
Es el mensaje del enforcement del servidor: un usuario con rol acotado intento operar un registro de un contrato que no está en su cartera. Es una protección, no un error; para operarlo, debe estar asignado como titular o suplente de ese contrato.
Cuántas observaciones considera el KPI?
Las 500 más recientes de la empresa activa. En faenas con muchísima actividad, las observaciones más antiguas quedan fuera del cálculo. Es un límite conocido de la versión actual.
Cómo sé si debo actuar sobre un indicador o solo mirarlo?
Mira la banda y el volumen juntos. Un contrato Crítico (rojo, < 70%) con muchos hallazgos abiertos exige acción inmediata; un Óptimo (verde, ≥ 90%) con pocos hallazgos solo necesita seguimiento. Si el número está «En gestión» (ámbar) cerca del límite, agenda una revisión antes de que cruce a rojo.
Cada cuánto debo revisar el tablero?
Depende del ritmo de tu faena. Como mínimo una vez al mes antes del corte del bono; en faenas con mucha actividad, semanal. El tablero es una foto instantánea, no un histórico: la revisión frecuente es lo que te deja ver la tendencia.
 
Glosario
TérminoSignificado
ADCAdministrador de Contrato: usuario responsable de uno o varios contratos/faenas.
TitularÚnica persona a la que se imputa el desempeño (bono) de un contrato.
SuplenteRespaldo operativo del titular; no carga el KPI salvo que se le designe titular.
Rol acotadoRol con la bandera isContractScoped: ve y opera solo sus contratos.
CarteraLista administeredContractIds: los contratos que un usuario administra.
HallazgoObservación (RecordType.OBSERVATION) de condición o conducta insegura.
% de cierreHallazgos cerrados ÷ total × 100.
BandaClasificación del % de cierre: Óptimo, En gestión o Crítico.
DenormalizaciónCopia de un dato (p. ej., el nombre del titular) en otro lugar para acelerar consultas.
Scoping / aislamientoFiltro que limita la vista y acciones de un usuario a sus contratos, en pantalla y servidor.