| # | Fase | Actividad | Entregables principales | Días | Inicio | Fin | Estado | S114-20 Abr | S221-27 Abr | S328 Abr-4 May | S45-11 May | S512-18 May | S619-25 May | S726 May-1 Jun | S82-8 Jun | S99-15 Jun | S1016-20 Jun |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ⚙️ BLOQUE 1 — ADECUACIÓN ERP BASE (Semana 1 — COMPLETADO) | |||||||||||||||||
| 1 | ERP | Adecuar Software como ERP | Estructura core/ · modules/ · shared/ · Router centralizado · Sidebar dinámico · SYSTEM_MODULES en BD · 11 módulos migrados a nueva estructura | 7 | 14 Abr | 20 Abr | ✅ Completado | · | · | · | · | · | · | · | · | · | |
| 🗄️ BLOQUE 2 — BASE DE DATOS DEL TURNERO — FASE 3.1 (Semana 2) | |||||||||||||||||
| 2 | F 3.1 | Migración 003 — Tablas Turnero | exam_tipos · exam_tipo_consentimientos · turnero_lugares · turnero_prioridades · turnero_sesiones · turnero_turnos · turnero_solicitudes · turnero_examen_items · turnero_consentimientos · ALTER lab_formularios | 5 | 21 Abr | 25 Abr | 🔵 Próximo | · | · | · | · | · | · | · | · | · | |
| 3 | F 3.1 | Datos iniciales + module.php | Prioridades A-F por defecto · Registro en system_modules · module.php descriptor · Asignación roles recepcionista / auxiliar | 2 | 26 Abr | 27 Abr | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| ⚡ BLOQUE 3 — MOTOR DE PRIORIDADES + APIs CORE — FASE 3.2 (Semana 3) | |||||||||||||||||
| 4 | F 3.2 | APIs de turno y solicitud | create_turno.php (sesión diaria + correlativo) · create_solicitud.php (exámenes + pago + lugar + consentimientos auto) · Actualización estado turno | 4 | 28 Abr | 01 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 5 | F 3.2 | Motor de cola + SSE | llamar_turno.php (motor prioridad + FIFO) · cambiar_estado.php (validaciones bloqueo) · get_cola.php · sse_turno.php (Server-Sent Events) | 3 | 02 May | 04 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 📺 BLOQUE 4 — KIOSKO + PANTALLAS TV — FASE 3.3 (Semana 4) | |||||||||||||||||
| 6 | F 3.3 | Kiosko táctil | views/kiosko.php fullscreen · Botones A-F (icono + descripción) · Campo nombre/celular (opcional) · Código generado (ej. "E-042") · Sin exposición de datos | 3 | 05 May | 07 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 7 | F 3.3 | Pantallas TV / Display | views/display.php · ?display=recepcion (cola general) · ?display=lugar&lugar_id=X (cola del lugar) · SSE en tiempo real · Colores prioridad + animación | 4 | 08 May | 11 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 🖥️ BLOQUE 5 — PUESTO DE RECEPCIÓN — FASE 3.4 (Semana 5) | |||||||||||||||||
| 8 | F 3.4a | Vista Recepción — Atención al paciente | views/recepcion.php · Cola general con prioridad visual · Llamar siguiente · Buscador/creación paciente (reutiliza lab_pacientes) · Catálogo exam_tipos + selector | 4 | 12 May | 15 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 9 | F 3.4b | Solicitudes + Pago + Lugar destino | Registro pago (monto + método) · Selector Lugar destino · Botón Crear Solicitud · create_solicitud.php · Cálculo auto consentimientos requeridos | 3 | 16 May | 18 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 10 | F 3.4c | Envío Consentimientos por WhatsApp | send_consentimiento.php · Deduplicación de formularios · Tokens UUID únicos · WhatsAppService + plantilla Meta "consentimiento_turno" · Estados en tiempo real | 7 | 19 May | 25 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 🔬 BLOQUE 6 — PUESTO LUGAR / ESTACIÓN DE SERVICIO — FASE 3.5 (Semana 7) | |||||||||||||||||
| 11 | F 3.5 | Vista Lugar / Estación genérica | views/lugar.php (?lugar_id=X) · Cola priorizada del lugar · Llamar siguiente · Ficha: datos + exámenes + estado consentimientos · Bloqueo si pendientes | 4 | 26 May | 29 May | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 12 | F 3.5 | Flujo de servicio: Iniciar / Finalizar | Botón "Iniciar atención" (habilitado si consentimientos OK) · Botón "Finalizar" → estado finalizado · Botón "Ausente" / Regresar a cola · polling 5s | 3 | 30 May | 01 Jun | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| ✍️ BLOQUE 7 — FIRMA DIGITAL DE CONSENTIMIENTOS — FASE 3.6 (Semana 8) | |||||||||||||||||
| 13 | F 3.6 | Integración firma en flujo turnero | Campo tipo en lab_formularios · ver_formulario_enviado.php detecta token de turno · Actualiza turnero_consentimientos · Registro evidencia: IP, UA, fecha, versión | 4 | 02 Jun | 05 Jun | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 14 | F 3.6 | "Firmar aquí" en tablet del puesto | Botón "Firmar aquí" en lugar.php → modal/iframe con ver_formulario_enviado.php · Firma física en pantalla del auxiliar · Detección en tiempo real (polling 5s) | 3 | 06 Jun | 08 Jun | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| ⚙️ BLOQUE 8 — PANEL ADMIN + CONFIGURACIÓN — FASE 3.7 (Semana 9) | |||||||||||||||||
| 15 | F 3.7 | Configuración: Lugares + Exámenes | Tab Lugares: CRUD + URL TV automática · Tab Exámenes y Consentimientos: M:N (exam_tipos ↔ formularios) · Vista inversa por consentimiento | 4 | 09 Jun | 12 Jun | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 16 | F 3.7 | Dashboard Admin + Prioridades + Sesión | Dashboard: KPIs del día + tiempo promedio + exportar CSV · Tab Prioridades (CRUD) · Tab Sesiones (abrir/cerrar/historial) · Tab WhatsApp (plantilla Meta) | 3 | 13 Jun | 15 Jun | ⬜ Pendiente | · | · | · | · | · | · | · | · | · | |
| 🧪 BLOQUE 9 — QA · CAPACITACIÓN · GO-LIVE (Semana 10 · 16–20 Jun) | |||||||||||||||||
| 17 | QA | Testing end-to-end y corrección de bugs | Flujo completo paciente · Múltiples lugares simultáneos · SSE stress test · Consentimientos en tiempo real · Validación OWASP Top 10 | 2 | 16 Jun | 17 Jun | 🟡 Pendiente | · | · | · | · | · | · | · | · | · | |
| 18 | CAP | Capacitación del equipo | Manual recepcionista · Manual auxiliar/lugar · Manual administrador · Capacitación presencial o remota · Guías rápidas por rol | 1 | 18 Jun | 18 Jun | 🟣 Pendiente | · | · | · | · | · | · | · | · | · | |
| 19 | DEPLOY | Go-Live y soporte post-lanzamiento | Deploy en producción · Configuración inicial: lugares, exámenes, prioridades, plantillas Meta · Prueba en producción · Monitoreo · Ajustes finales | 2 | 19 Jun | 20 Jun | 🟢 Pendiente | · | · | · | · | · | · | · | · | · | |
Desarrollo iterativo. El sistema sigue funcionando en producción durante toda la implementación. Los módulos legacy (lab_*.php) permanecen activos hasta que su equivalente nuevo esté validado.
Los consentimientos reutilizan el módulo de Formularios existente. El buscador de pacientes reutiliza lab_pacientes. WhatsApp reutiliza el servicio ya activo. La firma digital ya está implementada.
El Bloque 3 (API Core) debe completarse antes de iniciar las vistas (Bloques 4–7). La plantilla Meta "consentimiento_turno" debe aprobarse en WhatsApp Business Manager preferiblemente en la semana 3. La última semana (S10) es compacta: QA + capacitación + go-live en 5 días — cualquier retraso acumulado en semanas anteriores impacta directamente la fecha de lanzamiento.
Kiosko: táctil fullscreen (tablet Android/iPad). Display TV: cualquier pantalla con navegador. Puesto Recepción y Lugar: PC o tablet. Firma paciente: cualquier celular vía WhatsApp.
Todas las APIs implementan: requireMethod() + verificar sesión + PDO preparado + sanitización de parámetros. Pantallas sin login (kiosko, TV) nunca exponen datos sensibles.
30 días de soporte incluidos tras el go-live (20 Jun – 20 Jul 2026) para ajustes basados en uso real, reportes de KPIs, y optimizaciones de UX identificadas en producción.