erp-construccion/docs/02-definicion-modulos/MAI-006-calidad/_MAP.md

663 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# _MAP: MAI-006 - Calidad
**Épica:** MAI-006
**Nombre:** Calidad
**Fase:** 1 - Alcance Inicial
**Presupuesto:** $25,000 MXN
**Story Points:** 45 SP
**Estado:** 📝 A crear
**Sprint:** Sprint 11-12 (Semanas 16.5-19)
**Prioridad:** P1
**Última actualización:** 2025-12-06
---
## 📋 Propósito
Implementar sistema completo de gestión de calidad en obra con:
- **Inspecciones de calidad** con checklists configurables
- **Reportes de no conformidad (RNC)** con workflow de resolución
- **Pruebas de laboratorio** (concreto, suelos, materiales)
- **Certificaciones y aprobaciones** (clientes, supervisores externos)
- **Integración con apps móviles** MOB-003 (Supervisor) y MOB-004 (Capataz)
- **Trazabilidad completa** por vivienda/frente de obra
**Justificación:** El control de calidad es crítico para cumplimiento con normativas de construcción, certificación INFONAVIT, y garantía de entrega de viviendas sin defectos. Reduce costos de corrección y rework en postventa.
**Reutilización GAMILIT:** 10% (concepto básico de checklist, adaptado extensivamente)
---
## 📁 Contenido
### Requerimientos Funcionales (5)
| ID | Archivo | Título | Estado |
|----|---------|--------|--------|
| RF-QUA-001 | [RF-QUA-001-inspecciones-calidad.md](./requerimientos/RF-QUA-001-inspecciones-calidad.md) | Sistema de Inspecciones de Calidad | 📝 A crear |
| RF-QUA-002 | [RF-QUA-002-no-conformidades.md](./requerimientos/RF-QUA-002-no-conformidades.md) | Reportes de No Conformidad (RNC) | 📝 A crear |
| RF-QUA-003 | [RF-QUA-003-pruebas-laboratorio.md](./requerimientos/RF-QUA-003-pruebas-laboratorio.md) | Pruebas de Laboratorio | 📝 A crear |
| RF-QUA-004 | [RF-QUA-004-certificaciones.md](./requerimientos/RF-QUA-004-certificaciones.md) | Certificaciones y Aprobaciones | 📝 A crear |
| RF-QUA-005 | [RF-QUA-005-trazabilidad-vivienda.md](./requerimientos/RF-QUA-005-trazabilidad-vivienda.md) | Trazabilidad de Calidad por Vivienda | 📝 A crear |
### Especificaciones Técnicas (5)
| ID | Archivo | Título | RF | Estado |
|----|---------|--------|-------|--------|
| ET-QUA-001 | [ET-QUA-001-modelo-inspecciones.md](./especificaciones/ET-QUA-001-modelo-inspecciones.md) | Modelo de Datos de Inspecciones | RF-QUA-001 | 📝 A crear |
| ET-QUA-002 | [ET-QUA-002-workflow-rnc.md](./especificaciones/ET-QUA-002-workflow-rnc.md) | Workflow de No Conformidades | RF-QUA-002 | 📝 A crear |
| ET-QUA-003 | [ET-QUA-003-integracion-laboratorio.md](./especificaciones/ET-QUA-003-integracion-laboratorio.md) | Integración con Laboratorio | RF-QUA-003 | 📝 A crear |
| ET-QUA-004 | [ET-QUA-004-sistema-certificaciones.md](./especificaciones/ET-QUA-004-sistema-certificaciones.md) | Sistema de Certificaciones | RF-QUA-004 | 📝 A crear |
| ET-QUA-005 | [ET-QUA-005-integracion-apps-moviles.md](./especificaciones/ET-QUA-005-integracion-apps-moviles.md) | Integración MOB-003 y MOB-004 | RF-QUA-001, RF-QUA-002 | 📝 A crear |
### Historias de Usuario (9)
| ID | Archivo | Título | SP | Estado |
|----|---------|--------|----|--------|
| US-QUA-001 | [US-QUA-001-crear-checklist-inspeccion.md](./historias-usuario/US-QUA-001-crear-checklist-inspeccion.md) | Crear Checklist de Inspección | 5 | 📝 A crear |
| US-QUA-002 | [US-QUA-002-realizar-inspeccion-movil.md](./historias-usuario/US-QUA-002-realizar-inspeccion-movil.md) | Realizar Inspección desde App Móvil | 8 | 📝 A crear |
| US-QUA-003 | [US-QUA-003-registrar-no-conformidad.md](./historias-usuario/US-QUA-003-registrar-no-conformidad.md) | Registrar Reporte de No Conformidad | 5 | 📝 A crear |
| US-QUA-004 | [US-QUA-004-workflow-resolucion-rnc.md](./historias-usuario/US-QUA-004-workflow-resolucion-rnc.md) | Workflow de Resolución de RNC | 5 | 📝 A crear |
| US-QUA-005 | [US-QUA-005-solicitar-prueba-laboratorio.md](./historias-usuario/US-QUA-005-solicitar-prueba-laboratorio.md) | Solicitar Prueba de Laboratorio | 3 | 📝 A crear |
| US-QUA-006 | [US-QUA-006-registrar-resultados-laboratorio.md](./historias-usuario/US-QUA-006-registrar-resultados-laboratorio.md) | Registrar Resultados de Laboratorio | 5 | 📝 A crear |
| US-QUA-007 | [US-QUA-007-generar-certificacion.md](./historias-usuario/US-QUA-007-generar-certificacion.md) | Generar Certificación de Calidad | 5 | 📝 A crear |
| US-QUA-008 | [US-QUA-008-dashboard-calidad.md](./historias-usuario/US-QUA-008-dashboard-calidad.md) | Dashboard de Calidad y KPIs | 5 | 📝 A crear |
| US-QUA-009 | [US-QUA-009-historial-calidad-vivienda.md](./historias-usuario/US-QUA-009-historial-calidad-vivienda.md) | Historial de Calidad por Vivienda | 4 | 📝 A crear |
**Total Story Points:** 45 SP
### Implementación
📊 **Inventarios de trazabilidad:**
- [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml) - Matriz completa de trazabilidad
- [DATABASE.yml](./implementacion/DATABASE.yml) - Objetos de base de datos
- [BACKEND.yml](./implementacion/BACKEND.yml) - Módulos backend
- [FRONTEND.yml](./implementacion/FRONTEND.yml) - Componentes frontend
- [MOBILE.yml](./implementacion/MOBILE.yml) - Integración con MOB-003 y MOB-004
### Pruebas
📋 Documentación de testing:
- [TEST-PLAN.md](./pruebas/TEST-PLAN.md) - Plan de pruebas
- [TEST-CASES.md](./pruebas/TEST-CASES.md) - Casos de prueba
- [INTEGRATION-TESTS.md](./pruebas/INTEGRATION-TESTS.md) - Tests de integración con apps móviles
---
## 🔗 Referencias
- **README:** [README.md](./README.md) - Descripción detallada de la épica
- **Fase 1:** [../README.md](../README.md) - Información de la fase completa
- **Apps Móviles:** [../../08-epicas/EPIC-MAI-019-mobile-apps.md](../../08-epicas/EPIC-MAI-019-mobile-apps.md) - MOB-003 y MOB-004
- **Control de Obra:** [../MAI-005-control-obra-avances/README.md](../MAI-005-control-obra-avances/README.md) - Integración con avances
- **Postventa:** [../MAI-009-calidad-postventa/README.md](../MAI-009-calidad-postventa/README.md) - Continuidad en garantías
---
## 📊 Métricas
| Métrica | Valor |
|---------|-------|
| **Presupuesto estimado** | $25,000 MXN |
| **Presupuesto target** | $25,000 MXN ±5% |
| **Story Points estimados** | 45 SP |
| **Duración estimada** | 2.5 semanas (12.5 días) |
| **Reutilización GAMILIT** | 10% |
| **Integraciones móviles** | 2 (MOB-003, MOB-004) |
| **RF a implementar** | 5/5 |
| **ET a implementar** | 5/5 |
| **US a completar** | 9/9 |
---
## 🎯 Módulos Afectados
### Base de Datos
- **Schema:** `quality`
- **Tablas principales:**
* `quality_checklists` - Plantillas de checklist
* `quality_checklist_items` - Items de checklist
* `quality_inspections` - Inspecciones realizadas
* `quality_inspection_results` - Resultados de inspección
* `quality_non_conformities` - Reportes de No Conformidad (RNC)
* `quality_nc_actions` - Acciones correctivas/preventivas
* `quality_lab_tests` - Pruebas de laboratorio
* `quality_lab_results` - Resultados de laboratorio
* `quality_certifications` - Certificaciones emitidas
* `quality_approval_history` - Historial de aprobaciones
- **Funciones:** Cálculo de % cumplimiento, validaciones de inspección
- **ENUMs:**
* `inspection_type` (structural, finishing, electrical, plumbing, general)
* `inspection_status` (pending, in_progress, passed, failed, conditional)
* `nc_severity` (critical, major, minor, observation)
* `nc_status` (open, in_progress, resolved, verified, closed, rejected)
* `lab_test_type` (concrete_compression, soil_compaction, steel_tensile, moisture)
* `certification_type` (infonavit, client, internal, regulatory)
### Backend
- **Módulo:** `quality`
- **Path:** `apps/backend/src/modules/quality/`
- **Services:**
* `ChecklistService` - CRUD de checklists
* `InspectionService` - Registro y gestión de inspecciones
* `NonConformityService` - Gestión de RNC
* `LabTestService` - Solicitud y registro de pruebas
* `CertificationService` - Emisión de certificaciones
* `QualityAnalyticsService` - KPIs y reportes
- **Controllers:** QualityController, InspectionController, LabTestController
- **Middlewares:** QualityAuthGuard, ProjectAccessGuard
### Frontend Web
- **Features:** `quality`, `inspections`, `lab-tests`, `certifications`
- **Path:** `apps/frontend/src/features/quality/`
- **Componentes:**
* ChecklistBuilder - Constructor de checklists
* InspectionForm - Formulario de inspección
* NCReportForm - Reporte de no conformidad
* NCWorkflow - Estado y workflow de RNC
* LabTestRequest - Solicitud de prueba
* LabResultsViewer - Visualizador de resultados
* CertificationGenerator - Generador de certificaciones
* QualityDashboard - Dashboard con KPIs
* QualityHistory - Historial por vivienda
- **Stores:** qualityStore, inspectionStore, ncStore, labTestStore
### App Móvil (React Native)
- **Integración con MOB-003 (Supervisor de Obra):**
* Realizar inspecciones con checklist offline
* Registrar RNC con fotos geoetiquetadas
* Solicitar pruebas de laboratorio desde campo
* Aprobar/rechazar avances con criterios de calidad
- **Integración con MOB-004 (Capataz):**
* Consultar checklists pendientes
* Ver RNC de su cuadrilla
* Marcar resolución de RNC
- **Features compartidas:**
* Scanner QR de elementos/viviendas
* Captura de fotos con marcas de calidad
* Modo offline con sincronización
* Notificaciones de RNC urgentes
---
## 🔄 Flujo de Trabajo de Calidad
### 1. Inspección de Calidad
```mermaid
flowchart TD
A[Ingeniero crea checklist] --> B[Asigna inspección a Supervisor]
B --> C{Supervisor en campo}
C -->|App MOB-003| D[Escanea QR de vivienda/área]
D --> E[Completa checklist item por item]
E --> F[Toma fotos de evidencia]
F --> G{¿Todos items OK?}
G -->|Sí| H[Marca inspección aprobada]
G -->|No| I[Genera RNC automático]
H --> J[Sincroniza a servidor]
I --> J
J --> K[Notifica a Residente/Ingeniero]
```
### 2. Reporte de No Conformidad (RNC)
```mermaid
flowchart TD
A[Detección de NC] --> B[Registro de RNC]
B --> C[Clasificación de severidad]
C --> D{Severidad}
D -->|Crítica| E[Notificación inmediata]
D -->|Mayor/Menor| F[Workflow normal]
E --> G[Asignación a responsable]
F --> G
G --> H[Análisis de causa raíz]
H --> I[Plan de acción correctiva]
I --> J[Ejecución de corrección]
J --> K[Verificación de resolución]
K --> L{¿Aceptada?}
L -->|Sí| M[Cierre de RNC]
L -->|No| N[Re-trabajo]
N --> J
M --> O[Actualización de KPIs]
```
### 3. Pruebas de Laboratorio
```mermaid
flowchart TD
A[Solicitud de prueba] --> B[Toma de muestra en campo]
B --> C{¿Laboratorio interno?}
C -->|Sí| D[Registro en sistema]
C -->|No| E[Envío a laboratorio externo]
D --> F[Ejecución de prueba]
E --> G[Espera de resultados]
F --> H[Captura de resultados]
G --> H
H --> I{¿Cumple especificación?}
I -->|Sí| J[Aprobación de material/proceso]
I -->|No| K[Generación de RNC]
J --> L[Actualización de trazabilidad]
K --> M[Workflow de corrección]
```
---
## 📱 Funcionalidades en Apps Móviles
### MOB-003: App Supervisor de Obra
**Funcionalidades de Calidad:**
1. **Inspecciones Digitales**
- Lista de inspecciones pendientes
- Checklist interactivo con checkbox/radio/texto
- Captura de fotos con anotaciones
- Geolocalización automática
- Modo offline completo
2. **Registro de RNC**
- Formulario rápido de RNC
- Clasificación de severidad con colores
- Asignación de responsable
- Adjuntar fotos/videos
- Estado en tiempo real
3. **Validación de Avances**
- Criterios de calidad antes de aprobar avance
- Checklist de pre-entrega
- Bloqueo de avance si hay RNC críticas
### MOB-004: App Capataz
**Funcionalidades de Calidad:**
1. **Consulta de Estándares**
- Ver checklists de calidad por actividad
- Especificaciones técnicas
- Fotos de referencia (buenas prácticas)
2. **Gestión de RNC de Cuadrilla**
- Ver RNC asignadas a su cuadrilla
- Marcar acciones completadas
- Solicitar re-inspección
- Comunicación con Supervisor
3. **Auto-inspección**
- Checklist simplificado antes de solicitar inspección oficial
- Reducir rechazo por errores obvios
---
## 📋 Tipos de Inspecciones
### Inspecciones Estructurales
| Tipo | Frecuencia | Checklist Típico |
|------|-----------|------------------|
| **Cimentación** | Por vivienda | - Profundidad excavación<br>- Nivel de desplante<br>- Resistencia concreto<br>- Armado de acero |
| **Estructura** | Por nivel | - Verticalidad muros<br>- Niveles y plomadas<br>- Resistencia elementos<br>- Juntas constructivas |
| **Losa** | Por losa | - Espesor<br>- Armado<br>- Resistencia concreto<br>- Nivelación |
### Inspecciones de Acabados
| Tipo | Frecuencia | Checklist Típico |
|------|-----------|------------------|
| **Instalaciones** | Por vivienda | - Instalación eléctrica certificada<br>- Instalación hidráulica sin fugas<br>- Gas con dictamen<br>- Drenaje funcional |
| **Acabados** | Por vivienda | - Aplanados sin fisuras<br>- Pisos nivelados<br>- Pintura uniforme<br>- Cancelería funcional |
| **Pre-entrega** | Por vivienda | - Limpieza general<br>- Servicios funcionando<br>- Llaves y protecciones<br>- Manual de usuario |
### Inspecciones de Cumplimiento
| Tipo | Frecuencia | Responsable |
|------|-----------|-------------|
| **INFONAVIT** | Por proyecto | Verificador externo |
| **Protección Civil** | Por etapa | Autoridad municipal |
| **Desarrollos Urbanos** | Al finalizar | Municipio |
| **Cliente Final** | Pre-escritura | Derechohabiente + Notario |
---
## 🧪 Pruebas de Laboratorio
### Pruebas de Concreto
| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Resistencia a compresión** | NMX-C-083 | 1 cilindro/10m³ | f'c ≥ especificado (150, 200, 250 kg/cm²) |
| **Revenimiento** | NMX-C-156 | Por revoltura | 10±2 cm típico |
| **Temperatura** | NMX-C-435 | Por colado | ≤ 32°C |
### Pruebas de Suelos
| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Compactación Proctor** | ASTM D698 | Por capa | 95% PM mínimo |
| **Capacidad de carga** | ASTM D1194 | Por lote | Según proyecto estructural |
| **Granulometría** | ASTM C136 | Por banco | Según especificación |
### Pruebas de Acero
| Prueba | Norma | Frecuencia | Especificación |
|--------|-------|-----------|----------------|
| **Tensión** | NMX-B-172 | Por lote | fy ≥ 4200 kg/cm² |
| **Doblado** | NMX-B-172 | Por lote | Sin fisuras |
---
## 📈 KPIs de Calidad
### Indicadores Principales
| KPI | Fórmula | Meta | Frecuencia |
|-----|---------|------|------------|
| **% Cumplimiento Inspecciones** | (Inspecciones aprobadas / Total inspecciones) × 100 | ≥ 90% | Semanal |
| **Índice de No Conformidad** | RNC / Viviendas inspeccionadas | ≤ 2.0 | Mensual |
| **Tiempo Resolución RNC** | Promedio días (apertura → cierre) | ≤ 7 días | Mensual |
| **% RNC Críticas** | RNC críticas / Total RNC × 100 | ≤ 10% | Mensual |
| **% Pruebas Aprobadas** | Pruebas aprobadas / Total pruebas × 100 | ≥ 95% | Mensual |
| **Tasa de Re-trabajo** | Viviendas con correcciones / Total viviendas × 100 | ≤ 15% | Mensual |
### Dashboard de Calidad
**Vista Director/Ingeniero:**
```
┌─────────────────────────────────────────────────────────┐
│ DASHBOARD DE CALIDAD - Fraccionamiento Los Pinos │
│ Periodo: Noviembre 2025 │
├─────────────────────────────────────────────────────────┤
│ │
│ 📊 KPIs Principales │
│ ┌──────────────┬──────────────┬──────────────┐ │
│ │ Cumplimiento │ RNC Abiertas │ Tiempo Resol │ │
│ │ 92.5% │ 18 │ 5.2 días │ │
│ │ ✅ Meta │ ⚠️ Alto │ ✅ Meta │ │
│ └──────────────┴──────────────┴──────────────┘ │
│ │
│ 📋 Inspecciones (Última semana) │
│ • Realizadas: 45 / 50 programadas (90%) │
│ • Aprobadas: 38 (84%) │
│ • Rechazadas: 7 (16%) │
│ • Pendientes: 5 │
│ │
│ 🚨 RNC por Severidad │
│ • Críticas: 2 (URGENTE) │
│ • Mayores: 8 │
│ • Menores: 8 │
│ │
│ 🧪 Pruebas de Laboratorio │
│ • Pendientes: 3 │
│ • En proceso: 5 │
│ • Aprobadas: 28 (93%) │
│ • Rechazadas: 2 (7%) │
│ │
│ 📈 Tendencia Mensual │
│ • RNC: ↓ -15% vs mes anterior │
│ • Cumplimiento: ↑ +3% vs mes anterior │
│ │
└─────────────────────────────────────────────────────────┘
```
---
## 🔌 Integraciones
### Con Módulo MAI-005 (Control de Obra)
**Integración:** Bloqueo de avances si hay RNC críticas pendientes
```typescript
// Validación al registrar avance
async validateProgressQuality(conceptId: string, unitId: string) {
const criticalNCs = await this.ncService.findCriticalNCsByUnit(unitId, conceptId);
if (criticalNCs.length > 0) {
throw new QualityBlockException(
`No se puede registrar avance. Existen ${criticalNCs.length} RNC críticas pendientes.`,
criticalNCs
);
}
const requiredInspection = await this.inspectionService.isInspectionRequired(conceptId);
if (requiredInspection && !requiredInspection.passed) {
throw new QualityBlockException(
`Se requiere inspección de calidad aprobada antes de registrar avance.`
);
}
return { valid: true };
}
```
### Con Módulo MAI-009 (Postventa)
**Integración:** Historial de calidad de vivienda pasa a postventa
- Todas las inspecciones realizadas
- RNC generadas y resueltas
- Pruebas de laboratorio
- Certificaciones emitidas
- Checklist de pre-entrega
### Con Apps Móviles (MOB-003, MOB-004)
**APIs Clave:**
```typescript
// Endpoints para app móvil
GET /api/mobile/quality/inspections/pending // Inspecciones pendientes
GET /api/mobile/quality/checklists/:id // Detalle de checklist
POST /api/mobile/quality/inspections/:id/complete // Completar inspección
POST /api/mobile/quality/nc/create // Crear RNC
PATCH /api/mobile/quality/nc/:id/resolve // Marcar resolución
GET /api/mobile/quality/nc/assigned // RNC asignadas (MOB-004)
POST /api/mobile/quality/photos/upload // Upload fotos
```
**Sincronización Offline:**
- Cache de checklists asignados (actualizado diariamente)
- Queue de inspecciones completadas
- Queue de RNC registradas
- Compresión de fotos antes de sincronizar
- Retry automático con backoff exponencial
---
## 🚨 Casos de Uso Críticos
### Caso 1: Inspección de Cimentación con RNC Crítica
**Escenario:**
1. Supervisor en campo para inspección de cimentación de lote 45
2. Detecta que profundidad de desplante es 20cm menor a especificación
3. Genera RNC crítica desde app MOB-003
4. Sistema notifica inmediatamente a Ingeniero y Residente
5. Se bloquea automáticamente siguiente actividad (armado) en ese lote
6. Ingeniero analiza y determina acción: profundizar excavación
7. Capataz ejecuta corrección
8. Supervisor re-inspecciona y aprueba
9. Se desbloquea actividad de armado
**Flujo en Sistema:**
```
MOB-003 → [RNC Crítica] → Backend → [Notificación Push] → Ingeniero
→ [Bloqueo Avance] → MAI-005
Ingeniero → [Plan Acción] → RNC → Capataz (MOB-004)
Capataz → [Marcar Resuelto] → RNC
Supervisor → [Re-inspección] → [Aprobar] → [Desbloqueo] → MAI-005
```
### Caso 2: Prueba de Resistencia de Concreto Rechazada
**Escenario:**
1. Se colaron 20 viviendas con concreto del mismo proveedor
2. Prueba de cilindro a 28 días: 180 kg/cm² (especificación: 200 kg/cm²)
3. Sistema genera RNC automática
4. Se bloquean avances de las 20 viviendas afectadas
5. Se solicita estudio estructural
6. Ingeniero determina: refuerzo adicional en elementos
7. Se ejecuta refuerzo
8. Se solicita nueva prueba de concreto de refuerzo
9. Nueva prueba: 220 kg/cm² - APROBADA
10. Se cierran RNC y se desbloquean avances
### Caso 3: Pre-entrega a INFONAVIT
**Escenario:**
1. 50 viviendas listas para entrega
2. Sistema genera checklist de pre-entrega por vivienda
3. Supervisor realiza inspección final con MOB-003
4. De 50 viviendas:
- 45 aprobadas
- 5 con observaciones menores (detalles de pintura)
5. Se generan 5 RNC menores
6. Capataz ejecuta correcciones en 2 días
7. Supervisor re-inspecciona y aprueba
8. Sistema genera certificación de calidad por vivienda
9. Certificaciones se adjuntan a expediente de escrituración
---
## 🧪 Testing
### Unit Tests (Backend)
```typescript
describe('InspectionService', () => {
it('should create inspection from checklist template')
it('should calculate pass/fail based on critical items')
it('should block progress when critical NC exists')
it('should notify stakeholders on NC creation')
})
describe('NonConformityService', () => {
it('should classify NC by severity automatically')
it('should create workflow states correctly')
it('should calculate resolution time SLA')
it('should prevent closure without verification')
})
describe('LabTestService', () => {
it('should validate test results against specifications')
it('should generate NC when test fails')
it('should link test to affected units')
})
```
### E2E Tests (App Móvil)
```typescript
describe('Quality Inspection E2E', () => {
it('should complete full inspection flow offline')
it('should create NC with photos from field')
it('should sync inspection results when online')
it('should show pending inspections by priority')
})
```
### Integration Tests
```typescript
describe('Quality-Progress Integration', () => {
it('should block progress when critical NC exists')
it('should require inspection before progress')
it('should unlock progress after NC resolution')
})
```
---
## 🚨 Riesgos Específicos
| Riesgo | Probabilidad | Impacto | Mitigación |
|--------|-------------|---------|------------|
| **Usuarios omiten inspecciones** | Alta | Alto | Validación automática, bloqueos de avance |
| **RNC no se resuelven a tiempo** | Media | Alto | SLA automáticos, alertas escalonadas |
| **Pruebas de laboratorio tardadas** | Alta | Medio | Buffer de tiempo, laboratorio interno |
| **Rechazo masivo en inspección final** | Media | Muy Alto | Inspecciones intermedias, auto-inspección |
| **Pérdida de trazabilidad** | Baja | Alto | Blockchain de inspecciones (futuro) |
---
## 📋 Checklist de Implementación
### Backend
- [ ] Modelo de datos de checklists configurables
- [ ] CRUD de inspecciones con validaciones
- [ ] Workflow de estados de RNC
- [ ] Servicio de notificaciones por severidad
- [ ] Integración con MAI-005 (bloqueos de avance)
- [ ] API para apps móviles (MOB-003, MOB-004)
- [ ] Sistema de pruebas de laboratorio
- [ ] Generación de certificaciones PDF
- [ ] Dashboard con KPIs de calidad
### App Móvil (MOB-003, MOB-004)
- [ ] Sincronización de checklists offline
- [ ] Formulario de inspección con checklist interactivo
- [ ] Captura de fotos con anotaciones
- [ ] Registro rápido de RNC
- [ ] Scanner QR de viviendas/elementos
- [ ] Modo offline completo
- [ ] Sincronización de inspecciones y RNC
- [ ] Notificaciones push de RNC urgentes
### Frontend Web
- [ ] Constructor de checklists (drag & drop)
- [ ] Vista de inspecciones con filtros
- [ ] Dashboard de calidad con gráficos
- [ ] Workflow visual de RNC (Kanban)
- [ ] Gestión de pruebas de laboratorio
- [ ] Generador de certificaciones
- [ ] Historial de calidad por vivienda
- [ ] Reportes exportables (PDF/Excel)
### Database
- [ ] Schemas y tablas
- [ ] Funciones de validación y cálculo
- [ ] Triggers de notificación
- [ ] Índices optimizados
- [ ] Views de reportes
### Testing
- [ ] Unit tests >80% coverage
- [ ] E2E tests de flujos completos
- [ ] Integration tests con MAI-005
- [ ] Tests de app móvil (offline, sync)
- [ ] Load tests (1000 inspecciones/día)
### Despliegue
- [ ] Variables de entorno
- [ ] Configuración de notificaciones
- [ ] Integración con storage de fotos
- [ ] Monitoreo de SLA de RNC
- [ ] Documentación de uso
---
## 💡 Lessons Learned (a documentar post-implementación)
1. **Checklists deben ser flexibles:** No todas las obras tienen los mismos criterios
2. **Notificaciones críticas no deben saturar:** Solo lo urgente es urgente
3. **Modo offline es obligatorio:** Campo rara vez tiene buena conexión
4. **Fotos son evidencia legal:** Almacenar con metadatos completos (GPS, timestamp, hash)
---
## 🎯 Siguiente Paso
Crear documentación de requerimientos funcionales (RF-QUA-001 a RF-QUA-005) y especificaciones técnicas (ET-QUA-001 a ET-QUA-005).
**Prioridad de documentación:**
1. RF-QUA-001: Sistema de Inspecciones (core del módulo)
2. RF-QUA-002: Reportes de No Conformidad (crítico para workflow)
3. ET-QUA-005: Integración con apps móviles (alta dependencia)
---
**Generado:** 2025-12-06
**Mantenedores:** @tech-lead @backend-team @mobile-team @quality-team
**Estado:** 📝 A crear
**Prioridad:** P1 - Crítico para certificación y cumplimiento