Sistema de Gestión de Seguridad y Salud Ocupacional
Manual de Usuario
Capítulo 13: Checklists Avanzados: Scoring y Turnos
Inspecciones estandarizadas de nivel avanzado: plantillas con scoring ponderado por secciones, tipos de respuesta (Sí/No, numérico, única, múltiple), ítems críticos y bandas de resultado; apertura y cierre de turno, vínculo a activos Reposit, plan de acción y verificación con firma DS 44.

Fecha de publicación: 9 de julio de 2026

Plataforma: https://aspr.iaegis.app

Versión del sistema: 2.5.12

Tabla de Contenidos

📋 Disponibilidad del módulo

Los Checklists forman parte del módulo de Registros de IAegis. Las capacidades avanzadas de este capítulo (scoring por secciones, tipos de respuesta, turnos, vínculo a activos Reposit y verificación con firma) dependen de cómo esté diseñada cada plantilla y de los permisos que tenga tu usuario. Si no ves alguna pantalla o botón, es probable que te falte el permiso correspondiente o que tu organización no haya activado esa capacidad. Consulta con tu administrador.

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

13.1.1 Qué son los Checklists Avanzados

El módulo de Checklists te permite definir protocolos de inspección estandarizados (plantillas) y ejecutarlos en terreno como registros trazables, con folio único, geolocalización, evidencia fotográfica, firma electrónica y generación de PDF corporativo. Los Checklists Avanzados agregan tres capacidades que conviven en la misma pantalla de ejecución: scoring de auditoría, turnos y vínculo a activos.

Antes, una inspección con puntaje ponderado o un relevo de turno se llevaba en planillas Excel paralelas, propensas a errores y difíciles de auditar. IAegis reemplaza esa planilla por un flujo digital de principio a fin: la plantilla define las reglas de puntaje, el operador ejecuta la inspección desde su teléfono, el sistema calcula el cumplimiento en vivo, y el ciclo puede cerrarse con un plan de medidas correctivas verificado y firmado por el SSO.

Las tres capacidades diferenciadoras son:

📝 Nota

Este capítulo cubre los checklists avanzados. El checklist simple (una lista de puntos con respuesta Sí/No/N/A y un porcentaje plano de cumplimiento) se trata en el Capítulo 02 (Registros). Ambos comparten la misma pantalla de ejecución; lo que cambia es cómo está diseñada la plantilla.

13.1.2 Checklist simple vs. checklist avanzado

AspectoChecklist simple (Cap. 02)Checklist avanzado (este capítulo)
Respuesta por puntoSolo OK / No OK / N/ASí/No, numérico, selección única, selección múltiple
CumplimientoPorcentaje plano sobre todos los ítemsPonderado por secciones y pesos; banda de resultado
Ítem críticoNo aplicaUn crítico en 0 fuerza la banda a "Crítico"
CicloUna sola pasada (se guarda y queda cerrado)Puede ser turno (abrir → cerrar → seguimiento → verificar)
Activo RepositNoOpcional: vincula y sincroniza lecturas
Plan de acciónNoSí, con medidas, responsables y verificación firmada
💡 Tip

No todo checklist necesita ser avanzado. Si solo requieres una lista Sí/No con porcentaje plano, deja la plantilla sin scoring y sin campos de cierre: se comportará como un checklist simple. Activa las capacidades avanzadas solo cuando realmente las necesites.

13.1.3 Conceptos clave

ConceptoDescripción
PlantillaEl diseño reutilizable de una inspección: sus puntos de control, tipos de respuesta, secciones, pesos, campos contextuales y vínculo a activo. La crea el administrador.
Punto de control (ítem)Cada elemento que se inspecciona. Tiene un texto, un tipo de respuesta, un peso y puede ser crítico.
Checklist ejecutado (registro)El resultado de correr una plantilla en terreno. Tiene folio único CHK-XXXX, ubicación, respuestas, evidencia y scoring persistido.
Sección ponderadaGrupo de ítems con un peso propio (por ejemplo, Frenos 40%). El % total es el promedio ponderado de las secciones.
Banda de resultadoClasificación del % total: Excelente, Aceptable, Regular o Crítico.
Ítem críticoPunto de control marcado como determinante: si queda en puntaje 0, la banda global se fuerza a Crítico.
TurnoChecklist que se abre (OPEN), se cierra más tarde (CLOSED / IN_FOLLOWUP) y, con plan, se verifica (RESOLVED). Existe solo si la plantilla tiene campos de cierre.
Campos contextualesDatos de apertura (antes de los ítems) y de cierre (después de los ítems), por ejemplo kilometraje inicial y final.
Activo (Reposit)Elemento del catálogo de bienes de la empresa (vehículo, maquinaria, equipo) que la plantilla puede exigir vincular.
Plan de acciónConjunto de medidas correctivas que se abren al cerrar un turno con hallazgos No OK; cada medida tiene responsable, plazo y jerarquía.
Verificación de cierreFirma del SSO (Ley 19.799) que confirma que todas las medidas se ejecutaron y el cierre cumple el DS 44/2024.

13.1.4 Encuadre normativo (Chile)

El módulo de Checklists da soporte a varias exigencias de la normativa chilena de seguridad y salud en el trabajo:

NormaCómo aporta el módulo
DS 44/2024 (nuevo reglamento SGSST, reemplaza al DS 40)Materializa inspecciones planificadas, evidencia y verificación de cierre. La declaración de firma de la verificación cita literalmente "los estándares DS 44/2024".
Ley 16.744 (accidentes del trabajo y enfermedades profesionales)Las inspecciones y el plan de medidas correctivas alimentan la gestión preventiva y la trazabilidad ante la mutual.
Ley 19.799 (firma electrónica)La verificación de cierre se firma digitalmente con declaración de responsabilidad, dándole valor probatorio.
DS 594 (condiciones sanitarias y ambientales en lugares de trabajo)Las inspecciones de equipos, EPP e infraestructura respaldan su cumplimiento documental.
DS 109 / DS 40 (legado)Aplicable a la clasificación de riesgos que motiva las medidas del plan de acción.
🔒 Seguridad y normativa

La verificación de cierre se firma con una declaración explícita bajo la Ley 19.799. Firmar un cierre implica declarar bajo tu responsabilidad que todas las medidas fueron ejecutadas correctamente y que el cierre cumple el DS 44/2024. Trata la firma con la misma seriedad que una firma manuscrita.

Sección 13.2
Permisos y Acceso

Los checklists tienen varios roles: quien los ejecuta, quien cierra el turno, quien completa las medidas y quien verifica el cierre. Cada acción está protegida por un permiso distinto, de modo que solo las personas autorizadas pueden avanzar el ciclo.

13.2.1 Permisos del módulo

AcciónEtiqueta del permiso en la UI de rolesQuién lo suele tener
Ejecutar / crear un checklistCREAR NUEVOS REGISTROSOperador / inspector
Ver todos los checklists (no solo los propios)VER TODOS LOS REGISTROSSupervisor / admin
Cerrar el turno de un checklistCERRAR TURNO DE CHECKLISTSupervisor / SSO
Ver la bandeja de seguimientoVER BANDEJA DE SEGUIMIENTO DE CHECKLISTSSupervisor / SSO
Verificar el cierre (firma)VERIFICAR CIERRE DE CHECKLISTSSO / verificador
Completar medidas asignadasCompletar medidas asignadas (se aplica dentro de la bandeja de seguimiento, no como etiqueta aparte)Responsable de la medida
Gestionar plantillas (crear/editar/eliminar)GESTIONAR PLANTILLAS DE CHECKLISTTenant Admin
📝 Nota

Los usuarios con rol Tenant Admin o Super Admin siempre pueden crear y ver todos los registros aunque no tengan el permiso granular asignado (es un fallback explícito del sistema). El resto de acciones sensibles (cerrar, verificar, ver bandeja) sí exigen el permiso específico.

🔒 Seguridad

La creación de un checklist no se escribe directamente desde tu teléfono: pasa por una función de servidor (createChecklist) que valida todo de forma atómica (folio, activo vinculado, permisos, sincronización de lecturas). Las reglas de la base de datos bloquean el intento de crear un checklist saltándose esa función. Lo mismo aplica al cierre y a la verificación. Es una defensa en profundidad: aunque alguien manipule la app, el servidor tiene la última palabra.

13.2.2 Rutas y navegación

La entrada principal está en el menú de Registros: el botón Ejecutar Checklist te lleva al selector de plantillas. Estas son las rutas del módulo:

RutaPantallaAcceso
/records/checklistsSelector de plantillas / RunnerOperador+ (CREAR NUEVOS REGISTROS)
/records/checklists/completedHistorial de ChecklistsVe los propios; admin/VER TODOS LOS REGISTROS ven todos
/records/checklists/follow-upBandeja de seguimientoVER BANDEJA DE SEGUIMIENTO DE CHECKLISTS
/records/checklists/:id/closeCierre de turnoCERRAR TURNO DE CHECKLIST
/records/checklists/:id/verifyVerificación de cierreVERIFICAR CIERRE DE CHECKLIST
/admin/checklist-templatesHub de plantillasGESTIONAR PLANTILLAS DE CHECKLIST
/admin/checklist-templates/newEditor (nueva plantilla)GESTIONAR PLANTILLAS DE CHECKLIST
/admin/checklist-templates/:id/editEditor (editar plantilla)GESTIONAR PLANTILLAS DE CHECKLIST

13.2.3 Requisitos de acceso

Sección 13.3
Selector de Plantillas (Ejecutar Checklist)

Es la primera pantalla al entrar a /records/checklists. Muestra un grid con las plantillas disponibles de tu empresa activa (ordenadas de la más reciente a la más antigua) para que elijas cuál ejecutar.

Selector de plantillas de checklist

Figura 13.1 — Selector de plantillas de checklist: grid de tarjetas "Ejecutar Checklist" con el contador de puntos de control.

El encabezado muestra el título "Ejecutar Checklist" y el subtítulo "Selecciona una plantilla para iniciar". Cada tarjeta de plantilla incluye:

Botones y acciones

Botón / acciónQué haceResultado
Botón atrás (flecha)Vuelve al Centro de RegistrosNavega a /records
Tarjeta de plantilla → IniciarAbre el Runner con esa plantillaPasa a la pantalla de ejecución (Sección 13.4)

Estados de la pantalla

EstadoQué verás
CargandoSpinner + "Cargando plantillas...".
VacíoÍcono + "Sin Plantillas Disponibles" / "Contacta al administrador para crear plantillas".
ErrorÍcono rojo + "Error" + "Error al cargar las plantillas. Por favor, intenta nuevamente." + botón "Volver".
Sin empresa activaMensaje que pide seleccionar una empresa (módulo "Checklists").
Sin permiso"Acceso Denegado" / "No tienes permisos para acceder a este módulo."
📝 Nota

Para que aparezcan plantillas, primero un administrador debe haberlas creado en /admin/checklist-templates (Sección 13.9). Si tu organización recién comienza, el selector aparecerá vacío hasta que exista la primera plantilla.

Sección 13.4
Runner: Ejecución del Checklist

El Runner es la pantalla donde ejecutas la inspección: respondes cada punto de control, capturas la ubicación y la evidencia, ves el scoring en vivo y guardas el registro. Se abre al pulsar Iniciar en una plantilla. El título y la descripción de la plantilla encabezan la vista.

Pantalla inicial del Runner

Figura 13.2 — Ejecución: pantalla inicial del Runner con la cabecera, el bloque de ubicación vacío y el aviso de geolocalización.

13.4.1 Anatomía de la pantalla

El Runner arma su contenido según cómo esté diseñada la plantilla. Estos bloques aparecen de forma condicional, de arriba hacia abajo:

BloqueCuándo aparecePara qué sirve
Activo a inspeccionarSi la plantilla exige activo (tiene categoría de activo)Elegir y mostrar el activo Reposit (nombre, código, patente).
Auto-llenar desde fotoSiempreSubir una foto del checklist en papel para que la IA autocomplete los ítems.
Datos de aperturaSi hay campos contextuales de aperturaCapturar datos previos (por ejemplo, kilometraje inicial).
Ubicación de la InspecciónSiempreRegistrar la geolocalización (obligatoria).
Puntos de controlSiempreResponder cada ítem según su tipo.
Cumplimiento de la auditoríaSi la plantilla tiene scoring o seccionesVer el % y la banda en vivo.
Turno abierto (aviso)Si hay campos de cierreAvisar que al guardar el checklist queda "Abierto".

13.4.2 Ubicación y geolocalización

La Ubicación de la Inspección es obligatoria. Es un campo de solo lectura con un botón para geolocalizar: al pulsarlo, IAegis pide tu ubicación GPS y rellena la latitud y longitud (con 5 decimales) y muestra un mapa.

💡 Tip

Autoriza el acceso a la ubicación en tu navegador o app antes de iniciar. Si el GPS tarda, mantén la pantalla abierta unos segundos: el botón muestra un spinner mientras localiza y se completa solo al obtener la posición.

13.4.3 Vínculo a activo y datos de apertura

Si la plantilla exige un activo, el Runner abre automáticamente el modal selector de activo al entrar (si aún no hay uno elegido). También puedes abrirlo con el botón Seleccionar / Cambiar del panel "Activo a inspeccionar". El selector filtra el catálogo Reposit por la categoría que pide la plantilla.

Vinculo a activo y campos contextuales

Figura 13.3 — En la plantilla se define la categoría de activo y los campos contextuales de apertura y cierre que luego aparecen en el Runner.

Al elegir un activo, los datos de apertura marcados con "prefillar desde activo" se rellenan automáticamente con sus datos: patente, código, nombre, marca, modelo, último kilometraje o último horómetro. Los campos de apertura pueden ser de cuatro tipos:

Tipo de campoControl en pantallaValidación
TextoCaja de texto libreSi es obligatorio, no puede quedar vacío
NúmeroInput numérico con la unidad como sufijoDentro del mínimo/máximo del campo
SelecciónMenú desplegable con opciones + "Seleccionar…"Si es obligatorio, hay que elegir una
Indicador 0–100%Botonera "0%", "25%", "50%", "75%", "100%"Si es obligatorio, hay que marcar un valor
⚠️ Advertencia

Al vincular un activo, los campos con prefill se sobrescriben con los datos del activo elegido. Si cambias el activo, esos valores se reemplazan por los del nuevo. Revisa siempre las lecturas prefilladas (por ejemplo, el kilometraje) antes de guardar, porque se sincronizan de vuelta al activo.

13.4.4 Tipos de respuesta por ítem

El corazón del checklist avanzado es que cada punto de control puede responderse de forma distinta. Estos son los cuatro tipos:

Ejecucion con distintos tipos de respuesta y scoring

Figura 13.4 — Runner con puntos de control de distinto tipo y el panel de cumplimiento calculando en vivo.

TipoCómo se respondeObligatorioCómo puntúa
Binario (Sí/No)Botones OK / No OK / N/A (verde/rojo/gris)SíOK = 100%, No OK = 0%
NuméricoInput numérico + botón N/ASí% derivado según rango y objetivo/dirección; muestra un badge con el %
Selección únicaLista de opciones tipo radio + N/ASíPuntaje = score de la opción elegida
Selección múltipleLista de opciones tipo casilla + N/ASíPuntaje = promedio de los scores de las opciones marcadas
📝 Nota

Todo ítem debe responderse. Un ítem sin respuesta queda en estado PENDING y se resalta con borde/fondo amarillo hasta que lo respondas. El sistema no te deja guardar mientras haya ítems PENDING.

⚠️ Ítem crítico

Los ítems marcados como críticos muestran un badge Crítico junto al texto. Si un ítem crítico queda en puntaje 0, la banda global se fuerza a "Crítico", sin importar cuán alto sea el porcentaje del resto. Es un mecanismo para que una falla determinante no quede diluida en un buen promedio.

13.4.5 Hallazgos No OK y evidencia

Cuando marcas un ítem como No OK (o eliges una opción de bajo puntaje en los otros tipos), aparecen los campos de hallazgo:

Hallazgo No OK con evidencia

Figura 13.5 — Hallazgo No OK: campo "Descripción del Hallazgo" con dictado por voz y botones "Tomar Foto" / "Subir Foto".

CampoTipoObligatorioNotas
Descripción del HallazgoÁrea de texto con dictado por vozSí en binarios No OKEn binario No OK no puede quedar vacía. En ítems no binarios el label cambia a "Descripción del Hallazgo (opcional)". Placeholder "Describe el hallazgo o usa el micrófono para dictar...".
Foto de evidenciaCámara / archivo (imagen)OpcionalBotones "Tomar Foto" y "Subir Foto"; miniatura de 128×128 con botón para quitar.
💡 Tip

Aunque la foto es opcional, adjuntar evidencia de cada hallazgo No OK vuelve el reporte mucho más sólido ante una fiscalización o ante la mutual. Usa el dictado por voz para describir el hallazgo con las manos ocupadas en terreno.

13.4.6 Panel de scoring en vivo

Si la plantilla tiene scoring o secciones, el bloque "Cumplimiento de la auditoría" calcula el resultado en tiempo real a medida que respondes:

📝 Nota

Las respuestas N/A no penalizan: se excluyen del denominador, así que no suben ni bajan el porcentaje. Sirven para dejar constancia de que un punto no aplicaba a esta inspección sin castigar el resultado.

13.4.7 Auto-llenado por foto (OCR IA)

El bloque "Auto-llenar desde foto del checklist en papel" está siempre disponible. Permite subir una foto del checklist físico y que la IA (OCR) detecte las marcas ✓ / ✗ / N-A y autocomplete el status de cada ítem que coincida.

Requisito de la fotoDetalle
FormatoDebe ser una imagen. Error si no lo es: "El archivo debe ser una imagen."
TamañoMáximo 8 MB. Error si excede: "La imagen excede 8 MB."

Mientras procesa, el botón muestra "Analizando…" y queda deshabilitado. Si ningún ítem coincide, la IA avisa que la foto no corresponde a este checklist; en ese caso revisa que subiste el documento correcto o completa manualmente.

⚠️ Advertencia

El OCR es una ayuda, no un reemplazo del criterio del inspector. Siempre revisa que el status autocompletado sea correcto antes de guardar: una marca mal interpretada por la IA es tu responsabilidad corregirla.

13.4.8 Guardar: validaciones y fase resultante

Al terminar, tienes dos botones de guardado y uno de cancelar:

BotónQué haceEstados
CancelarDescarta la ejecución y vuelve al listado de plantillas—
Guardar ChecklistCrea el registro sin generar PDF"Guardando…" + deshabilitado durante el envío
Guardar y Generar PDFCrea el registro y genera el PDF corporativo"Guardando…" + deshabilitado

Antes de crear el registro, el sistema valida en este orden y muestra el mensaje literal correspondiente si algo falla:

1
Anti doble-envío
Un bloqueo síncrono impide que un doble clic cree dos registros.
2
Ubicación obligatoria
Si falta: "Por favor, especifica una ubicación para el checklist."
3
Activo requerido
Si la plantilla lo exige y no lo elegiste: "Este checklist requiere seleccionar un activo del catálogo antes de finalizar."
4
Campos de apertura obligatorios
Si falta alguno: "Falta completar los siguientes campos obligatorios de apertura: <etiquetas>."
5
Ítems sin responder
Si algún ítem quedó PENDING: "Por favor, responde a todos los ítems del checklist antes de finalizar."
6
Hallazgo binario sin descripción
Si un No OK binario no tiene comentario: "Se debe agregar una descripción para cada hallazgo marcado como 'No OK'."

Fase resultante

PlantillaFase al guardarQué significa
Con campos de cierreOPEN (turno abierto)Hay que cerrarlo más tarde para registrar los datos de cierre.
Sin campos de cierreCLOSED (cerrado)Flujo de una sola pasada: queda listo al guardar.
📝 Nota sobre el aviso de turno

Si la plantilla es de turno, el Runner muestra un aviso al final: "Al guardar, el checklist queda en estado Abierto. Al terminar el trabajo lo cerrás desde 'Checklists completados' para registrar los datos de cierre (N campos)." El texto del producto usa la forma "lo cerrás"; en este manual usamos el tuteo chileno ("lo cierras"). El significado es el mismo.

💡 Tip

El guardado del registro y la generación del PDF son independientes. Si el PDF falla por alguna razón, el checklist igual queda guardado; podrás regenerar el PDF más tarde desde la tarjeta en el historial con el botón "Reporte PDF".

Sección 13.5
Historial de Checklists

En /records/checklists/completed encuentras todos los checklists que puedes ver (los propios, o todos si eres admin o tienes VER TODOS LOS REGISTROS), organizados por fase, con buscador y tarjetas de resumen con scoring.

Historial de Checklists

Figura 13.6 — Historial de Checklists: encabezado, chips de fase y tarjetas con badges de banda y contadores.

El encabezado dice "Historial de Checklists" con un contador "N registros". Debajo hay filtros:

FiltroTipoComportamiento
BuscadorTextoPlaceholder "Buscar por título, ubicación o usuario...". Filtra por título de la plantilla, ubicación y nombre del usuario.
Filtro de faseChips"Todos", "Abiertos" (OPEN), "En seguimiento" (IN_FOLLOWUP), "Cerrados" (COMPLETED). Cada chip muestra su contador; los vacíos (salvo "Todos") se ocultan.

Secciones destacadas (con el filtro "Todos")

La tarjeta de un checklist

Cada tarjeta muestra: título, folio CHK-XXXX, badge de banda ("Banda · %"), badge de hallazgos ("N Hallazgos"), contadores OK / No OK / N/A, barra de cumplimiento (o el desglose por sección si la plantilla tiene secciones), inspector y fecha. Es expandible para ver ubicación, mapa, hallazgos con sus comentarios y el detalle completo de ítems con su status.

Botón de la tarjetaQué haceCuándo aparece
Expandir (chevron)Muestra/oculta el detalle completoSiempre
Editar (lápiz)Edita el registroSi eres dueño o tienes permiso
Eliminar (papelera)Elimina el registroCon el permiso de eliminación
Reporte PDFGenera y descarga el PDF corporativoSiempre; muestra "Generando..." + spinner

Estados de la pantalla

EstadoQué verás
CargandoSpinner + "Cargando checklists completados...".
Vacío (grid)"No se encontraron checklists que coincidan con el filtro."
Límite alcanzado (100)Aviso ámbar "Mostrando los primeros 100 registros. Usa los filtros para refinar tu búsqueda."
Sin empresaMensaje que pide seleccionar una empresa (módulo "Checklists").
📝 Nota

El listado ordena por fecha (del más nuevo al más antiguo) y trae como máximo 100 registros. Los usuarios no administradores solo ven sus propios checklists y los de su contexto de contrato/subcontrato. Si necesitas ver más, usa el buscador y los chips de fase para acotar.

Sección 13.6
Cierre de Turno

Cuando un checklist quedó en fase OPEN, hay que cerrarlo. La pantalla de cierre (/records/checklists/:id/close) captura los datos de cierre, los comentarios y, si corresponde, el plan de acción. Requiere el permiso CERRAR TURNO DE CHECKLIST.

Llegas aquí desde el botón Cerrar de la sección "Turnos abiertos" del historial. El encabezado muestra "Cierre de turno" + el título de la plantilla + "Folio <folio> · N hallazgos 'No OK'".

13.6.1 Datos de cierre y comentarios

CampoTipoObligatorioNotas
Datos de cierreTexto / número / selección / indicador (igual que apertura)Según cada campoLos campos marcados como obligatorios no pueden quedar vacíos. Por ejemplo, kilometraje final.
Comentarios de cierreÁrea de textoOpcionalPlaceholder "Novedades del turno, condiciones particulares, anomalías observadas…".

13.6.2 El plan de acción

Debajo de los datos de cierre está el plan de acción, opcional. Sirve para dejar registradas las medidas correctivas de los hallazgos No OK. El bloque avisa según el caso:

Bandeja de seguimiento con medidas

Figura 13.7 — Un cierre con plan de acción abre el ciclo de seguimiento: las medidas se gestionan luego desde la bandeja.

El plan se organiza en tres horizontes: Corto plazo, Mediano plazo y Largo plazo. Cada medida nueva nace con una jerarquía sembrada según el horizonte (Administrativo / Ingeniería / Sustitución respectivamente) y en estado PENDING. Los campos de cada medida:

CampoTipoObligatorioNotas
DescripciónÁrea de textoSíNo puede quedar vacía. Placeholder "Descripción de la medida…".
ResponsableMenú (usuarios activos) o externoSíPuede ser un usuario del sistema o "Externo / texto libre".
Responsable externoTextoCondicionalSolo visible si no elegiste un usuario. Placeholder "Nombre del responsable (externo)".
Fecha límiteFechaRecomendadoNo puede ser anterior a hoy. Default: hoy + 7 días.

Botones del cierre

BotónQué haceEstados
Botón atrás / CancelarVuelve sin cerrar—
Generar con IAGenera el plan a partir de los hallazgos No OK (Gemini), con referencia legal"Generando…" + spinner; deshabilitado durante
Agregar medida (corto/mediano/largo)Añade una fila de medida vacía al horizonte—
Quitar (por medida)Elimina la medida del plan—
Cerrar turno / Cerrar y abrir seguimientoCierra el turno vía servidorEl texto cambia según haya plan; "Guardando…" + deshabilitado

El botón principal dice "Cerrar turno" si no hay medidas, y "Cerrar y abrir seguimiento" si hay al menos una.

🤖 Plan generado por IA

Si pulsas "Generar con IA" cuando ya hay medidas cargadas, aparece un modal de confirmación: título "Reemplazar plan de acción", mensaje "Ya hay medidas en el plan. ¿Reemplazarlas con la sugerencia generada por IA?", con botones "Reemplazar" / "Cancelar". La IA propone medidas con su referencia legal; revísalas y ajústalas antes de cerrar.

13.6.3 Cerrar el turno: validaciones

Al pulsar el botón de cierre, el sistema valida y muestra el mensaje literal si algo falla:

SituaciónMensaje
Sin permiso"No tienes permisos para cerrar checklists."
Sin permiso en el contrato"No tienes permisos para cerrar este checklist en su contrato."
Falta campo de cierre obligatorio"Falta completar los campos obligatorios de cierre: <etiquetas>"
Medida sin descripción"Cada medida del plan debe tener una descripción."
Medida sin responsable"Cada medida del plan debe tener un responsable (interno o externo)."
Fecha límite anterior a hoy"La fecha límite '<fecha>' de una medida es anterior a hoy. Ajústala antes de cerrar el turno."
Error de permiso del servidor"No tienes permisos para cerrar este checklist."
El estado cambió"Este checklist ya no está abierto o cambió de estado. Recarga la página."
Otro error"Error al guardar el cierre: <detalle>"

Estados especiales de la pantalla

EstadoQué verás
Sin permiso"Sin permiso" / "Tu rol no incluye CERRAR TURNO DE CHECKLIST. Solicítalo al administrador." + "Volver".
Cargando"Cargando checklist…" con spinner.
Error de carga"El checklist no existe o no tienes acceso." / "No se pudo cargar el checklist." + "Volver".
Ya cerrado"Este checklist ya fue cerrado" / "Fase actual: <fase>." + "Ver completados".
🔒 Qué pasa al cerrar

El cierre lo ejecuta una función de servidor que estampa quién cerró (closedBy), decide la fase (Cerrado si no hay plan, En Seguimiento si lo hay) y notifica a los responsables de cada medida ("Plan de Acción asignado · Checklist"). La sincronización del kilometraje/horómetro al activo la hace el servidor automáticamente. Nada de esto depende de que tu teléfono quede encendido.

Sección 13.7
Bandeja de Seguimiento

La bandeja (/records/checklists/follow-up) es la vista del supervisor/SSO sobre todos los checklists en fase IN_FOLLOWUP de la empresa activa. Reúne indicadores, permite completar medidas pendientes en línea e ir a verificar. Requiere el permiso VER BANDEJA DE SEGUIMIENTO DE CHECKLISTS.

Bandeja de seguimiento

Figura 13.8 — Bandeja de seguimiento: KPIs y tarjetas de checklists con plan de acción abierto.

El encabezado dice "Seguimiento" / "Checklists en seguimiento" / "Checklists cerrados con plan de acción abierto. Verifica cuando todas las medidas estén completadas."

Indicadores (KPIs)

KPIQué cuenta
En seguimientoTotal de checklists en la bandeja.
Con medidas vencidasChecklists con al menos una medida PENDING cuyo plazo ya pasó.
Sin actividad ≥7 díasChecklists sin movimiento hace más de 7 días.
Listos para verificarChecklists con todas las medidas fuera de PENDING y al menos una completada.

La tarjeta de seguimiento

Cada tarjeta muestra: badge "Seguimiento", folio, "N medida(s) vencida(s)" si aplica, "Listo para verificar" si aplica, título, activo vinculado, "Cerrado: <fecha>", "N días desde apertura" y "completadas/total medidas completadas".

BotónQué hacePrecondición
VerificarVa a la pantalla de verificación del checklistSiempre visible
Ver/Ocultar medidas (N)Expande las medidas PENDING en líneaSi hay medidas PENDING
Completar (por medida)Abre el modal para subir evidencia y cerrar la medidaAdmin, o responsable/dueño con el permiso de completar medidas

Cada medida pendiente muestra su descripción y "Vence <fecha> · Resp: <nombre>".

📝 Modal completar medida

Al pulsar "Completar", se abre un modal donde el responsable sube evidencia (foto + comentario) y la medida pasa a COMPLETED. La autorización efectiva la valida el servidor: aunque veas el botón, solo se cierra la medida si realmente tienes permiso.

Estados de la pantalla

EstadoQué verás
Sin acceso"Sin acceso" / "Tu rol no incluye VER BANDEJA DE SEGUIMIENTO DE CHECKLISTS."
Sin empresa"Selecciona una empresa para ver la bandeja."
Cargando"Cargando…".
Error"Error: <mensaje>".
VacíoÍcono + "No hay checklists en seguimiento" / "Cuando un cierre genere un plan de acción, aparecerá acá."
Sección 13.8
Verificación de Cierre (Firma DS 44)

La verificación (/records/checklists/:id/verify) es el cierre formal del ciclo: el SSO revisa que todas las medidas se ejecutaron, escribe un comentario de cierre técnico y firma digitalmente. Con eso el checklist pasa a RESOLVED. Requiere el permiso VERIFICAR CIERRE DE CHECKLIST.

El encabezado muestra "Verificación de cierre" + el título + "Folio <folio> · N medidas en el plan". Debajo aparece la lista de medidas: cada una con un checkbox, su descripción y "jerarquía · Plazo: <fecha> · Resp: <nombre>". Si una medida está COMPLETED, se ve "Completada por <nombre> · <fecha>" y su comentario de evidencia.

🛑 Regla clave: no se firma con medidas pendientes

El SSO no puede marcar ni firmar mientras haya medidas en PENDING. Solo puede firmar cuando todas están COMPLETED (con evidencia subida por el responsable). Si hay pendientes, aparece el aviso: "⚠️ Hay medidas en estado PENDING. El verificador solo puede firmar cuando todas las medidas estén COMPLETED (con evidencia subida por el responsable). Pídele al responsable que cierre las medidas pendientes desde su bandeja antes de continuar."

Campos de la verificación (solo cuando todo está marcado)

CampoTipoObligatorioNotas
Comentario de cierre técnicoÁrea de textoSíNo puede quedar vacío. Placeholder "Resumen del cierre: efectividad de las medidas, observaciones, próximos pasos…".
Firma digital del verificadorFirma (pad de firma)SíBotón "Firmar el cierre" / "Re-firmar"; muestra la miniatura de la firma.

Botones y validaciones

BotónQué hacePrecondición
Checkbox de medidaMarca/desmarca como verificadaDeshabilitado si la medida está bloqueada (PENDING u otra)
CancelarVuelve—
Firmar y resolverMarca todo VERIFIED y pasa a RESOLVEDTodas marcadas + comentario + firma; deshabilitado hasta cumplir todo ("Guardando…" + spinner)

Mensajes de validación literales al firmar:

Estados especiales

EstadoQué verás
Sin permiso"Sin permiso" / "Tu rol no incluye VERIFICAR CIERRE DE CHECKLIST."
Cargando"Cargando checklist…".
Error de carga"El checklist no existe o no tienes acceso." / "No se pudo cargar el checklist."
Ya verificado"Checklist ya verificado" / "Resuelto el <fecha> por <nombre>." + "Ver completados".
No está en seguimiento"Este checklist no está en fase de seguimiento (actual: <fase>)." + "Volver".
Sin plan (0 medidas)"Este checklist no tiene plan de acción. Si fue marcado como IN_FOLLOWUP por error, contacta al admin del sistema."
🔒 La declaración de firma (Ley 19.799)

Al abrir el pad de firma, se muestra la declaración literal: "Declaro haber verificado que todas las medidas del plan de acción fueron ejecutadas correctamente y que el cierre del checklist cumple con los estándares DS 44/2024." Firmar equivale a asumir esa responsabilidad. La firma queda asociada de forma inseparable al registro y al verificador.

[Runner: plantilla con campos de cierre]
              |
              v
          OPEN  (turno abierto)
              |
       Cierre de turno (13.6)
        /              \
   sin plan          con plan
      |                  |
      v                  v
   CLOSED           IN_FOLLOWUP
                         |
              responsables completan medidas
              (COMPLETED con evidencia)
                         |
                 Verificación SSO (13.8)
                  firma DS 44 + comentario
                         |
                         v
                     RESOLVED
Sección 13.9
Administración de Plantillas

Las plantillas son el diseño reutilizable de cada inspección. Se gestionan en /admin/checklist-templates y las diseña quien tenga el permiso GESTIONAR PLANTILLAS DE CHECKLIST (típicamente el Tenant Admin). Aquí defines los puntos de control, el scoring, los turnos y el vínculo a activos.

13.9.1 Hub de plantillas

Hub de plantillas de checklist

Figura 13.9 — Administración de plantillas: grid de plantillas existentes y botón "Nueva Plantilla".

El encabezado dice "Plantillas de Checklist" / "Formatos de Inspeccion Estandarizada" con el botón Nueva Plantilla. Cada tarjeta muestra el título, la descripción, "N Puntos de Control" y los botones editar (lápiz) y eliminar (papelera).

BotónQué hace
Nueva PlantillaAbre el editor vacío (/admin/checklist-templates/new).
Editar (lápiz)Abre el editor con la plantilla cargada.
Eliminar (papelera)Abre el modal de confirmación de borrado.
Botón atrásVuelve a /admin.

Estados: sin empresa (pide seleccionarla, "Plantillas de Checklist"); sin permiso ("Acceso Denegado" / "No tienes permisos para gestionar plantillas de checklist." + "Volver"); cargando (spinner + "Cargando plantillas..."); error ("Error" + "Error al cargar las plantillas. Por favor, intenta nuevamente."); vacío (ícono + "Sin Plantillas Definidas" / "Crea tu primera plantilla de checklist").

🗑️ Eliminar es permanente

Al pulsar la papelera aparece el modal de confirmación (el copy del producto tiene faltas de acento): título "Confirmar Eliminacion", texto "Estas seguro de que deseas eliminar la plantilla?" con el nombre, nota "Esta accion no se puede deshacer. La plantilla sera eliminada permanentemente." y botones "Cancelar" / "Eliminar". Eliminar una plantilla no afecta los checklists ya ejecutados (conservan su copia de ítems), pero la plantilla desaparece del selector de ejecución.

13.9.2 Editor: Configuración Maestra

El editor encabeza con "Ingeniería de Checklist" (plantilla nueva) o "Refinar Protocolo" (edición) y el subtítulo "Diseño de Matrices Operativas Aegis". Se organiza en módulos.

Editor: configuracion maestra

Figura 13.10 — Editor de plantilla: módulo "Configuración Maestra" y comienzo de la "Arquitectura de Control".

CampoTipoObligatorioNotas
Título del Protocolo de InspecciónTextoSíNo puede quedar vacío. Placeholder "Ej: Inspección Técnica de Maquinaria Pesada". Saneado a ≤200 caracteres, sin <>.
Alcance y Objetivos OperacionalesÁrea de textoOpcionalHasta 1000 caracteres. Placeholder "Describa el propósito técnico de esta validación...".

13.9.3 Editor: Arquitectura de Control

Aquí defines los puntos de control (ítems). Es una lista arrastrable: puedes reordenarlos con drag & drop.

Editor: arquitectura de control

Figura 13.11 — Arquitectura de Control: lista de puntos de control con su chip de tipo y acciones.

Elemento de la filaDescripción
Texto del punto de controlObligatorio (todos deben estar definidos). Placeholder "Defina el punto de control...". Saneado ≤500 caracteres.
Botón configurar (chip de tipo)Expande la configuración avanzada; muestra el tipo corto (Sí/No, Numérico, Única, Múltiple).
Eliminar (papelera)Quita el ítem. No se puede si queda uno solo.

El botón "Inyectar Punto de Control" agrega un ítem vacío. Si intentas borrar el único ítem, el editor avisa: "Un protocolo debe contener al menos un punto de control."

Panel de configuración por ítem

Configuracion avanzada de un punto de control

Figura 13.12 — Configuración avanzada de un punto de control: tipo de respuesta, peso, ítem crítico y escala/opciones.

CampoOpciones / valoresDefaultNotas
Tipo de respuesta"Sí/No · Cumple" (binario), "Numérico", "Selección única", "Selección múltiple"BinarioCambiar el tipo siembra/limpia las estructuras dependientes.
Peso del ítemNúmero ≥0.1 (paso 0.1)1"Pondera dentro de su sección. Default 1."
Ítem críticoSwitch Crítico / NormalNormal"Si no cumple, fuerza banda CRÍTICO."
(numérico) MínimoNúmero0—
(numérico) MáximoNúmero100Debe ser mayor que el mínimo.
(numérico) Objetivo (opcional)NúmerovacíoSi se fija, el puntaje cae al alejarse del objetivo.
(numérico) Mayor es mejorSwitch Sí / NoSíDeshabilitado si hay objetivo.
(única/múltiple) OpcionesLista de etiqueta + puntaje (0–100 pts)2 opciones (100 y 0)Placeholder "Etiqueta (ej: Bueno, Regular, Malo…)". Requiere ≥1 con etiqueta para guardar.

Nota de selección única: "El puntaje del ítem = score de la opción elegida." Nota de selección múltiple: "El puntaje del ítem = promedio de los score de las opciones marcadas."

13.9.4 Editor: Scoring de Cumplimiento

El módulo de scoring agrupa los puntos de control en secciones ponderadas.

Editor: scoring de cumplimiento por secciones

Figura 13.13 — Scoring de Cumplimiento: secciones, pesos y asignación de ítems.

ControlDescripción
Toggle "Scoring de Cumplimiento"Al activarlo por primera vez, siembra una sección "General" con todos los ítems.
Resumen de pesos"Suma de pesos N% / 100%" (verde si suma 100 ±0.5, ámbar si no) o "Sin pesos · se repartirá parejo (N% c/u)".
"Repartir parejo"Distribuye 100% en partes iguales entre las secciones.
Sección: nombrePlaceholder "Nombre de la sección (ej: Estructura, Frenos, EPP)". ≤80 caracteres.
Sección: pesoNúmero 0–100 (paso 0.1). Placeholder "auto"; vacío = reparto parejo.
"Crear sección"Agrega una sección vacía.
Asignación de ítemsUn menú por ítem para asignarlo a una sección o "— Sin asignar —".

Con el scoring apagado, se muestra: "Activa el scoring para agrupar los puntos de control en secciones y asignarles un peso. Sin scoring, la auditoría se calcula como % plano sobre todos los ítems." Avisos: sección vacía → "Sección vacía · no se guardará"; ítems sin asignar → "N sin asignar".

💡 Tip

Si defines pesos, procura que sumen 100% (el badge se pone ámbar si no cuadra). Si no defines pesos, el motor reparte parejo y calcula un micro-promedio por ítem. Ejemplo típico: Frenos 40%, EPP 30%, Estructura 30%.

13.9.5 Editor: Vínculo a Activo y campos contextuales

Editor: vinculo a activo y campos contextuales

Figura 13.14 — Vínculo a Activo (Reposit) y campos contextuales de apertura y cierre.

CampoOpcionesNotas
Categoría del activo a inspeccionar"Sin activo vinculado", "Vehículo", "Maquinaria", "Equipo", "Herramienta", "Infraestructura", "Otro"Al elegir una categoría distinta de "Sin activo vinculado", aparece el editor de campos contextuales.

Los campos contextuales se organizan en dos bloques: "Apertura · antes de los ítems" y "Cierre · después de los ítems". Recuerda: si defines campos de cierre, la plantilla se vuelve de turno. Cada campo tiene:

CampoOpciones / valoresNotas
EtiquetaTextoPlaceholder "Ej: Kilometraje inicial" / "Ej: Kilometraje final". ≤80 caracteres.
Tipo"Texto", "Número", "Selección", "Indicador 0–100%"—
Unidad (opcional)TextoPlaceholder "km, lts, °C, %…". ≤16 caracteres.
Prefillar desde activo"Sin prefill", "Patente del activo", "Código del activo", "Nombre del activo", "Marca", "Modelo", "Último kilometraje", "Último horómetro"Toma el dato del activo vinculado al ejecutar.
Opciones (si tipo=Selección)Texto separado por comasPlaceholder "Operativo, Restringido, Fuera de servicio".
Campo obligatorioCasillaSi se marca, será exigido en el Runner o el cierre.

Los botones "Agregar campo de apertura" / "Agregar campo de cierre" y "Quitar" (por campo) gestionan la lista. Al quitar la categoría de activo, los campos contextuales se vacían.

13.9.6 Guardar: validaciones y persistencia

El footer del editor tiene "Abortar Diseño" (cancelar) y "Consolidar Protocolo" (guardar; muestra "Guardando..." mientras persiste). Al guardar, valida:

SituaciónMensaje
Sin empresa"Debe seleccionar una empresa"
Sin tenant"No se pudo identificar el tenant. Por favor, vuelve a iniciar sesión."
Sin permiso"No tienes permisos para gestionar plantillas de checklist."
Sin título"El título del protocolo es obligatorio."
Ítem sin texto"Todos los puntos de control deben estar definidos."
Selección sin opciones"El punto de control '<texto>' es de selección: agrega al menos una opción con etiqueta."
Numérico mal configurado"El punto de control numérico '<texto>' necesita un máximo mayor que el mínimo."
Error al guardar"Error al guardar la plantilla. Por favor, intenta nuevamente."
📝 Cómo se persiste

La plantilla se guarda mediante una transacción atómica. Solo se escriben los campos con valor real (la base de datos rechaza valores vacíos indefinidos); el tipo binario, que es el default, no se escribe para mantener los datos limpios. Las secciones vacías se descartan y las referencias a ítems huérfanos se filtran. Una vez consolidada, la plantilla aparece de inmediato en el selector de ejecución.

Sección 13.10
Casos de Uso Comunes

Caso 1: Inspección con scoring en una sola pasada

  1. El operador entra a Registros → Ejecutar Checklist y pulsa Iniciar en la plantilla de scoring.
  2. Registra la ubicación con el botón de geolocalización.
  3. Responde cada punto según su tipo (OK/No OK/N/A, número, opción única/múltiple).
  4. En los hallazgos No OK agrega la descripción y, si puede, una foto.
  5. Observa el % y la banda en el panel "Cumplimiento de la auditoría".
  6. Pulsa Guardar y Generar PDF. Se crea el registro con folio CHK-XXXX.

Caso 2: Turno de vehículo, de apertura a resolución

  1. El operador ejecuta una plantilla con campos de cierre y vincula el vehículo; el kilometraje inicial se prefilla desde el activo. Al guardar queda en fase OPEN.
  2. Al terminar el turno, el supervisor entra al historial, sección Turnos abiertos, pulsa Cerrar e ingresa el kilometraje final.
  3. Como hubo hallazgos No OK, agrega medidas (o pulsa Generar con IA) y pulsa Cerrar y abrir seguimiento → pasa a IN_FOLLOWUP y notifica a los responsables.
  4. Los responsables completan sus medidas subiendo evidencia.
  5. El SSO va a Verificar, marca todas las medidas, escribe el comentario de cierre técnico y firma → pasa a RESOLVED.

Caso 3: Diseñar una plantilla avanzada (admin)

  1. El Tenant Admin entra a /admin/checklist-templates → Nueva Plantilla.
  2. Escribe el título y el alcance; agrega los puntos de control y configura cada uno (tipo, peso, crítico).
  3. Activa el Scoring de Cumplimiento, crea secciones (Frenos, EPP, Estructura), asigna ítems y reparte los pesos.
  4. Elige la categoría de activo (Vehículo) y define los campos de apertura (km inicial, prefill) y de cierre (km final).
  5. Pulsa Consolidar Protocolo. La plantilla queda disponible para ejecutar.

Caso 4: Cargar rápido con la foto del checklist en papel

  1. En el Runner, en el bloque "Auto-llenar desde foto del checklist en papel", pulsa Subir foto.
  2. Sube una foto (≤8 MB) del checklist físico firmado.
  3. La IA detecta las marcas y autocompleta el status de los ítems que coincidan.
  4. Revisa cada status autocompletado, corrige lo necesario y guarda.
Sección 13.11
Solución de Problemas
ProblemaCausa probableSolución
No veo ninguna plantilla al ir a "Ejecutar Checklist"No hay plantillas creadas para esta empresa, o falta seleccionar empresa.Pide al administrador que cree plantillas en /admin/checklist-templates y verifica tu empresa activa.
El botón "Guardar" no responde / dice "Guardando…"Guard anti doble-envío: los botones se deshabilitan mientras persiste.Espera a que termine. Si falla, aparece un modal de error.
Me dice que faltan campos obligatorios de aperturaUn campo contextual obligatorio quedó vacío.El mensaje lista cuáles; complétalos y vuelve a guardar.
No me deja guardar: hay ítems sin responderAlgún punto de control quedó en PENDING (resaltado amarillo).Responde todos los ítems (OK/No OK/N/A o su valor).
"Este checklist ya no está abierto o cambió de estado"Otro usuario ya lo cerró o cambió de fase.Recarga la página.
No puedo verificar: hay medidas en PENDINGEl verificador solo firma con todas las medidas COMPLETED.Pide a los responsables que suban evidencia y cierren sus medidas primero.
El PDF no se generó pero el checklist síEl guardado y el PDF son independientes.Regenera el PDF desde la tarjeta del historial con "Reporte PDF".
La foto OCR no detectó nadaLa foto no corresponde a este checklist (no coincidieron los ítems).Verifica que subiste el documento correcto o completa manualmente.
No me aparece cerrar / verificar / seguimientoFaltan permisos específicos.Solicita CERRAR TURNO, VERIFICAR CIERRE o VER BANDEJA DE SEGUIMIENTO al administrador.
Mi auditoría bajó a "Crítico" con casi todo OKUn ítem crítico quedó en No OK (puntaje 0).Es el comportamiento esperado: un crítico en 0 fuerza la banda a Crítico.
No puedo cerrar el turno en este contratoTu permiso no cubre el contrato del checklist.Solicita el acceso al contrato correspondiente.
Sección 13.12
Preguntas Frecuentes
¿Cuál es la diferencia entre un checklist simple y uno avanzado?
El simple (Cap. 02) usa solo OK/No OK/N/A y un porcentaje plano. El avanzado permite tipos de respuesta variados (numérico, selección única/múltiple), scoring ponderado por secciones, ítems críticos, bandas de resultado, turnos, vínculo a activos y plan de acción. Ambos comparten la misma pantalla de ejecución; lo que cambia es el diseño de la plantilla.
¿Por qué mi auditoría quedó "Crítico" si respondí casi todo OK?
Casi con seguridad un ítem marcado como crítico quedó en No OK (puntaje 0). Un ítem crítico en 0 fuerza la banda global a Crítico, sin importar cuán alto sea el porcentaje del resto. Es intencional: una falla determinante no debe quedar diluida en un buen promedio.
¿Las respuestas N/A bajan mi porcentaje?
No. Las N/A se excluyen del denominador: no suman ni restan. Sirven para dejar constancia de que un punto no aplicaba a esta inspección sin castigar el resultado.
¿Cuándo un checklist se vuelve un turno?
Solo cuando su plantilla tiene campos de cierre (bloque "Cierre · después de los ítems"). Al guardarlo queda en fase OPEN y hay que cerrarlo más tarde. Si no quieres el flujo de dos pasadas, no agregues campos de cierre a la plantilla.
¿Puedo firmar la verificación si aún hay medidas pendientes?
No. El verificador SSO solo puede firmar cuando todas las medidas están COMPLETED con su evidencia. Si hay alguna en PENDING, la pantalla lo bloquea y muestra un aviso pidiendo que el responsable cierre primero sus medidas.
¿Qué pasa con las lecturas de kilometraje/horómetro del activo?
Al vincular un activo, los campos con prefill traen su última lectura. Al guardar y al cerrar, el servidor sincroniza esas lecturas de vuelta al activo. Por eso conviene revisarlas antes de guardar: alimentan el historial del activo en Reposit.
¿El plan generado por IA reemplaza al que yo escribí?
Solo si lo confirmas. Si ya hay medidas y pulsas "Generar con IA", aparece un modal que te pregunta si quieres reemplazarlas por la sugerencia. Si cancelas, tu plan manual queda intacto.
Si elimino una plantilla, ¿se borran los checklists ya hechos?
No. Los checklists ejecutados conservan su propia copia de los ítems y siguen intactos en el historial. Lo que desaparece es la plantilla del selector de ejecución; no podrás iniciar nuevos checklists con ella.
¿Por qué el PDF no coincide con lo que necesito o no se generó?
El guardado del registro y la generación del PDF son procesos independientes. Si el PDF falla, el checklist igual queda guardado. Puedes regenerarlo cuando quieras desde la tarjeta del historial con el botón "Reporte PDF".
¿Quién puede completar una medida del plan de acción?
El responsable asignado o un administrador. Aunque veas el botón "Completar", la autorización efectiva la valida el servidor: la medida solo se cierra si realmente tienes permiso para hacerlo, subiendo la evidencia correspondiente.