513 lines
20 KiB
Markdown
513 lines
20 KiB
Markdown
# RF-MAA017-002: Control de Capacitaciones
|
|
|
|
**Épica:** MAA-017 - Seguridad HSE
|
|
**Versión:** 1.0
|
|
**Fecha:** 2025-12-06
|
|
**Responsable:** Requirements-Analyst
|
|
|
|
---
|
|
|
|
## 1. Descripción General
|
|
|
|
Sistema integral para la gestión de capacitaciones de seguridad industrial, salud ocupacional y medio ambiente. Permite programar, ejecutar, registrar asistencia y generar constancias oficiales (DC-3, DC-4) conforme a la normativa STPS.
|
|
|
|
### Objetivos
|
|
- Asegurar que el 100% del personal cuente con capacitación requerida
|
|
- Cumplir con normativas STPS (NOM-030, NOM-017, NOM-009)
|
|
- Generar constancias DC-3 válidas ante autoridades
|
|
- Mantener trazabilidad de competencias del personal
|
|
|
|
---
|
|
|
|
## 2. Alcance Funcional
|
|
|
|
### 2.1 Catálogo de Capacitaciones
|
|
|
|
**Tipos de Capacitación:**
|
|
```
|
|
├── Inducción General
|
|
│ ├── Inducción empresa (obligatoria día 1)
|
|
│ ├── Inducción obra específica
|
|
│ └── Inducción subcontratistas
|
|
├── Seguridad Industrial
|
|
│ ├── Trabajos en altura (NOM-009)
|
|
│ ├── Espacios confinados (NOM-033)
|
|
│ ├── Trabajo en caliente
|
|
│ ├── Manejo de materiales peligrosos
|
|
│ ├── Bloqueo y etiquetado (LOTO)
|
|
│ └── Uso de EPP (NOM-017)
|
|
├── Primeros Auxilios
|
|
│ ├── RCP básico
|
|
│ ├── Primeros auxilios nivel 1
|
|
│ └── Brigadas de emergencia
|
|
├── Prevención de Riesgos
|
|
│ ├── Identificación de peligros (IPER)
|
|
│ ├── Análisis de seguridad en el trabajo (AST)
|
|
│ └── Reporte de condiciones inseguras
|
|
└── Medio Ambiente
|
|
├── Manejo de residuos
|
|
├── Ahorro de agua y energía
|
|
└── Respuesta a derrames
|
|
```
|
|
|
|
**Atributos de Capacitación:**
|
|
```
|
|
- Código único (CAP-{tipo}-{consecutivo})
|
|
- Nombre
|
|
- Descripción
|
|
- Duración (horas)
|
|
- Modalidad: presencial, virtual, mixta
|
|
- Vigencia (meses)
|
|
- Normativa aplicable (NOM referencia)
|
|
- Requiere evaluación: sí/no
|
|
- Puntaje mínimo aprobatorio: 0-100
|
|
- Requiere práctica: sí/no
|
|
- Instructor requerido: interno/externo/certificado
|
|
- Costo estimado por persona
|
|
- Materiales requeridos
|
|
```
|
|
|
|
### 2.2 Programación de Capacitaciones
|
|
|
|
**Matriz de Capacitación por Puesto:**
|
|
```
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
│ Puesto │ Inducción │ Altura │ EPP │ P.Aux │ Freq │
|
|
├─────────────────────┼───────────┼────────┼─────┼───────┼────────┤
|
|
│ Residente de obra │ ● │ ● │ ● │ ● │ Anual │
|
|
│ Supervisor │ ● │ ● │ ● │ ● │ Anual │
|
|
│ Oficial albañil │ ● │ ● │ ● │ ○ │ Anual │
|
|
│ Oficial electricista│ ● │ ● │ ● │ ○ │ Anual │
|
|
│ Ayudante general │ ● │ ○ │ ● │ ○ │ Anual │
|
|
│ Operador maquinaria │ ● │ ○ │ ● │ ● │ Anual │
|
|
│ Almacenista │ ● │ ○ │ ● │ ○ │ Anual │
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
● Obligatoria ○ Opcional/Recomendada
|
|
```
|
|
|
|
**Programación de Sesiones:**
|
|
```
|
|
Sesión de Capacitación:
|
|
- ID único
|
|
- Capacitación (FK)
|
|
- Fraccionamiento/Obra
|
|
- Fecha y hora inicio
|
|
- Fecha y hora fin
|
|
- Lugar (aula, obra, virtual)
|
|
- Instructor (interno/externo)
|
|
- Cupo máximo
|
|
- Cupo disponible
|
|
- Estado: programada, en_curso, completada, cancelada
|
|
- Costo real
|
|
- Observaciones
|
|
```
|
|
|
|
### 2.3 Registro de Asistencia
|
|
|
|
**Proceso de Registro:**
|
|
1. Lista de asistencia digital (tablet/móvil)
|
|
2. Firma electrónica del participante
|
|
3. Foto de evidencia (opcional)
|
|
4. Hora de entrada/salida
|
|
5. Validación biométrica (opcional)
|
|
|
|
**Estados de Participante:**
|
|
- Inscrito
|
|
- Asistió
|
|
- No asistió (justificado/injustificado)
|
|
- Aprobado
|
|
- Reprobado
|
|
- Pendiente evaluación
|
|
|
|
### 2.4 Evaluación de Conocimientos
|
|
|
|
**Tipos de Evaluación:**
|
|
```
|
|
├── Examen teórico
|
|
│ ├── Opción múltiple (10-20 preguntas)
|
|
│ ├── Verdadero/Falso
|
|
│ └── Casos prácticos
|
|
├── Evaluación práctica
|
|
│ ├── Demostración de habilidades
|
|
│ ├── Simulacro
|
|
│ └── Checklist de competencias
|
|
└── Evaluación combinada
|
|
└── Teoría (60%) + Práctica (40%)
|
|
```
|
|
|
|
**Banco de Preguntas:**
|
|
```
|
|
Pregunta:
|
|
- Capacitación (FK)
|
|
- Texto de pregunta
|
|
- Tipo: multiple, boolean, open
|
|
- Opciones (si aplica)
|
|
- Respuesta correcta
|
|
- Puntos
|
|
- Nivel: básico, intermedio, avanzado
|
|
- Activa: sí/no
|
|
```
|
|
|
|
### 2.5 Constancias DC-3
|
|
|
|
**Formato DC-3 (STPS):**
|
|
```
|
|
┌────────────────────────────────────────────────────────────────┐
|
|
│ CONSTANCIA DE COMPETENCIAS O HABILIDADES LABORALES │
|
|
│ FORMATO DC-3 │
|
|
├────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ DATOS DEL TRABAJADOR │
|
|
│ Nombre: ________________________________________________ │
|
|
│ CURP: __________________________________________________ │
|
|
│ Puesto: ________________________________________________ │
|
|
│ Empresa: _______________________________________________ │
|
|
│ │
|
|
│ DATOS DE LA CAPACITACIÓN │
|
|
│ Nombre del curso: ______________________________________ │
|
|
│ Duración: _______ horas │
|
|
│ Período: Del __________ al __________ │
|
|
│ Área temática: _________________________________________ │
|
|
│ │
|
|
│ DATOS DEL INSTRUCTOR │
|
|
│ Nombre: ________________________________________________ │
|
|
│ Registro STPS: _________________________________________ │
|
|
│ │
|
|
│ DATOS DEL REPRESENTANTE LEGAL │
|
|
│ Nombre: ________________________________________________ │
|
|
│ Cargo: _________________________________________________ │
|
|
│ │
|
|
│ Lugar y fecha: _________________, a __ de _______ de 20__ │
|
|
│ │
|
|
│ │
|
|
│ _____________________ _____________________ │
|
|
│ Firma del Instructor Firma Rep. Legal │
|
|
│ │
|
|
│ Folio: DC3-2025-XXXXX │
|
|
└────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**Generación Automática:**
|
|
- Al aprobar capacitación
|
|
- Datos pre-llenados del sistema
|
|
- Folio único secuencial por año
|
|
- PDF firmable electrónicamente
|
|
- QR de verificación
|
|
|
|
### 2.6 Vencimientos y Renovaciones
|
|
|
|
**Alertas Automáticas:**
|
|
```
|
|
Días antes de vencimiento → Acción
|
|
90 días → Notificación preventiva
|
|
60 días → Alerta a supervisor
|
|
30 días → Alerta a RRHH + empleado
|
|
15 días → Escalamiento a gerencia
|
|
0 días → Bloqueo de acceso a obra (configurable)
|
|
```
|
|
|
|
**Dashboard de Vencimientos:**
|
|
```
|
|
┌────────────────────────────────────────────────────────────────┐
|
|
│ PRÓXIMOS VENCIMIENTOS - Diciembre 2025 │
|
|
├────────────────────────────────────────────────────────────────┤
|
|
│ 🔴 Vencidos (5) │
|
|
│ • Juan Pérez - Trabajo en altura - Venció 01/12/2025 │
|
|
│ • María López - EPP - Venció 28/11/2025 │
|
|
│ │
|
|
│ 🟡 Próximos 30 días (12) │
|
|
│ • Carlos Ruiz - Primeros auxilios - Vence 15/12/2025 │
|
|
│ • Ana García - Espacios confinados - Vence 20/12/2025 │
|
|
│ │
|
|
│ 🟢 Vigentes (145) │
|
|
│ • 95% del personal al día │
|
|
└────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Modelo de Datos
|
|
|
|
```typescript
|
|
// Tabla: hse.capacitaciones (catálogo)
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
code: VARCHAR(20) UNIQUE,
|
|
name: VARCHAR(200),
|
|
description: TEXT,
|
|
duration_hours: DECIMAL(4,1),
|
|
modality: ENUM('presencial', 'virtual', 'mixta'),
|
|
validity_months: INTEGER,
|
|
norm_reference: VARCHAR(50), // NOM-009-STPS-2011
|
|
requires_evaluation: BOOLEAN,
|
|
min_passing_score: INTEGER, // 0-100
|
|
requires_practice: BOOLEAN,
|
|
instructor_type: ENUM('interno', 'externo', 'certificado'),
|
|
estimated_cost: DECIMAL(10,2),
|
|
materials: TEXT,
|
|
is_mandatory: BOOLEAN,
|
|
applicable_positions: TEXT[], // Array de puestos
|
|
created_at: TIMESTAMP,
|
|
created_by: UUID,
|
|
updated_at: TIMESTAMP,
|
|
is_active: BOOLEAN
|
|
}
|
|
|
|
// Tabla: hse.capacitacion_sesiones
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
capacitacion_id: UUID FK,
|
|
fraccionamiento_id: UUID FK,
|
|
session_date: DATE,
|
|
start_time: TIME,
|
|
end_time: TIME,
|
|
location: VARCHAR(200),
|
|
location_type: ENUM('aula', 'obra', 'virtual'),
|
|
instructor_id: UUID, // Puede ser empleado o externo
|
|
instructor_name: VARCHAR(200),
|
|
instructor_stps_registration: VARCHAR(50),
|
|
max_capacity: INTEGER,
|
|
current_enrollment: INTEGER,
|
|
status: ENUM('programada', 'en_curso', 'completada', 'cancelada'),
|
|
actual_cost: DECIMAL(10,2),
|
|
notes: TEXT,
|
|
created_at: TIMESTAMP,
|
|
created_by: UUID
|
|
}
|
|
|
|
// Tabla: hse.capacitacion_asistentes
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
sesion_id: UUID FK,
|
|
employee_id: UUID FK,
|
|
enrollment_date: TIMESTAMP,
|
|
attendance_status: ENUM('inscrito', 'asistio', 'no_asistio', 'justificado'),
|
|
check_in_time: TIMESTAMP,
|
|
check_out_time: TIMESTAMP,
|
|
signature_url: VARCHAR(500),
|
|
photo_url: VARCHAR(500),
|
|
evaluation_score: INTEGER,
|
|
evaluation_status: ENUM('pendiente', 'aprobado', 'reprobado'),
|
|
certificate_number: VARCHAR(30),
|
|
certificate_date: DATE,
|
|
valid_until: DATE,
|
|
notes: TEXT,
|
|
created_at: TIMESTAMP
|
|
}
|
|
|
|
// Tabla: hse.constancias_dc3
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
asistente_id: UUID FK,
|
|
folio: VARCHAR(20) UNIQUE, // DC3-2025-00001
|
|
employee_name: VARCHAR(200),
|
|
employee_curp: VARCHAR(18),
|
|
employee_position: VARCHAR(100),
|
|
course_name: VARCHAR(200),
|
|
course_duration: DECIMAL(4,1),
|
|
course_start_date: DATE,
|
|
course_end_date: DATE,
|
|
thematic_area: VARCHAR(100),
|
|
instructor_name: VARCHAR(200),
|
|
instructor_stps_reg: VARCHAR(50),
|
|
legal_rep_name: VARCHAR(200),
|
|
legal_rep_position: VARCHAR(100),
|
|
issue_place: VARCHAR(100),
|
|
issue_date: DATE,
|
|
pdf_url: VARCHAR(500),
|
|
qr_verification_code: VARCHAR(50),
|
|
is_valid: BOOLEAN,
|
|
invalidation_reason: TEXT,
|
|
created_at: TIMESTAMP,
|
|
created_by: UUID
|
|
}
|
|
|
|
// Tabla: hse.evaluacion_preguntas
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
capacitacion_id: UUID FK,
|
|
question_text: TEXT,
|
|
question_type: ENUM('multiple', 'boolean', 'open'),
|
|
options: JSONB, // [{text, is_correct}, ...]
|
|
correct_answer: TEXT,
|
|
points: INTEGER,
|
|
difficulty: ENUM('basico', 'intermedio', 'avanzado'),
|
|
is_active: BOOLEAN,
|
|
created_at: TIMESTAMP
|
|
}
|
|
|
|
// Tabla: hse.evaluacion_respuestas
|
|
{
|
|
id: UUID,
|
|
tenant_id: UUID,
|
|
asistente_id: UUID FK,
|
|
pregunta_id: UUID FK,
|
|
answer_given: TEXT,
|
|
is_correct: BOOLEAN,
|
|
points_earned: INTEGER,
|
|
answered_at: TIMESTAMP
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Casos de Uso
|
|
|
|
### CU-001: Programar Sesión de Capacitación
|
|
**Actor:** Coordinador HSE
|
|
**Flujo:**
|
|
1. Accede a "Programar Capacitación"
|
|
2. Selecciona capacitación del catálogo
|
|
3. Define:
|
|
- Obra/Fraccionamiento
|
|
- Fecha y hora
|
|
- Lugar (aula o virtual)
|
|
- Instructor
|
|
- Cupo máximo
|
|
4. Sistema valida disponibilidad de instructor
|
|
5. Guarda sesión con estado "Programada"
|
|
6. Notifica a supervisores de obra
|
|
|
|
### CU-002: Registrar Asistencia
|
|
**Actor:** Instructor / Supervisor
|
|
**Flujo:**
|
|
1. Abre sesión en tablet
|
|
2. Lista de inscritos aparece
|
|
3. Por cada asistente:
|
|
- Marca presente/ausente
|
|
- Captura firma digital
|
|
- Registra hora de entrada
|
|
4. Al finalizar:
|
|
- Registra hora de salida de todos
|
|
- Captura foto grupal (evidencia)
|
|
5. Cierra registro de asistencia
|
|
|
|
### CU-003: Aplicar Evaluación
|
|
**Actor:** Instructor
|
|
**Flujo:**
|
|
1. Inicia evaluación de sesión
|
|
2. Sistema genera examen:
|
|
- Selecciona preguntas aleatorias del banco
|
|
- 10 preguntas de opción múltiple
|
|
3. Participantes responden en tablet/móvil
|
|
4. Al terminar:
|
|
- Sistema califica automáticamente
|
|
- Muestra resultados
|
|
- Marca aprobados/reprobados
|
|
5. Genera constancias DC-3 para aprobados
|
|
|
|
### CU-004: Generar Constancia DC-3
|
|
**Actor:** Sistema (automático)
|
|
**Flujo:**
|
|
1. Participante aprueba evaluación
|
|
2. Sistema genera:
|
|
- Folio único: DC3-2025-00001
|
|
- PDF con datos completos
|
|
- Código QR de verificación
|
|
3. Almacena en repositorio
|
|
4. Envía por email al participante
|
|
5. Notifica a RRHH
|
|
|
|
### CU-005: Consultar Vencimientos
|
|
**Actor:** Gerente RRHH
|
|
**Flujo:**
|
|
1. Accede a "Dashboard de Capacitación"
|
|
2. Visualiza:
|
|
- Capacitaciones vencidas (rojo)
|
|
- Por vencer 30 días (amarillo)
|
|
- Vigentes (verde)
|
|
3. Filtra por:
|
|
- Obra
|
|
- Tipo de capacitación
|
|
- Supervisor
|
|
4. Exporta reporte Excel
|
|
5. Programa sesiones de renovación
|
|
|
|
---
|
|
|
|
## 5. Interfaces de Usuario
|
|
|
|
### Vista: Catálogo de Capacitaciones
|
|
```
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
│ Catálogo de Capacitaciones [+ Nueva] [⚙] │
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
│ 🔍 Buscar: [________________________] [🔎] │
|
|
│ Tipo: [Todos ▼] Modalidad: [Todos ▼] Estado: [Activas ▼] │
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
│ Código │ Nombre │ Horas │ Vigencia │ ⋮ │
|
|
├────────────┼───────────────────────────┼───────┼──────────┼────┤
|
|
│ CAP-IND-01 │ Inducción General │ 4h │ 12 meses │ ⋮ │
|
|
│ CAP-ALT-01 │ Trabajo en Altura NOM-009 │ 8h │ 12 meses │ ⋮ │
|
|
│ CAP-EPP-01 │ Uso de EPP NOM-017 │ 2h │ 12 meses │ ⋮ │
|
|
│ CAP-PAU-01 │ Primeros Auxilios Básico │ 8h │ 24 meses │ ⋮ │
|
|
│ CAP-ESP-01 │ Espacios Confinados │ 8h │ 12 meses │ ⋮ │
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### Vista: Registro de Asistencia (Tablet)
|
|
```
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
│ Trabajo en Altura NOM-009 Fecha: 06/12/2025 14:00 │
|
|
│ Instructor: Ing. Roberto Sánchez Obra: Fracc. Los Pinos │
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌────┬─────────────────────────┬──────────┬─────────┬────────┐ │
|
|
│ │ # │ Nombre │ Puesto │ Entrada │ Firma │ │
|
|
│ ├────┼─────────────────────────┼──────────┼─────────┼────────┤ │
|
|
│ │ 1 │ Juan Pérez García │ Oficial │ 14:02 │ ✓ │ │
|
|
│ │ 2 │ María López Ruiz │ Ayudante │ 14:05 │ ✓ │ │
|
|
│ │ 3 │ Carlos Hernández │ Oficial │ --:-- │ - │ │
|
|
│ │ 4 │ Ana Martínez │ Superv. │ 14:01 │ ✓ │ │
|
|
│ └────┴─────────────────────────┴──────────┴─────────┴────────┘ │
|
|
│ │
|
|
│ Asistencia: 3/4 (75%) │
|
|
│ │
|
|
│ [Agregar Participante] [Cerrar Asistencia] │
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 6. Reglas de Negocio
|
|
|
|
1. **Inducción obligatoria**: Todo trabajador nuevo debe completar inducción antes de ingresar a obra
|
|
2. **Vigencia estricta**: Personal con capacitación vencida no puede realizar trabajos de alto riesgo
|
|
3. **Instructor certificado**: Capacitaciones de NOM requieren instructor con registro STPS
|
|
4. **Evaluación requerida**: Capacitaciones de seguridad requieren evaluación con mínimo 80%
|
|
5. **DC-3 único**: Un trabajador solo puede tener una DC-3 vigente por capacitación
|
|
6. **Asistencia mínima**: Se requiere 90% de asistencia para aprobar
|
|
|
|
---
|
|
|
|
## 7. Criterios de Aceptación
|
|
|
|
- [ ] Catálogo de capacitaciones con todos los atributos
|
|
- [ ] Programación de sesiones con validación de disponibilidad
|
|
- [ ] Registro de asistencia digital con firma
|
|
- [ ] Evaluación automática de conocimientos
|
|
- [ ] Generación de constancias DC-3 en PDF
|
|
- [ ] Dashboard de vencimientos con alertas
|
|
- [ ] Matriz de capacitación por puesto
|
|
- [ ] Reportes de cumplimiento por obra
|
|
- [ ] Integración con módulo RRHH (empleados)
|
|
- [ ] Notificaciones automáticas de vencimiento
|
|
|
|
---
|
|
|
|
## 8. Métricas de Éxito
|
|
|
|
- **Cobertura**: 100% del personal con inducción completada
|
|
- **Cumplimiento**: >95% de capacitaciones al día
|
|
- **Eficiencia**: Generación de DC-3 en <5 minutos
|
|
- **Trazabilidad**: 100% de capacitaciones con evidencia
|
|
|
|
---
|
|
|
|
**Estado:** ✅ Ready for Development
|