# RF-MAA017-003: Inspecciones de Seguridad

## Informacion General

| Atributo | Valor |
|----------|-------|
| **Codigo** | RF-MAA017-003 |
| **Nombre** | Inspecciones de Seguridad |
| **Modulo** | MAA-017 Seguridad HSE |
| **Prioridad** | P1 - Alta |
| **Complejidad** | Alta |

## Descripcion

El sistema debe permitir la ejecucion, registro y seguimiento de inspecciones de seguridad en obras de construccion. Incluye diferentes tipos de inspecciones (rutinarias, especiales, pre-inicio), registro de hallazgos, calificacion de areas y seguimiento de acciones correctivas hasta su cierre.

## Requisitos Funcionales

### RF-MAA017-003.1: Catalogo de Tipos de Inspeccion

- Definir tipos de inspeccion con sus caracteristicas
- Tipos predefinidos:
  - Inspeccion rutinaria diaria
  - Inspeccion semanal de obra
  - Inspeccion pre-inicio de actividad
  - Inspeccion de equipos/maquinaria
  - Inspeccion de andamios
  - Inspeccion de excavaciones
  - Inspeccion de espacios confinados
  - Inspeccion ambiental
- Configurar checklist por tipo de inspeccion
- Definir frecuencia requerida por tipo
- Asignar categorias de evaluacion (cumple, no cumple, no aplica)
- Registrar norma STPS de referencia

### RF-MAA017-003.2: Programacion de Inspecciones

- Crear programa mensual de inspecciones por obra
- Asignar inspector responsable (calificado)
- Definir areas/zonas a inspeccionar
- Establecer fecha y hora programada
- Generar calendario visual de inspecciones
- Enviar recordatorios automaticos a inspectores
- Permitir reprogramacion con motivo
- Alertar sobre inspecciones vencidas

### RF-MAA017-003.3: Ejecucion de Inspeccion

- Cargar checklist predefinido del tipo de inspeccion
- Ejecutar en modo offline (sincronizar al conectar)
- Evaluar cada item: cumple, no cumple, no aplica
- Agregar observaciones por item
- Capturar fotografias de evidencia (minimo 3, maximo 20)
- Registrar ubicacion GPS automatica
- Registrar fecha/hora de inicio y fin
- Calcular porcentaje de cumplimiento automatico
- Permitir inspeccion parcial (guardar avance)
- Firma digital del inspector

### RF-MAA017-003.4: Registro de Hallazgos

- Crear hallazgo desde item no conforme
- Clasificar gravedad: critico, mayor, menor
- Clasificar tipo: condicion insegura, acto inseguro
- Describir hallazgo detalladamente
- Adjuntar fotos del hallazgo
- Marcar ubicacion exacta en plano de obra
- Asignar responsable de correccion
- Establecer fecha limite de correccion
- Generar accion correctiva automatica

### RF-MAA017-003.5: Seguimiento y Cierre

- Dashboard de hallazgos abiertos por obra
- Alertas de fechas proximas a vencer
- Registrar avances de correccion
- Adjuntar evidencia de correccion (fotos obligatorias)
- Verificar correccion en campo
- Cerrar hallazgo con firma de verificador
- Permitir reabrir si la correccion no es efectiva
- Calcular tiempo promedio de cierre

### RF-MAA017-003.6: Reportes de Inspeccion

- Generar reporte PDF de inspeccion con fotos
- Informe semanal de inspecciones por obra
- Reporte mensual de cumplimiento
- Comparativo de cumplimiento entre obras
- Top 10 de hallazgos recurrentes
- Tendencia de cumplimiento por area
- Exportar a Excel para analisis

## Reglas de Negocio

1. Inspecciones rutinarias deben realizarse diariamente antes de iniciar labores
2. Hallazgos criticos deben corregirse en maximo 24 horas
3. Hallazgos mayores tienen plazo maximo de 72 horas
4. No se puede cerrar hallazgo sin evidencia fotografica
5. Si un hallazgo critico no se corrige, se debe detener la actividad
6. Inspector no puede cerrar sus propios hallazgos (requiere verificador)
7. Obras con cumplimiento menor a 70% requieren plan de accion
8. Inspecciones vencidas mas de 3 dias generan alerta a gerencia

## Criterios de Aceptacion

- [ ] Usuario puede crear programa mensual de inspecciones
- [ ] Calendario muestra inspecciones programadas con colores por estado
- [ ] Checklist se carga automaticamente segun tipo de inspeccion
- [ ] Inspeccion funciona offline y sincroniza al conectar
- [ ] Fotos se capturan con geolocalizacion
- [ ] Porcentaje de cumplimiento se calcula en tiempo real
- [ ] Hallazgos se crean automaticamente de items no conformes
- [ ] Alertas se envian 24 horas antes de fecha limite
- [ ] Reporte PDF incluye fotos y firma digital
- [ ] Dashboard muestra metricas de cumplimiento

## Modelo de Datos

### Tabla: hse.tipos_inspeccion
```
- id: UUID PK
- tenant_id: UUID FK (core.tenants)
- codigo: VARCHAR(20) UNIQUE
- nombre: VARCHAR(200)
- descripcion: TEXT
- frecuencia: ENUM(diaria, semanal, quincenal, mensual, eventual)
- norma_referencia: VARCHAR(50)
- duracion_estimada_min: INTEGER
- requiere_firma: BOOLEAN DEFAULT true
- activo: BOOLEAN DEFAULT true
- created_at: TIMESTAMPTZ
- updated_at: TIMESTAMPTZ
```

### Tabla: hse.checklist_items
```
- id: UUID PK
- tipo_inspeccion_id: UUID FK
- numero_orden: INTEGER
- categoria: VARCHAR(100)
- descripcion: TEXT
- criterio_cumplimiento: TEXT
- es_critico: BOOLEAN DEFAULT false
- activo: BOOLEAN DEFAULT true
- created_at: TIMESTAMPTZ
```

### Tabla: hse.programa_inspecciones
```
- id: UUID PK
- tenant_id: UUID FK
- fraccionamiento_id: UUID FK (construction.fraccionamientos)
- tipo_inspeccion_id: UUID FK
- inspector_id: UUID FK (hr.employees)
- fecha_programada: DATE
- hora_programada: TIME
- zona_area: VARCHAR(200)
- estado: ENUM(programada, en_progreso, completada, cancelada, vencida)
- motivo_cancelacion: TEXT
- created_at: TIMESTAMPTZ
- updated_at: TIMESTAMPTZ
```

### Tabla: hse.inspecciones
```
- id: UUID PK
- tenant_id: UUID FK
- programa_id: UUID FK (nullable si es no programada)
- tipo_inspeccion_id: UUID FK
- fraccionamiento_id: UUID FK
- inspector_id: UUID FK
- fecha_inicio: TIMESTAMPTZ
- fecha_fin: TIMESTAMPTZ
- ubicacion_geo: GEOMETRY(Point)
- items_evaluados: INTEGER
- items_cumple: INTEGER
- items_no_cumple: INTEGER
- items_no_aplica: INTEGER
- porcentaje_cumplimiento: DECIMAL(5,2)
- observaciones_generales: TEXT
- firma_inspector: TEXT
- estado: ENUM(borrador, completada, verificada)
- created_at: TIMESTAMPTZ
- updated_at: TIMESTAMPTZ
```

### Tabla: hse.inspeccion_evaluaciones
```
- id: UUID PK
- inspeccion_id: UUID FK
- checklist_item_id: UUID FK
- resultado: ENUM(cumple, no_cumple, no_aplica)
- observacion: TEXT
- genera_hallazgo: BOOLEAN DEFAULT false
- created_at: TIMESTAMPTZ
```

### Tabla: hse.hallazgos
```
- id: UUID PK
- tenant_id: UUID FK
- inspeccion_id: UUID FK
- evaluacion_id: UUID FK
- folio: VARCHAR(20) UNIQUE
- gravedad: ENUM(critico, mayor, menor)
- tipo: ENUM(condicion_insegura, acto_inseguro)
- descripcion: TEXT
- ubicacion_descripcion: VARCHAR(500)
- ubicacion_geo: GEOMETRY(Point)
- responsable_correccion_id: UUID FK
- fecha_limite: DATE
- estado: ENUM(abierto, en_correccion, verificando, cerrado, reabierto)
- fecha_correccion: TIMESTAMPTZ
- descripcion_correccion: TEXT
- verificador_id: UUID FK
- fecha_verificacion: TIMESTAMPTZ
- created_at: TIMESTAMPTZ
- updated_at: TIMESTAMPTZ
```

### Tabla: hse.hallazgo_evidencias
```
- id: UUID PK
- hallazgo_id: UUID FK
- tipo: ENUM(hallazgo, correccion)
- archivo_url: VARCHAR(500)
- descripcion: VARCHAR(200)
- ubicacion_geo: GEOMETRY(Point)
- created_at: TIMESTAMPTZ
- created_by: UUID FK
```

## Casos de Uso

### CU-MAA017-003.1: Programar Inspecciones del Mes

**Actor**: Coordinador HSE
**Precondicion**: Catalogo de tipos de inspeccion configurado

**Flujo Principal**:
1. Coordinador selecciona obra y mes a programar
2. Sistema muestra calendario con dias habiles
3. Coordinador selecciona dia y tipo de inspeccion
4. Sistema muestra inspectores disponibles
5. Coordinador asigna inspector y zona
6. Sistema guarda y notifica al inspector
7. Sistema genera calendario visual del programa

### CU-MAA017-003.2: Ejecutar Inspeccion en Campo

**Actor**: Inspector de Seguridad
**Precondicion**: Inspeccion programada, inspector en obra

**Flujo Principal**:
1. Inspector abre app movil y selecciona inspeccion
2. Sistema carga checklist del tipo de inspeccion
3. Inspector recorre area evaluando cada item
4. Por cada item, inspector marca resultado (cumple/no cumple/NA)
5. Si no cumple, inspector toma foto y registra observacion
6. Sistema crea hallazgo automaticamente
7. Al finalizar, inspector firma digitalmente
8. Sistema calcula porcentaje y guarda
9. Si hay conexion, sincroniza inmediatamente

**Flujo Alterno - Sin Conexion**:
3a. Si no hay red, sistema trabaja en modo offline
9a. Sistema guarda localmente y marca para sincronizar
9b. Al recuperar conexion, sincroniza automaticamente

### CU-MAA017-003.3: Cerrar Hallazgo

**Actor**: Verificador HSE
**Precondicion**: Hallazgo corregido por responsable

**Flujo Principal**:
1. Verificador consulta hallazgos pendientes de verificacion
2. Sistema muestra lista con evidencias de correccion
3. Verificador selecciona hallazgo y revisa evidencia
4. Verificador acude a campo a verificar fisicamente
5. Si correccion es efectiva, verificador cierra hallazgo
6. Sistema registra fecha y firma de verificacion
7. Sistema actualiza metricas de cumplimiento

**Flujo Alterno - Correccion Insuficiente**:
5a. Si correccion no es efectiva, verificador reabre hallazgo
5b. Sistema notifica a responsable con nueva fecha limite

## Mockups

### Pantalla: Calendario de Inspecciones
```
+--------------------------------------------------+
| PROGRAMA DE INSPECCIONES - Enero 2025            |
| Obra: [Residencial Norte v]                      |
+--------------------------------------------------+
|  Lun   Mar   Mie   Jue   Vie   Sab   Dom        |
+--------------------------------------------------+
|   1     2     3     4     5     6     7         |
|  [R]   [R]   [R]   [R]   [R]                     |
|              [S]                                 |
+--------------------------------------------------+
|   8     9    10    11    12    13    14         |
|  [R]   [R]   [R]   [R]   [R]                     |
|        [E]         [S]   [A]                     |
+--------------------------------------------------+
| Leyenda: [R]=Rutinaria [S]=Semanal              |
|          [E]=Equipos [A]=Andamios               |
+--------------------------------------------------+
| [+ Agregar Inspeccion]  [Ver Lista]  [Exportar] |
+--------------------------------------------------+
```

### Pantalla: Ejecucion de Inspeccion (Movil)
```
+----------------------------------+
| < INSPECCION RUTINARIA           |
| Obra: Residencial Norte          |
| Zona: Edificio A - Nivel 3       |
+----------------------------------+
| Progreso: ████████░░ 80%         |
| 16/20 items evaluados            |
+----------------------------------+
| ORDEN Y LIMPIEZA                 |
+----------------------------------+
| 1. Areas de trabajo despejadas   |
|    [✓ Cumple] [ ] No [ ] N/A     |
|                                  |
| 2. Materiales ordenados          |
|    [ ] Cumple [✓] No [ ] N/A     |
|    Obs: [Varilla dispersa____]   |
|    [📷 Foto]                     |
|                                  |
| 3. Rutas de evacuacion libres    |
|    [✓ Cumple] [ ] No [ ] N/A     |
+----------------------------------+
| PROTECCION PERSONAL              |
+----------------------------------+
| 4. Uso de casco                  |
|    [✓ Cumple] [ ] No [ ] N/A     |
+----------------------------------+
|        [Siguiente >>>]           |
+----------------------------------+
```

### Pantalla: Dashboard de Hallazgos
```
+--------------------------------------------------+
| HALLAZGOS ABIERTOS                               |
+--------------------------------------------------+
| Filtros: [Todas las obras v] [Todos v] [30 dias] |
+--------------------------------------------------+
| RESUMEN                                          |
| +--------+  +--------+  +--------+               |
| |   12   |  |   28   |  |   45   |              |
| |Criticos|  |Mayores |  |Menores |              |
| +--------+  +--------+  +--------+               |
+--------------------------------------------------+
| HALLAZGOS PROXIMOS A VENCER (3 dias)            |
+--------------------------------------------------+
| ! HAL-2025-0089 | CRITICO | Residencial Norte   |
|   Falta barandal en nivel 4                      |
|   Vence: HOY | Resp: Juan Perez                  |
|   [Ver Detalle]                                  |
+--------------------------------------------------+
| ! HAL-2025-0092 | MAYOR | Torres del Valle      |
|   Cables electricos expuestos                    |
|   Vence: Manana | Resp: Pedro Lopez             |
|   [Ver Detalle]                                  |
+--------------------------------------------------+
| [Ver Todos los Hallazgos]                        |
+--------------------------------------------------+
```

## Especificaciones Tecnicas Relacionadas

- ET-MAA017-DB-001: Schema HSE Database
- ET-MAA017-BE-003: Inspections Service
- ET-MAA017-BE-004: Findings Service
- ET-MAA017-FE-004: Inspections Calendar
- ET-MAA017-FE-005: Mobile Inspection Form
- ET-MAA017-FE-006: Findings Dashboard

## User Stories Relacionadas

- US-MAA017-005: Realizar inspeccion de seguridad
- US-MAA017-011: Programar inspecciones del mes
- US-MAA017-012: Registrar hallazgo de inspeccion
- US-MAA017-013: Cerrar hallazgo con evidencia

## Integraciones

### Internas
- MAI-002: Obtener lista de obras y fraccionamientos
- MAI-007: Obtener lista de personal para asignar responsables
- RF-MAA017-001: Vincular hallazgos criticos con incidentes

### Externas
- Almacenamiento de fotos en sistema de archivos
- Notificaciones push para alertas

---

**Autor**: Requirements-Analyst
**Fecha**: 2025-12-06
**Version**: 1.0.0
