Toda la documentación pasa de voseo a tratamiento de usted, incluidos los diagramas y los textos de la interfaz. Los prompts de ambos asistentes lo piden explícitamente, para que las respuestas generadas también lo respeten. El panel de LIA en la página de documentación adopta el diseño del dashboard del turnero: mismo botón circular, mismo panel deslizante con encabezado en degradado y logo LIA, mismos chips de atajo, burbujas y campo de entrada. Los atajos se arman con los documentos que ese usuario puede ver. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
89 lines
3.6 KiB
Markdown
89 lines
3.6 KiB
Markdown
# Configuraciones críticas
|
|
|
|
Dónde vive cada cosa que se configura. La pregunta que más tiempo hace perder es *«¿esto dónde se cambia?»*, sobre todo porque no todo está en la base de datos.
|
|
|
|
## Las tres tablas de configuración
|
|
|
|
| Tabla | Contenido | Se edita desde |
|
|
|---|---|---|
|
|
| `system_config` | Credenciales de WhatsApp, webhook, mensaje de términos | Base de datos |
|
|
| `lab_config` | Datos de la empresa, encabezados de documentos, clave y consumo de LIA | Configuración del laboratorio |
|
|
| `turnero_*` | Lugares, prioridades, dispositivos, playlist de TV | Configuración del turnero |
|
|
|
|
## Lo que NO está en la base de datos
|
|
|
|
Esto es lo que más confunde:
|
|
|
|
| Configuración | Dónde vive de verdad |
|
|
|---|---|
|
|
| URL del botón de consentimiento | **Plantilla en el WhatsApp Manager de Meta** |
|
|
| Texto y formato de las plantillas | **Meta** (`message_templates` es solo una copia) |
|
|
| Dominio del sistema | Se deduce del `HTTP_HOST` de cada petición |
|
|
|
|
> Cambiar el código **no** cambia la URL que reciben los pacientes en el botón de una plantilla. Eso se edita en Meta y requiere reaprobación.
|
|
|
|
## Datos de la empresa
|
|
|
|
En `lab_config`, salen impresos en el encabezado de todos los documentos:
|
|
|
|
| Clave | Ejemplo |
|
|
|---|---|
|
|
| `empresa_nombre` | XIMENA CAICEDO G. E.U |
|
|
| `empresa_subtitulo` | Laboratorio Hematológico |
|
|
| `empresa_direccion` | Calle 21 #0A-26, Barrio Blanco |
|
|
| `empresa_ciudad` | Cúcuta, Norte de Santander |
|
|
| `empresa_telefono` | +57 305 337 0116 |
|
|
| `empresa_email` | servicioalcliente@laboratorioximenacaicedo.com |
|
|
| `doc_logo_base64` | Logo embebido |
|
|
| `doc_color` | Color de encabezados |
|
|
|
|
Se editan desde **Configuración del laboratorio**, sin tocar código.
|
|
|
|
## Dominio del sistema
|
|
|
|
`APP_URL` y `BASE_URL` se calculan en cada petición a partir del host (`config/config.php`):
|
|
|
|
```php
|
|
$__host = $_SERVER['HTTP_HOST'] ?? 'localhost';
|
|
define('APP_URL', $__proto . '://' . $__host);
|
|
```
|
|
|
|
Detecta HTTPS detrás de proxy reverso mediante `X-Forwarded-Proto`.
|
|
|
|
> Consecuencia: si alguien entra por una IP o un dominio alternativo, **los enlaces que se generen en esa sesión llevarán esa dirección** — y quedan guardados así en el mensaje que recibe el paciente. Si eso importa, conviene fijar `APP_URL` explícitamente.
|
|
|
|
## Turnero
|
|
|
|
| Qué | Dónde |
|
|
|---|---|
|
|
| Escritorios y estaciones | `turnero_lugares` |
|
|
| Formularios obligatorios por estación | `turnero_lugar_consentimientos` |
|
|
| Formularios obligatorios por examen | `exam_tipo_consentimientos` |
|
|
| Equipos fijos por IP o token | `turnero_dispositivos` |
|
|
| Prioridades de la cola | `turnero_prioridades` |
|
|
| Playlist de la pantalla de TV | `turnero_tv_media` |
|
|
|
|
Las estaciones de toma de muestras exigen el formulario **Datos Toma de Muestras (F-LAB-08)**, incluso en visitas marcadas como *solo entrega de muestras*.
|
|
|
|
## LIA
|
|
|
|
| Clave | Qué es |
|
|
|---|---|
|
|
| `lab_config.gemini_api_key` | Clave de la API de Google Gemini |
|
|
| `lab_config.lia_tokens_usados` | Consumo acumulado (tope: 1.000.000) |
|
|
|
|
El tope está en el código como `LIA_TOKENS_MAX`.
|
|
|
|
## Términos y condiciones
|
|
|
|
En **dos** lugares que hay que mantener sincronizados:
|
|
|
|
- `terms_versions` — versión activa, URL del documento, mensajes de aceptación y rechazo
|
|
- `system_config.terms_message` — el texto de bienvenida, que **repite la URL** dentro
|
|
|
|
## Cambios de esquema
|
|
|
|
Van en `migrations/`, con nombre `AAAAMMDD_descripcion.sql` e idempotentes (`IF NOT EXISTS`, guardas en `UPDATE`/`INSERT`).
|
|
|
|
Si aplica un cambio directo en producción, **deje también la migración**: sin ella, un entorno nuevo no tendrá ese cambio y nadie se va a enterar hasta que falle.
|