Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
810 lines
31 KiB
Markdown
810 lines
31 KiB
Markdown
# MAI-007: Seguridad Industrial
|
||
|
||
**ID:** MAI-007
|
||
**Fase:** 2 - Core Business
|
||
**Presupuesto:** $30,000 MXN
|
||
**Story Points:** 52 SP
|
||
**Sprint:** Sprint 11-13 (Semanas 21-26)
|
||
**Prioridad:** P0 (Crítica)
|
||
**Estado:** En documentación
|
||
|
||
---
|
||
|
||
## Resumen Ejecutivo
|
||
|
||
El módulo de **Seguridad Industrial** gestiona integralmente la seguridad e higiene en obras de construcción, proporcionando herramientas para:
|
||
|
||
- Gestión y control de Equipo de Protección Personal (EPP)
|
||
- Inspecciones de seguridad con evidencia fotográfica y geolocalización
|
||
- Reporte y seguimiento de incidentes y accidentes laborales
|
||
- Planificación y seguimiento de capacitaciones de seguridad
|
||
- Cumplimiento de normativas mexicanas (NOM-STPS) e internacionales (OSHA)
|
||
|
||
### Problema que Resuelve
|
||
|
||
Las obras de construcción enfrentan riesgos constantes de accidentes laborales que generan:
|
||
- Pérdida de vidas humanas y lesiones
|
||
- Costos médicos y legales elevados
|
||
- Multas por incumplimiento normativo
|
||
- Suspensión de obras por autoridades
|
||
- Deterioro de la imagen corporativa
|
||
|
||
**Sin este módulo:** Control manual con formatos en papel, pérdida de evidencias, falta de trazabilidad, incumplimiento normativo, riesgos legales.
|
||
|
||
**Con este módulo:** Digitalización de procesos de seguridad, trazabilidad completa, alertas preventivas, cumplimiento normativo automatizado, reducción de accidentes.
|
||
|
||
---
|
||
|
||
## Objetivos
|
||
|
||
### Objetivos de Negocio
|
||
|
||
1. **Prevenir accidentes:** Reducir incidentes laborales mediante inspecciones periódicas y controles preventivos
|
||
2. **Cumplimiento normativo:** Garantizar cumplimiento de NOM-031-STPS-2011 y normativas aplicables
|
||
3. **Protección laboral:** Asegurar que todo trabajador cuente con EPP adecuado y vigente
|
||
4. **Capacitación continua:** Mantener personal capacitado en normas y procedimientos de seguridad
|
||
5. **Trazabilidad completa:** Documentar todas las actividades de seguridad con evidencia digital
|
||
|
||
### Objetivos Técnicos
|
||
|
||
1. **App móvil integrada:** Inspecciones y reportes desde campo con MOB-003 y MOB-004
|
||
2. **Modo offline:** Funcionamiento sin conexión con sincronización automática
|
||
3. **Geolocalización:** Registro GPS de inspecciones e incidentes
|
||
4. **Evidencia fotográfica:** Captura y almacenamiento de evidencias
|
||
5. **KPIs en tiempo real:** Dashboard con indicadores de seguridad actualizados
|
||
|
||
---
|
||
|
||
## Alcance Funcional
|
||
|
||
### 1. Gestión de Equipo de Protección Personal (EPP)
|
||
|
||
**Funcionalidades:**
|
||
- Catálogo de tipos de EPP (casco, guantes, botas, arnés, chaleco, etc.)
|
||
- Registro de especificaciones técnicas y normativas de cada EPP
|
||
- Control de inventario con vida útil y fechas de caducidad
|
||
- Asignación de EPP a trabajadores según puesto y actividades
|
||
- Generación de actas de entrega con firma digital
|
||
- Alertas de renovación por vencimiento o desgaste
|
||
- Verificación móvil del uso correcto de EPP en campo
|
||
|
||
**Entidades de datos:**
|
||
- Catálogo de EPP
|
||
- Inventario de EPP
|
||
- Asignaciones de EPP por trabajador
|
||
- Inspecciones de uso de EPP
|
||
|
||
### 2. Inspecciones de Seguridad
|
||
|
||
**Funcionalidades:**
|
||
- Creación de plantillas de checklist personalizadas por tipo de obra
|
||
- Definición de criterios de evaluación y niveles de riesgo
|
||
- Programación de inspecciones con frecuencia configurable
|
||
- Ejecución de inspecciones desde app móvil (MOB-003, MOB-004)
|
||
- Captura de fotografías geolocalizadas de hallazgos
|
||
- Clasificación de hallazgos por nivel de riesgo (bajo, medio, alto, crítico)
|
||
- Asignación de acciones correctivas con responsables y plazos
|
||
- Seguimiento de cierre de hallazgos con evidencia
|
||
- Reportes de cumplimiento y tendencias
|
||
|
||
**Entidades de datos:**
|
||
- Plantillas de inspección
|
||
- Inspecciones realizadas
|
||
- Hallazgos de inspección
|
||
- Acciones correctivas
|
||
|
||
### 3. Reportes de Incidentes y Accidentes
|
||
|
||
**Funcionalidades:**
|
||
- Reporte inmediato de incidentes desde app móvil
|
||
- Clasificación por tipo (leve, grave, fatal)
|
||
- Registro de ubicación GPS y evidencia fotográfica
|
||
- Identificación de personas involucradas y testigos
|
||
- Investigación de causas raíz (análisis de Ishikawa)
|
||
- Documentación de testimonios y evidencias
|
||
- Definición de acciones preventivas y correctivas
|
||
- Registro de costos asociados (médicos, laborales, legales)
|
||
- Cálculo de días perdidos y tasa de incidentes
|
||
- Generación de informes oficiales para autoridades
|
||
|
||
**Entidades de datos:**
|
||
- Reportes de incidentes
|
||
- Investigaciones de incidentes
|
||
- Testigos y testimonios
|
||
- Acciones correctivas
|
||
- Costos de incidentes
|
||
|
||
### 4. Capacitaciones de Seguridad
|
||
|
||
**Funcionalidades:**
|
||
- Catálogo de cursos y capacitaciones de seguridad
|
||
- Definición de capacitaciones obligatorias por puesto
|
||
- Programación de sesiones con fecha, hora, ubicación e instructor
|
||
- Gestión de inscripciones y control de capacidad
|
||
- Registro de asistencia con firma o código QR
|
||
- Aplicación de evaluaciones de conocimientos
|
||
- Generación de constancias de capacitación
|
||
- Historial de capacitaciones por trabajador
|
||
- Alertas de capacitaciones próximas a vencer
|
||
- Matriz de cumplimiento de capacitación
|
||
- Reportes de cobertura y estadísticas
|
||
|
||
**Entidades de datos:**
|
||
- Catálogo de capacitaciones
|
||
- Sesiones programadas
|
||
- Registro de asistencia
|
||
- Evaluaciones y calificaciones
|
||
- Constancias emitidas
|
||
|
||
---
|
||
|
||
## Arquitectura del Módulo
|
||
|
||
### Schema de Base de Datos: `safety`
|
||
|
||
**Tablas principales:**
|
||
|
||
```sql
|
||
-- EPP
|
||
safety.epp_catalog -- Catálogo de tipos de EPP
|
||
safety.epp_inventory -- Inventario de EPP disponible
|
||
safety.epp_assignments -- Asignaciones a trabajadores
|
||
safety.epp_inspections -- Verificaciones de uso
|
||
|
||
-- Inspecciones
|
||
safety.inspection_templates -- Plantillas de checklist
|
||
safety.inspections -- Inspecciones realizadas
|
||
safety.inspection_findings -- Hallazgos de inspecciones
|
||
safety.corrective_actions -- Acciones correctivas
|
||
|
||
-- Incidentes
|
||
safety.incident_reports -- Reportes de incidentes
|
||
safety.incident_investigations -- Investigaciones
|
||
safety.incident_witnesses -- Testigos
|
||
safety.incident_costs -- Costos asociados
|
||
|
||
-- Capacitaciones
|
||
safety.training_catalog -- Catálogo de cursos
|
||
safety.training_sessions -- Sesiones programadas
|
||
safety.training_attendance -- Asistencia
|
||
safety.training_evaluations -- Evaluaciones
|
||
safety.training_certificates -- Constancias emitidas
|
||
```
|
||
|
||
**ENUMs:**
|
||
- `epp_type`: helmet, gloves, boots, harness, vest, goggles, mask, etc.
|
||
- `epp_status`: available, assigned, expired, damaged
|
||
- `risk_level`: low, medium, high, critical
|
||
- `incident_type`: near_miss, minor, serious, fatal
|
||
- `incident_status`: reported, under_investigation, closed
|
||
- `action_status`: pending, in_progress, completed, cancelled
|
||
|
||
### Backend: NestJS
|
||
|
||
**Modules:**
|
||
- `SafetyModule` - Módulo principal
|
||
- `EppModule` - Gestión de EPP
|
||
- `InspectionModule` - Inspecciones de seguridad
|
||
- `IncidentModule` - Incidentes y accidentes
|
||
- `TrainingModule` - Capacitaciones
|
||
|
||
**Services:**
|
||
- `EppService` - CRUD y lógica de EPP
|
||
- `EppInventoryService` - Control de inventario
|
||
- `InspectionService` - Gestión de inspecciones
|
||
- `InspectionTemplateService` - Plantillas de checklist
|
||
- `IncidentService` - Registro de incidentes
|
||
- `IncidentInvestigationService` - Investigaciones
|
||
- `TrainingService` - Gestión de capacitaciones
|
||
- `SafetyKpiService` - Cálculo de indicadores
|
||
- `SafetyReportService` - Generación de reportes
|
||
|
||
**Controllers:**
|
||
- `EppController` - API REST de EPP
|
||
- `InspectionController` - API REST de inspecciones
|
||
- `IncidentController` - API REST de incidentes
|
||
- `TrainingController` - API REST de capacitaciones
|
||
- `SafetyReportController` - Endpoints de reportes
|
||
|
||
### Frontend: React + TypeScript
|
||
|
||
**Páginas principales:**
|
||
- `/safety/dashboard` - Dashboard general de seguridad
|
||
- `/safety/epp` - Gestión de EPP
|
||
- `/safety/inspections` - Inspecciones de seguridad
|
||
- `/safety/incidents` - Incidentes y accidentes
|
||
- `/safety/trainings` - Capacitaciones
|
||
- `/safety/reports` - Reportes y estadísticas
|
||
|
||
**Componentes principales:**
|
||
- `SafetyDashboard` - Dashboard con KPIs
|
||
- `EppCatalogManagement` - Gestión de catálogo
|
||
- `EppAssignmentForm` - Asignación de EPP
|
||
- `EppInventoryDashboard` - Control de inventario
|
||
- `InspectionTemplateBuilder` - Constructor de plantillas
|
||
- `InspectionScheduler` - Programador de inspecciones
|
||
- `FindingsList` - Lista de hallazgos
|
||
- `CorrectiveActionTracker` - Seguimiento de acciones
|
||
- `IncidentReportForm` - Formulario de incidentes
|
||
- `IncidentInvestigationForm` - Investigación de causas
|
||
- `IncidentStatistics` - Estadísticas de incidentes
|
||
- `TrainingCatalogManagement` - Gestión de catálogo
|
||
- `TrainingSessionPlanner` - Planificador de sesiones
|
||
- `AttendanceRegistration` - Registro de asistencia
|
||
- `TrainingComplianceDashboard` - Matriz de cumplimiento
|
||
|
||
---
|
||
|
||
## Flujos de Trabajo
|
||
|
||
### Flujo 1: Asignación de EPP a Nuevo Trabajador
|
||
|
||
```
|
||
1. [Coordinador Seguridad] Ingresa nuevo trabajador al sistema
|
||
2. [Sistema] Identifica EPP requerido según puesto y actividades
|
||
3. [Coordinador] Verifica disponibilidad en inventario
|
||
4. [Coordinador] Asigna EPP con fecha de entrega
|
||
5. [Sistema] Genera acta de entrega de EPP (PDF)
|
||
6. [Trabajador] Firma digitalmente o en papel el acta
|
||
7. [Sistema] Registra asignación en expediente del trabajador
|
||
8. [Sistema] Programa alertas de renovación según vida útil
|
||
```
|
||
|
||
### Flujo 2: Inspección de Seguridad en Campo
|
||
|
||
```
|
||
1. [Supervisor] Abre app móvil MOB-003
|
||
2. [Supervisor] Selecciona proyecto y tipo de inspección
|
||
3. [Sistema] Carga checklist correspondiente
|
||
4. [Supervisor] Completa checklist item por item
|
||
5. [Supervisor] Identifica hallazgo (no conformidad)
|
||
6. [Supervisor] Toma fotografía del hallazgo
|
||
7. [Sistema] Registra GPS y timestamp automáticamente
|
||
8. [Supervisor] Clasifica riesgo (bajo/medio/alto/crítico)
|
||
9. [Sistema] Sincroniza datos con servidor
|
||
10. [Sistema] Notifica a coordinador si hay hallazgos críticos
|
||
11. [Coordinador] Asigna acción correctiva con responsable y plazo
|
||
12. [Sistema] Envía notificación al responsable
|
||
13. [Responsable] Implementa corrección y registra evidencia
|
||
14. [Coordinador] Verifica y cierra hallazgo
|
||
```
|
||
|
||
### Flujo 3: Reporte de Incidente Laboral
|
||
|
||
```
|
||
1. [Supervisor/Capataz] Presencia incidente en obra
|
||
2. [Supervisor] Abre app móvil y selecciona "Reportar Incidente"
|
||
3. [Sistema] Activa formulario de reporte rápido
|
||
4. [Supervisor] Completa datos:
|
||
- Tipo de incidente (leve/grave/fatal)
|
||
- Personas involucradas
|
||
- Descripción de lo ocurrido
|
||
- Fotografías de la escena
|
||
5. [Sistema] Captura GPS y timestamp
|
||
6. [Sistema] Envía notificación inmediata a:
|
||
- Coordinador de Seguridad
|
||
- Residente de Obra
|
||
- Director General (si es grave o fatal)
|
||
7. [Coordinador] Inicia investigación formal
|
||
8. [Coordinador] Documenta causas raíz
|
||
9. [Coordinador] Define acciones preventivas/correctivas
|
||
10. [Sistema] Asigna responsables y plazos
|
||
11. [Coordinador] Genera informe oficial
|
||
12. [Sistema] Calcula KPIs (tasa de incidentes, días perdidos)
|
||
13. [Coordinador] Cierra incidente con verificación de medidas
|
||
```
|
||
|
||
### Flujo 4: Capacitación de Seguridad
|
||
|
||
```
|
||
1. [Coordinador] Programa sesión de capacitación
|
||
2. [Sistema] Identifica trabajadores que requieren la capacitación
|
||
3. [Sistema] Envía notificación de inscripción
|
||
4. [Día de sesión] [Instructor] Registra asistencia (QR o firma)
|
||
5. [Instructor] Imparte capacitación
|
||
6. [Instructor] Aplica evaluación de conocimientos
|
||
7. [Sistema] Registra calificaciones
|
||
8. [Sistema] Genera constancias para aprobados
|
||
9. [Sistema] Actualiza matriz de cumplimiento
|
||
10. [Sistema] Programa alerta de renovación (si aplica)
|
||
```
|
||
|
||
---
|
||
|
||
## Integraciones
|
||
|
||
### Integraciones con Módulos Backend
|
||
|
||
| Módulo | Relación | Datos Compartidos |
|
||
|--------|----------|-------------------|
|
||
| **MAI-001** Fundamentos | Consume datos de personal | Trabajadores, puestos, proyectos asignados |
|
||
| **MAI-002** Proyectos | Vincula inspecciones/incidentes a obras | Proyectos activos, ubicaciones, residentes |
|
||
| **MAI-004** Compras/Inventarios | Gestiona inventario de EPP | Stock de EPP, movimientos, proveedores |
|
||
| **MAI-007-RRHH** Asistencias | Complementa expediente laboral | Historial de capacitaciones, incidentes |
|
||
| **MGN-005** Catálogos | Consume catálogos generales | Tipos de EPP, tipos de capacitación |
|
||
| **MGN-007** Auditoría | Registra eventos críticos | Logs de incidentes, cambios de estado |
|
||
| **MGN-008** Notificaciones | Envía alertas y recordatorios | Notificaciones push, emails |
|
||
|
||
### Integraciones con Apps Móviles
|
||
|
||
#### MOB-003: App Supervisor
|
||
|
||
**Funcionalidades compartidas:**
|
||
- Verificación de uso de EPP en campo
|
||
- Ejecución de inspecciones de seguridad con checklist
|
||
- Reporte inmediato de incidentes con GPS y fotos
|
||
- Consulta de capacitaciones del personal
|
||
- Captura de evidencias fotográficas geolocalizadas
|
||
- **Modo offline:** Todas las funcionalidades disponibles sin conexión
|
||
- **Sincronización:** Automática al recuperar conexión
|
||
|
||
**Flujo de datos:**
|
||
```
|
||
App Móvil (MOB-003) <--> API REST (MAI-007) <--> PostgreSQL
|
||
|
|
||
v
|
||
AWS S3 (Fotos)
|
||
```
|
||
|
||
#### MOB-004: App Capataz
|
||
|
||
**Funcionalidades compartidas:**
|
||
- Reporte de incidentes de su cuadrilla
|
||
- Inspecciones básicas de seguridad
|
||
- Verificación de EPP de trabajadores bajo su cargo
|
||
- Consulta de checklist de seguridad
|
||
- Registro de asistencia a capacitaciones
|
||
|
||
**Características:**
|
||
- Interfaz simplificada para uso en campo
|
||
- Modo offline completo
|
||
- Sincronización en segundo plano
|
||
|
||
---
|
||
|
||
## Reutilización del Core ERP
|
||
|
||
**Porcentaje de reutilización:** 0% - Módulo vertical específico
|
||
|
||
**Justificación:**
|
||
- Módulo completamente nuevo especializado en construcción
|
||
- No existe equivalente en el core ERP genérico
|
||
- Cumple normativas específicas del sector construcción (NOM-STPS, OSHA)
|
||
- Integración profunda con apps móviles de campo
|
||
|
||
**Componentes reutilizados del core:**
|
||
- Sistema de autenticación y permisos (MGN-001)
|
||
- Catálogos generales (MGN-005)
|
||
- Sistema de auditoría (MGN-007)
|
||
- Sistema de notificaciones (MGN-008)
|
||
|
||
---
|
||
|
||
## Requerimientos Funcionales
|
||
|
||
| ID | Título | Descripción | Prioridad | SP |
|
||
|----|--------|-------------|-----------|----:|
|
||
| [RF-SEG-001](./requerimientos/RF-SEG-001-gestion-epp.md) | Gestión de EPP | Control de equipo de protección personal | Crítica | 13 |
|
||
| [RF-SEG-002](./requerimientos/RF-SEG-002-inspecciones-seguridad.md) | Inspecciones de Seguridad | Checklist, hallazgos y acciones correctivas | Crítica | 15 |
|
||
| [RF-SEG-003](./requerimientos/RF-SEG-003-reportes-incidentes.md) | Reportes de Incidentes | Registro, investigación y seguimiento | Crítica | 13 |
|
||
| [RF-SEG-004](./requerimientos/RF-SEG-004-capacitaciones-seguridad.md) | Capacitaciones de Seguridad | Programación, evaluación y seguimiento | Alta | 11 |
|
||
|
||
**Total Story Points:** 52 SP
|
||
|
||
---
|
||
|
||
## Indicadores Clave (KPIs)
|
||
|
||
### KPI 1: Tasa de Incidentes
|
||
- **Descripción:** Número de incidentes por cada 100,000 horas trabajadas
|
||
- **Fórmula:** `(Número de incidentes / Total horas trabajadas) × 100,000`
|
||
- **Target:** < 2.0
|
||
- **Actualización:** Diaria
|
||
|
||
### KPI 2: Cumplimiento de Inspecciones
|
||
- **Descripción:** Porcentaje de inspecciones realizadas vs programadas
|
||
- **Fórmula:** `(Inspecciones realizadas / Inspecciones programadas) × 100`
|
||
- **Target:** >= 95%
|
||
- **Actualización:** Semanal
|
||
|
||
### KPI 3: Tiempo de Cierre de Hallazgos
|
||
- **Descripción:** Días promedio para cerrar hallazgos de inspecciones
|
||
- **Fórmula:** `Promedio de días desde hallazgo hasta cierre`
|
||
- **Target:** <= 7 días
|
||
- **Actualización:** Diaria
|
||
|
||
### KPI 4: Cobertura de Capacitación
|
||
- **Descripción:** Porcentaje de trabajadores capacitados
|
||
- **Fórmula:** `(Trabajadores capacitados / Total trabajadores) × 100`
|
||
- **Target:** 100%
|
||
- **Actualización:** Mensual
|
||
|
||
### KPI 5: Cumplimiento de EPP
|
||
- **Descripción:** Porcentaje de trabajadores con EPP vigente
|
||
- **Fórmula:** `(Trabajadores con EPP vigente / Total trabajadores) × 100`
|
||
- **Target:** 100%
|
||
- **Actualización:** Diaria
|
||
|
||
---
|
||
|
||
## Roles y Permisos
|
||
|
||
| Rol | Permisos |
|
||
|-----|----------|
|
||
| **Coordinador de Seguridad** | Gestión completa del módulo, crear/modificar EPP, inspecciones, incidentes, aprobar acciones correctivas, generar todos los reportes |
|
||
| **Supervisor de Obra** | Realizar inspecciones, reportar incidentes, verificar EPP, consultar reportes de su obra |
|
||
| **Capataz** | Reportar incidentes, realizar inspecciones básicas, verificar EPP de su cuadrilla |
|
||
| **Residente de Obra** | Consultar inspecciones e incidentes de su proyecto, aprobar acciones correctivas |
|
||
| **Director General** | Visualizar todos los reportes y KPIs, recibir alertas de incidentes graves |
|
||
| **Trabajador** | Consultar su historial de EPP, consultar sus capacitaciones, reportar sugerencias de seguridad |
|
||
|
||
---
|
||
|
||
## Dependencias
|
||
|
||
### Dependencias Técnicas
|
||
|
||
**Módulos del Core ERP:**
|
||
- **MGN-001** (Usuarios y Autenticación): Sistema de login y permisos
|
||
- **MGN-005** (Catálogos): Catálogos de tipos de EPP y capacitaciones
|
||
- **MGN-007** (Auditoría): Registro de eventos críticos
|
||
- **MGN-008** (Notificaciones): Alertas y recordatorios
|
||
|
||
**Módulos de Construcción:**
|
||
- **MAI-001** (Fundamentos): Datos de trabajadores y proyectos
|
||
- **MAI-002** (Proyectos): Vinculación de inspecciones e incidentes a obras
|
||
- **MAI-004** (Compras/Inventarios): Control de inventario de EPP
|
||
- **MAI-007-RRHH** (Asistencias): Expediente laboral completo
|
||
|
||
**Apps Móviles:**
|
||
- **MOB-003** (App Supervisor): Inspecciones y reportes en campo
|
||
- **MOB-004** (App Capataz): Verificación de EPP y reportes básicos
|
||
|
||
### Dependencias de Infraestructura
|
||
|
||
- **PostgreSQL 14+**: Base de datos principal
|
||
- **Redis**: Caché para sincronización móvil
|
||
- **AWS S3 / Azure Blob**: Almacenamiento de fotografías
|
||
- **AWS SNS / Firebase**: Notificaciones push a móviles
|
||
- **WebSockets**: Sincronización en tiempo real
|
||
|
||
---
|
||
|
||
## Diagrama de Arquitectura
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ MÓDULO MAI-007: SEGURIDAD INDUSTRIAL │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌──────────────────────┐ ┌──────────────────────┐
|
||
│ APPS MÓVILES │ │ FRONTEND WEB │
|
||
│ │ │ │
|
||
│ ┌────────────────┐ │ │ ┌────────────────┐ │
|
||
│ │ MOB-003 │ │ │ │ Dashboard │ │
|
||
│ │ Supervisor │ │ │ │ Seguridad │ │
|
||
│ └────────────────┘ │ │ └────────────────┘ │
|
||
│ │ │ │
|
||
│ ┌────────────────┐ │ │ ┌────────────────┐ │
|
||
│ │ MOB-004 │ │ │ │ Gestión EPP │ │
|
||
│ │ Capataz │ │ │ └────────────────┘ │
|
||
│ └────────────────┘ │ │ │
|
||
│ │ │ ┌────────────────┐ │
|
||
│ - Modo Offline │ │ │ Inspecciones │ │
|
||
│ - GPS & Cámara │ │ └────────────────┘ │
|
||
│ - Sync Queue │ │ │
|
||
└──────────┬───────────┘ └──────────┬───────────┘
|
||
│ │
|
||
│ API REST / WebSockets │
|
||
└────────────────┬───────────────┘
|
||
│
|
||
┌─────────────▼──────────────┐
|
||
│ BACKEND - NestJS │
|
||
│ │
|
||
│ ┌──────────────────────┐ │
|
||
│ │ SafetyModule │ │
|
||
│ ├──────────────────────┤ │
|
||
│ │ - EppService │ │
|
||
│ │ - InspectionService │ │
|
||
│ │ - IncidentService │ │
|
||
│ │ - TrainingService │ │
|
||
│ │ - KpiService │ │
|
||
│ └──────────────────────┘ │
|
||
└─────────────┬──────────────┘
|
||
│
|
||
┌──────────────────┼──────────────────┐
|
||
│ │ │
|
||
┌────▼─────┐ ┌──────▼──────┐ ┌─────▼─────┐
|
||
│PostgreSQL│ │ AWS S3 │ │ Redis │
|
||
│ │ │ │ │ │
|
||
│ Schema: │ │ - Fotos EPP │ │ - Cache │
|
||
│ safety │ │ - Evidencias│ │ - Queue │
|
||
└──────────┘ │ - Reportes │ │ - Sync │
|
||
└─────────────┘ └───────────┘
|
||
│
|
||
│
|
||
┌────▼─────────────────────────────┐
|
||
│ INTEGRACIONES │
|
||
│ │
|
||
│ - MAI-001 (Personal) │
|
||
│ - MAI-002 (Proyectos) │
|
||
│ - MAI-004 (Inventarios) │
|
||
│ - MAI-007-RRHH (Asistencias) │
|
||
│ - MGN-007 (Auditoría) │
|
||
│ - MGN-008 (Notificaciones) │
|
||
└──────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## Stack Tecnológico
|
||
|
||
### Backend
|
||
```yaml
|
||
runtime: Node.js 20 LTS
|
||
framework: NestJS 10
|
||
language: TypeScript 5.3+
|
||
database: PostgreSQL 14+
|
||
orm: Prisma 5.x
|
||
cache: Redis 7.x
|
||
storage: AWS S3 / Azure Blob Storage
|
||
notifications: AWS SNS / Firebase Cloud Messaging
|
||
websockets: Socket.io
|
||
```
|
||
|
||
### Frontend Web
|
||
```yaml
|
||
framework: React 18
|
||
meta_framework: Next.js 14
|
||
language: TypeScript 5.3+
|
||
state: Zustand 4.x
|
||
ui_library: Material-UI 5.x / shadcn/ui
|
||
forms: React Hook Form + Zod
|
||
charts: Recharts / Chart.js
|
||
maps: Leaflet (para visualización de GPS)
|
||
```
|
||
|
||
### Apps Móviles
|
||
```yaml
|
||
framework: React Native 0.73+
|
||
platform: Expo 50
|
||
language: TypeScript 5.3+
|
||
state: Zustand 4.x
|
||
navigation: React Navigation 6.x
|
||
offline_storage: WatermelonDB
|
||
sync: Background Fetch + Queue
|
||
camera: expo-camera
|
||
location: expo-location
|
||
biometrics: expo-local-authentication
|
||
```
|
||
|
||
### Infraestructura
|
||
```yaml
|
||
hosting: AWS / Azure / Google Cloud
|
||
containers: Docker + Kubernetes (opcional)
|
||
ci_cd: GitHub Actions
|
||
monitoring: Sentry (errores), DataDog (métricas)
|
||
logs: CloudWatch / Azure Monitor
|
||
backups: Automated daily snapshots
|
||
```
|
||
|
||
---
|
||
|
||
## Normativas y Cumplimiento
|
||
|
||
### Normativas Mexicanas (NOM-STPS)
|
||
|
||
| Norma | Descripción | Aplicación |
|
||
|-------|-------------|------------|
|
||
| **NOM-031-STPS-2011** | Construcción - Condiciones de seguridad y salud | General - Todo el módulo |
|
||
| **NOM-017-STPS-2008** | Equipo de protección personal - Selección, uso y manejo | Gestión de EPP |
|
||
| **NOM-019-STPS-2011** | Comisiones de seguridad e higiene | Inspecciones de seguridad |
|
||
| **NOM-009-STPS-2011** | Trabajos en altura | Inspecciones de andamios y arneses |
|
||
| **NOM-030-STPS-2009** | Servicios preventivos de seguridad y salud | Capacitaciones |
|
||
|
||
### Estándares Internacionales
|
||
|
||
| Estándar | Descripción | Aplicación |
|
||
|----------|-------------|------------|
|
||
| **OSHA 1926** | Safety and Health Regulations for Construction | Referencia general |
|
||
| **ISO 45001** | Sistemas de gestión de la seguridad y salud en el trabajo | Arquitectura del módulo |
|
||
|
||
---
|
||
|
||
## Reportes
|
||
|
||
### REP-MAI-007-001: Dashboard de Seguridad
|
||
- **Frecuencia:** Diario / Tiempo real
|
||
- **Secciones:**
|
||
- Indicadores de incidentes (tasa, días perdidos)
|
||
- Estado de inspecciones (programadas vs realizadas)
|
||
- Hallazgos pendientes por nivel de riesgo
|
||
- Cumplimiento de EPP
|
||
- Capacitaciones próximas
|
||
- Gráficos de tendencias
|
||
|
||
### REP-MAI-007-002: Reporte de Incidentes
|
||
- **Frecuencia:** Mensual
|
||
- **Secciones:**
|
||
- Resumen de incidentes por tipo y gravedad
|
||
- Análisis de causas raíz
|
||
- Acciones correctivas implementadas
|
||
- Costos asociados (médicos, legales, operativos)
|
||
- Tendencias y recomendaciones
|
||
|
||
### REP-MAI-007-003: Matriz de Capacitación
|
||
- **Frecuencia:** Mensual
|
||
- **Secciones:**
|
||
- Capacitaciones vigentes por trabajador
|
||
- Capacitaciones próximas a vencer
|
||
- Capacitaciones pendientes
|
||
- Estadísticas de evaluación
|
||
- Cobertura por proyecto/área
|
||
|
||
### REP-MAI-007-004: Reporte de Inspecciones
|
||
- **Frecuencia:** Semanal
|
||
- **Secciones:**
|
||
- Inspecciones realizadas vs programadas
|
||
- Hallazgos por nivel de riesgo
|
||
- Acciones correctivas pendientes
|
||
- Tendencias de cumplimiento
|
||
- Áreas críticas identificadas
|
||
|
||
---
|
||
|
||
## Roadmap de Implementación
|
||
|
||
### Fase 1: Gestión de EPP (4 semanas) - Sprint 11
|
||
**Story Points:** 13 SP
|
||
|
||
**Entregables:**
|
||
- Catálogo de tipos de EPP con especificaciones
|
||
- Control de inventario de EPP
|
||
- Asignación de EPP a trabajadores
|
||
- Generación de actas de entrega
|
||
- Alertas de renovación
|
||
- Integración con app móvil para verificación (MOB-003)
|
||
|
||
**Hitos:**
|
||
- Sistema de EPP operativo
|
||
- Primeros trabajadores con EPP asignado
|
||
- Verificaciones desde app móvil funcionando
|
||
|
||
### Fase 2: Inspecciones de Seguridad (5 semanas) - Sprint 12
|
||
**Story Points:** 15 SP
|
||
|
||
**Entregables:**
|
||
- Constructor de plantillas de checklist
|
||
- Programador de inspecciones
|
||
- App móvil para ejecución de inspecciones (MOB-003, MOB-004)
|
||
- Captura de fotos y GPS
|
||
- Gestión de hallazgos con clasificación de riesgo
|
||
- Sistema de acciones correctivas
|
||
- Dashboard de inspecciones
|
||
|
||
**Hitos:**
|
||
- Primeras inspecciones realizadas desde móvil
|
||
- Sistema de hallazgos y acciones correctivas operativo
|
||
- Modo offline funcional
|
||
|
||
### Fase 3: Reportes de Incidentes (4 semanas) - Sprint 12-13
|
||
**Story Points:** 13 SP
|
||
|
||
**Entregables:**
|
||
- Formulario de reporte inmediato en app móvil
|
||
- Sistema de investigación de causas
|
||
- Análisis de Ishikawa
|
||
- Registro de costos y días perdidos
|
||
- Seguimiento de acciones preventivas
|
||
- Generación de informes oficiales
|
||
- Dashboard de estadísticas
|
||
|
||
**Hitos:**
|
||
- Sistema de reporte de incidentes operativo
|
||
- Primeras investigaciones documentadas
|
||
- KPIs de seguridad calculándose automáticamente
|
||
|
||
### Fase 4: Capacitaciones (3 semanas) - Sprint 13
|
||
**Story Points:** 11 SP
|
||
|
||
**Entregables:**
|
||
- Catálogo de capacitaciones de seguridad
|
||
- Programador de sesiones
|
||
- Registro de asistencia (firma/QR)
|
||
- Sistema de evaluaciones
|
||
- Generador de constancias
|
||
- Matriz de cumplimiento
|
||
- Alertas de renovación
|
||
|
||
**Hitos:**
|
||
- Primera capacitación registrada en el sistema
|
||
- Constancias generadas automáticamente
|
||
- Matriz de cumplimiento completa
|
||
|
||
---
|
||
|
||
## Puntos Críticos
|
||
|
||
### Riesgos Técnicos
|
||
|
||
| Riesgo | Probabilidad | Impacto | Mitigación |
|
||
|--------|--------------|---------|------------|
|
||
| **Sincronización móvil-backend** | Media | Alto | Queue robusta, conflict resolution, tests exhaustivos |
|
||
| **Pérdida de datos en modo offline** | Baja | Crítico | WatermelonDB con persistencia local, sync automático |
|
||
| **GPS impreciso en interiores** | Alta | Medio | Permitir corrección manual, usar último GPS conocido |
|
||
| **Fotos de gran tamaño** | Media | Medio | Compresión automática, límite de tamaño, carga en background |
|
||
|
||
### Riesgos de Negocio
|
||
|
||
| Riesgo | Probabilidad | Impacto | Mitigación |
|
||
|--------|--------------|---------|------------|
|
||
| **Resistencia al cambio** | Alta | Alto | Capacitación intensiva, beneficios claros, gamificación |
|
||
| **Incumplimiento normativo** | Baja | Crítico | Validación con expertos, auditorías previas al lanzamiento |
|
||
| **Falta de evidencia en inspecciones** | Media | Alto | Hacer obligatorias fotos en hallazgos críticos |
|
||
| **Subregistro de incidentes** | Media | Alto | Cultura de seguridad, incentivos por reporte, anonimato opcional |
|
||
|
||
---
|
||
|
||
## Métricas de Éxito
|
||
|
||
### Indicadores Operacionales
|
||
|
||
| Métrica | Target | Medición |
|
||
|---------|--------|----------|
|
||
| **Adopción de app móvil** | >90% de supervisores usando MOB-003 | Porcentaje de usuarios activos |
|
||
| **Tiempo de reporte de incidente** | <15 minutos desde ocurrencia | Timestamp de incidente vs timestamp de reporte |
|
||
| **Cumplimiento de inspecciones** | >=95% | Inspecciones realizadas / Programadas |
|
||
| **Tiempo de cierre de hallazgos críticos** | <=48 horas | Promedio de horas desde hallazgo hasta cierre |
|
||
| **Cobertura de capacitación** | 100% | Trabajadores capacitados / Total trabajadores |
|
||
|
||
### Indicadores de Seguridad
|
||
|
||
| Métrica | Target | Medición |
|
||
|---------|--------|----------|
|
||
| **Reducción de incidentes** | -30% vs año anterior | Comparación año sobre año |
|
||
| **Tasa de incidentes** | <2.0 por 100K horas | (Incidentes / Horas trabajadas) × 100,000 |
|
||
| **Días sin incidentes** | >90 días consecutivos | Contador desde último incidente |
|
||
| **Cumplimiento normativo** | 100% en auditorías | Porcentaje de conformidad en auditorías STPS |
|
||
|
||
---
|
||
|
||
## Próximos Pasos
|
||
|
||
### Fase de Documentación
|
||
1. README.md completado
|
||
2. Crear 4 Requerimientos Funcionales (RF-SEG-001 a RF-SEG-004)
|
||
3. Crear Especificaciones Técnicas
|
||
4. Crear Historias de Usuario (12 US estimadas)
|
||
5. Actualizar TRACEABILITY.yml
|
||
|
||
### Fase de Diseño
|
||
1. Diseño de base de datos detallado
|
||
2. Diseño de APIs REST
|
||
3. Mockups de interfaces web
|
||
4. Prototipos de apps móviles
|
||
5. Arquitectura de sincronización offline
|
||
|
||
### Fase de Desarrollo
|
||
- **Sprint 11:** Gestión de EPP (4 semanas)
|
||
- **Sprint 12:** Inspecciones de Seguridad (5 semanas)
|
||
- **Sprint 12-13:** Reportes de Incidentes (4 semanas)
|
||
- **Sprint 13:** Capacitaciones (3 semanas)
|
||
|
||
---
|
||
|
||
## Referencias
|
||
|
||
- **Trazabilidad del módulo:** [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml)
|
||
- **Apps móviles:** [EPIC-MAI-019-mobile-apps.md](../../08-epicas/EPIC-MAI-019-mobile-apps.md)
|
||
- **Normativas NOM-STPS:** [www.stps.gob.mx](https://www.stps.gob.mx)
|
||
- **OSHA Construction Standards:** [www.osha.gov/construction](https://www.osha.gov/construction)
|
||
- **Fase de módulos:** [../README.md](../README.md)
|
||
|
||
---
|
||
|
||
**Generado:** 2025-12-06
|
||
**Versión:** 1.0
|
||
**Estado:** Completo
|
||
**Reutilización del Core ERP:** 0% - Módulo vertical específico de construcción
|
||
**Mantenedores:** @safety-team @mobile-team @backend-team
|