Al cruzar los roles con sus módulos aparecieron manuales que faltaban: había roles con acceso a pantallas que ninguna página explicaba. lab_readonly tenía órdenes médicas, formularios_readonly tenía el diseñador de formularios y supervisor tenía reportes, y ninguno de los tres estaba documentado. Manual: órdenes médicas (flujo de revisión y autorización, con el ayuno señalado como el dato de mayor consecuencia si se transcribe mal), formularios (tipos de campo, secciones condicionales, quién firma qué) y reportes (la diferencia entre el dashboard del turnero y el módulo de reportes, que miran cosas distintas y no son comparables). Técnica: órdenes médicas con sus estados y trazabilidad, reportes, configuración del laboratorio y dashboard — los cuatro módulos de la generación anterior que quedaban sin página. Ahora cada rol ve solo sus páginas: readonly ve 2, los roles operativos entre 3 y 5, supervisor 10 y los administradores las 30. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2.9 KiB
Órdenes médicas, reportes y configuración
Tres módulos de la generación anterior: el código vive en archivos de la raíz y el módulo solo aporta el registro en el menú.
| Módulo | Archivo real |
|---|---|
lab_ordenes |
lab_ordenes.php |
lab_reportes |
lab_reportes.php |
lab_configuracion |
lab_configuracion.php |
lab_dashboard |
index.php |
Órdenes médicas
Las órdenes que el paciente envía por WhatsApp, normalmente como foto de la orden en papel. El módulo permite revisarlas y autorizarlas.
Datos
lab_ordenes_medicas guarda tanto la imagen recibida como lo que el personal extrae de ella:
| Grupo | Columnas |
|---|---|
| Origen | conversation_id, whatsapp_media_id, local_file |
| Vínculos | paciente_id, domicilio_id |
| Contenido de la orden | medico_nombre, medico_registro, fecha_orden, diagnostico, examenes_solicitados |
| Preparación | requiere_ayuno, horas_ayuno, indicaciones |
| Trazabilidad | revisada_por, revisada_at, autorizada_por, autorizada_at, comentario_revision |
Estados
pendiente ──► autorizada
│
└──────► rechazada
(con comentario)
La orden llega en pendiente. Al revisarla se autoriza o se rechaza, y en ambos casos queda quién lo hizo y cuándo — es de los pocos flujos que registró trazabilidad desde el principio.
requiere_ayuno y horas_ayuno importan porque condicionan lo que se le indica al paciente antes de la toma.
Reportes
lab_reportes.php — informes de ingresos, rendimiento y pagos.
Incluye el tiempo de traslado del enfermero, que sale de comparar las marcas de hora de las visitas domiciliarias. Es la métrica que permite ver si una ruta está mal armada.
Para métricas del turnero (tiempos de atención, facturación del día) el lugar es el dashboard del turnero, no este módulo. Los dos existen y cubren cosas distintas: este mira el laboratorio en general y los domicilios; aquel mira la operación presencial del día.
Configuración del laboratorio
lab_configuracion.php edita lo que aparece en el encabezado de todos los documentos generados: nombre, subtítulo, dirección, ciudad, teléfono, correo, logo y color.
Se guarda en lab_config, con las claves empresa_* y doc_*. Ver Configuraciones críticas para el detalle de qué se configura desde aquí y qué no.
Desde aquí no se cambian las URL que llegan por WhatsApp en los botones de plantilla: esas viven en Meta.
Dashboard
index.php es el panel principal del laboratorio y, a la vez, el punto de entrada histórico del sistema. Convive con erp.php, que es el del ERP modular.
Que el archivo de entrada original siga siendo una pantalla activa es una de las consecuencias de la migración gradual.