El visor de urgencia no reemplaza el triage clínico: muestra en público, con honestidad, el estado de la fila que el equipo ya está gestionando. Este documento especifica qué es, cómo ordena a los pacientes, cómo estima el tiempo de espera y qué pasa cuando los datos del día todavía no alcanzan para estimar con confianza.
Qué es el visor de urgencia
Es una aplicación web con dos vistas sobre la misma fila de pacientes:
Uso del equipo de urgencia
Registra a cada paciente con nombre de pila + inicial del apellido, categoría de triage C1–C5 y una nota opcional de box. Desde ahí se llama, se marca en atención o se da de alta, y se puede exportar la jornada completa a CSV.
Pantalla de sala de espera
Vista de solo lectura pensada para un televisor o monitor en la sala: nombre, categoría, estado y — si están activados — los indicadores de tiempo de espera. Se llama al paciente por su nombre, nunca por diagnóstico ni número de ficha.
Las dos vistas viven en la misma aplicación (index.html): el panel es la vista por defecto y el modo TV se activa con el botón "Modo pantalla" o el parámetro ?tv en la URL.
Las dos colas: categorización y atención
El visor no muestra una sola fila — muestra el paciente en dos momentos distintos de su paso por urgencia, porque son dos esperas con metas y responsables distintos:
Espera de categorización
El paciente ya llegó y quedó registrado con su nombre y hora de llegada, pero todavía no tiene categoría de triage asignada. Meta MINSAL: menos de 10 minutos sin categorizar. Si un paciente supera ese tiempo, su fila se resalta en pantalla para que el equipo lo vea de inmediato.
Espera de atención
El paciente ya fue categorizado (C1–C5) y espera turno para ser llamado a box, ordenado por el motor de prioridad clínica descrito en la sección 4.
El flujo de un paciente por el sistema es:
1. Registrar llegada → nombre + hora de llegada (sin categoría todavía)
entra a Cola 1: Espera de categorización
2. Categorizar → el equipo abre el modal "Categorizar paciente"
y asigna C1, C2, C3, C4 o C5
el paciente pasa de Cola 1 a Cola 2: Espera de atención
3. Atender → llamado a box → en atención → alta / retirar
En el panel de ingreso, esta distinción se ve como dos secciones separadas ("Espera de categorización" y "Espera de atención") dentro de la misma tarjeta de pacientes activos; en el modo TV, como dos bloques con su propio título y subtítulo de meta.
Categorización C1–C5, colores oficiales MINSAL y tiempos objetivo
El sistema usa la misma categorización de triage que ya opera en las urgencias del país, para que el paciente reconozca el número que se le asigna. Los tiempos objetivo por categoría están fijados por la Resolución Exenta N° 108 del 29 de junio de 2018 (MINSAL), "Orientación Técnica del Sistema de Priorización Estructurado para la atención de pacientes en Unidades de Emergencia Hospitalaria".
Para un CESFAM —nivel primario, no urgencia hospitalaria— lo relevante de esta tabla es que la comunidad y el personal ya la conocen: sirve como referencia común en pantalla ("tiempo objetivo MINSAL para su categoría: X"), independiente del modelo de estimación en tiempo real que se muestre junto a ella.
3.1 · Colores del semáforo clínico
El color con que se pinta cada categoría en pantalla —tanto en el botón de triage del panel como en la etiqueta de categoría del modo TV— sigue el semáforo clínico oficial usado en categorización de riesgo, no la paleta de marca de Operaria: C1 rojo, C2 naranjo, C3 amarillo, C4 verde, C5 azul. Es una decisión deliberada: en una sala de urgencia, el color de la categoría debe leerse igual que en cualquier otro punto del sistema de salud donde el personal y el público ya lo reconocen — la identidad visual de Operaria queda reservada al resto de la interfaz (header, botones, tipografía).
Motor de orden: cómo se prioriza la fila
Este motor de orden aplica solo a la cola de atención (los pacientes ya categorizados). La cola de categorización, en cambio, se ordena simplemente por hora de llegada — porque todavía no hay una categoría con la cual priorizar.
El orden que ve el público en la cola de atención no es por hora de llegada — es por prioridad clínica primero, y solo dentro de la misma categoría se ordena por hora de llegada:
orden = C1 > C2 > C3 > C4 > C5 dentro de cada categoría: por hora de llegada (el que llegó antes, va antes)
La posición de un paciente en la fila (el "número de atención" que ve en pantalla) se calcula contando cuántos pacientes de categoría más urgente siguen en espera, más cuántos de su misma categoría llegaron antes que él:
posición(paciente) = pacientes en espera de categoría MÁS URGENTE + pacientes en espera de LA MISMA categoría con hora de llegada anterior + 1
Este cálculo no depende de ningún modelo externo: es un conteo directo del estado real de la fila en ese momento.
Los 4 indicadores activables de la pantalla
El modo TV puede mostrar o esconder cuatro elementos, cada uno activable o desactivable de forma independiente desde el panel de configuración. Los tres primeros son indicadores por paciente; el cuarto decide si la cola de categorización se muestra o no. Responden preguntas distintas — un hecho, una norma, una predicción y una elección de qué mostrar en público — y por eso conviene poder activarlos por separado.
5.1 · Mostrar cola de espera de categorización
Decide si el bloque "Espera de categorización" aparece en el modo TV. Si se desactiva, la pantalla muestra solo la cola de atención (pacientes ya categorizados), ocupando toda la pantalla disponible. Útil si el CESFAM prefiere que el público solo vea la fila de atención, y reservar el detalle de categorización para el panel interno del equipo.
5.2 · Número de atención
La posición del paciente en la fila de espera de atención, calculada con el motor de orden descrito arriba. Es un hecho verificable en el momento: no requiere ningún supuesto ni dato histórico. Solo aplica a la cola de atención — la de categorización no tiene número de atención porque no hay prioridad clínica que ordenarla todavía.
5.3 · Tiempo de referencia MINSAL
El tiempo objetivo normativo de la categoría del paciente (C2: 30 min · C3: 90 min · C4: 180 min), tal como lo fija la Res. Exenta N° 108/2018. Es una norma, no una medición: dice lo que el sistema de salud se compromete a cumplir, no necesariamente lo que va a pasar hoy en este CESFAM.
5.4 · Tiempo estimado por fórmula — Ley de Little (W = L/λ)
El tercer indicador es una estimación calculada en tiempo real a partir del ritmo real de atención del día, usando la Ley de Little:
W = L / λ
Donde W es el tiempo esperado en el sistema, L es la posición del paciente en su cola de prioridad (el mismo número del indicador 1), y λ es el ritmo real reciente de atención de esa categoría (pacientes atendidos por hora, medido sobre los últimos pacientes efectivamente llamados). Aplicada al caso de un paciente puntual: si tiene L personas por delante y el sistema está atendiendo a un ritmo λ pacientes/hora en esa categoría, su espera estimada es L/λ, expresada en minutos.
Por qué esta fórmula y no un modelo de colas más sofisticado: los modelos de teoría de colas con prioridad (M/M/c aplicado a triage) exigen estimar tasas de llegada y de servicio estables por categoría — con el volumen bajo de un CESFAM, esas tasas tienen varianza enorme y los supuestos se vuelven frágiles. La Ley de Little evita ese problema: no modela la distribución, solo relaciona tres cantidades que se miden directamente (población en el sistema, tasa de throughput, tiempo de espera).
Cómo se calcula λ en la práctica: el ritmo reciente de atención de una categoría se mide sobre los últimos pacientes efectivamente llamados a box en esa categoría (ventana de 5 pacientes, mínimo 3 para que el cálculo tenga sentido). Si en ese día todavía no hay al menos 3 pacientes atendidos en la categoría, o si el ritmo medido resulta en cero (por ejemplo, box cerrado), el sistema no inventa un número: cae automáticamente al tiempo de referencia MINSAL del indicador 2, y lo etiqueta explícitamente como referencia, no como estimación.
Modo TV, uso offline e integración
6.1 · Modo TV
Vista de pantalla completa para la sala de espera: reloj, mensaje configurable, los dos bloques de cola (categorización y atención) con su título y meta, y los indicadores activos. El paciente llamado a box se resalta visualmente y —si el aviso sonoro está activado— dispara un tono audible. Se entra con el botón "Modo pantalla" (📺) o cargando la URL con ?tv.
El modo TV incluye, al pie de la pantalla, un banner fijo con el número de Salud Responde (600 360 7777, orientación telefónica 24 horas). Es un dato de utilidad pública permanente, visible siempre, no un indicador activable — está pensado para que quien está esperando sepa que existe esa vía de consulta en paralelo, sea cual sea su categoría.
6.2 · PWA e ingreso de pacientes
La aplicación es una PWA instalable (con manifest.json y service worker): se puede agregar a la pantalla de inicio de una tablet o computador de la sala de urgencia y seguir funcionando aunque se corte la conexión, porque la fila del día vive guardada en el propio dispositivo. El ingreso de un paciente registra solo nombre de pila + inicial y una nota opcional de box — sin categoría todavía, porque esa se asigna en el paso de categorización descrito en la sección 2.
6.3 · Exportar CSV
El botón "Exportar CSV del día" descarga la jornada completa (nombre, categoría, hora de ingreso, estado, box y minutos de espera) en un archivo listo para respaldo o análisis posterior, sin depender de ningún sistema externo.
6.4 · Integración fase 2 — webhook a hoja de cálculo
Para que una pantalla en otra sala muestre la misma fila que se ingresa en el panel, existen dos vías configurables, pensadas para crecer sin exigir un backend propio en el piloto:
- Lectura desde CSV publicado: la pantalla puede leer una hoja de Google Sheets publicada como CSV (columnas
nombre, categoria, ingreso, estado, box), refrescándose sola cada minuto. - Escritura vía webhook (opcional): cada acción del panel — ingreso, categorización, llamado, paso a atención, alta — puede enviarse a un webhook de Apps Script para que quede reflejada en esa misma hoja. Si el envío falla, la acción no se pierde: queda en una cola local que se reintenta en el siguiente evento.
El estado de la hoja ahora también distingue las dos colas: una fila sin categoría asignada entra a espera de categorización (estado pendiente); con categoría, entra directo a espera de atención (estado espera).
Este esquema es intencionalmente simple: una hoja de cálculo y un webhook, sin plataformas de orquestación de por medio. Es la vía de entrada hacia una integración con un sistema clínico real, si el CESFAM decide avanzar en esa dirección más adelante.
Notas de implementación y privacidad
El piloto usa datos ficticios: los pacientes de la demo (Rosa H., Juanito M., Marta P., y otros) son nombres de ejemplo, no personas reales atendidas en el CESFAM. No hay diagnóstico, RUT, ficha clínica ni ningún otro dato identificatorio más allá del nombre de pila y la inicial — exactamente lo mínimo necesario para que la persona reconozca su turno en una pantalla pública.