3.9 KiB
3.9 KiB
Módulo Administrativo — Laboratorio Clínico
Módulo add-on para el sistema de chatbot WhatsApp que permite gestionar órdenes médicas recibidas como imágenes, domicilios, enfermeras y pacientes.
Instalación
1. Ejecutar migraciones de base de datos
php migrations/20260302_lab_run_migrations.php
Crea 7 tablas nuevas sin modificar las existentes:
lab_pacienteslab_enfermeraslab_ordenes_medicaslab_domicilioslab_asignacioneslab_autorizacioneslab_actividad_admin
Para deshacer:
php migrations/20260302_lab_run_migrations.php --rollback
2. Verificar instalación
Accede desde el navegador (con sesión admin activa):
https://tu-servidor/lab_status.php
O desde CLI:
php lab_status.php
Archivos del módulo
Vistas PHP
| Archivo | Descripción |
|---|---|
lab_dashboard.php |
Panel principal con estadísticas en tiempo real |
lab_ordenes.php |
Gestión de órdenes médicas (estados, imágenes, historial) |
lab_pacientes.php |
CRUD de pacientes, vinculación con usuarios WhatsApp |
lab_domicilios.php |
Agenda de domicilios y asignación de enfermeras |
lab_enfermeras.php |
CRUD de enfermeras y visualización de agenda diaria |
lab_reportes.php |
Trazabilidad, log de actividad, exportación CSV |
lab_status.php |
Verificador de estado del módulo |
Clases (models)
Ubicadas en classes/lab/:
ActividadAdmin.php— Base de trazabilidadPaciente.php— Modelo de pacientesEnfermera.php— Modelo de enfermerasOrdenMedica.php— Modelo de órdenes médicas con flujo de estadosDomicilio.php— Modelo de domicilios con flujo de estadosAsignacion.php— Modelo de asignaciones enfermera ↔ domicilio
API REST
Ubicados en api/lab/:
| Endpoint | Método | Descripción |
|---|---|---|
get_pacientes.php |
GET | Lista paginada de pacientes |
save_paciente.php |
POST | Crear/actualizar paciente |
get_ordenes.php |
GET | Lista/detalle de órdenes |
save_orden.php |
POST | Crear/actualizar orden |
autorizar_orden.php |
POST | Cambiar estado de una orden |
get_domicilios.php |
GET | Lista/detalle de domicilios |
save_domicilio.php |
POST | Crear/actualizar domicilio |
get_enfermeras.php |
GET | Lista de enfermeras + agenda |
save_enfermera.php |
POST | Crear/actualizar enfermera |
get_asignaciones.php |
GET | Asignaciones por fecha |
save_asignacion.php |
POST | Asignar/liberar/completar enfermera |
get_actividad.php |
GET | Log de actividad con filtros |
get_stats.php |
GET | Estadísticas para dashboard |
crear_desde_whatsapp.php |
GET/POST | Crear orden desde conversación activa |
Flujos de estado
Órdenes médicas
pendiente → en_revision → autorizada → en_domicilio → completada
↘ rechazada
Domicilios
programado → confirmado → en_camino → en_domicilio → completado
↘ cancelado
↘ reprogramado
Integración con el chatbot
En conversations.php, los mensajes de imagen entrantes tienen un botón (verde) en las acciones del mensaje. Al hacer click:
- Se abre un modal con la imagen adjunta
- El operador busca o selecciona un paciente (o usa el contacto de la conversación)
- Completa datos opcionales (médico, exámenes, ayuno)
- Se crea la orden en estado
pendiente
Exportaciones CSV
Disponibles desde lab_reportes.php:
- Órdenes médicas del período — incluye estado, médico, exámenes
- Domicilios del período — incluye enfermera asignada, dirección, estado
- Pacientes — catálogo completo con total de órdenes
Requisitos
- PHP 8.2+
- MariaDB 10.11+ (o MySQL 8+)
- Bootstrap 5.3 (ya incluido en el sistema)
- Font Awesome 6.4 (ya incluido en el sistema)
uploads/media/con permisos de escritura (755/775)