Buscar Paciente
A
Admin

Supervisión operacional

Rendimiento de operadores

Compare la producción trazable por operador, módulo y día dentro del periodo seleccionado.

Seleccione un periodo para consultar

Filtros del reporte de rendimiento

Periodo rápido
Servidor ws.hus.gov.co · producción

Estado del HUS

Disponibilidad de cada servicio de HUS y el historial de caídas, día por día y hora por hora.

Consultando el estado del HUS…

Disponibilidad por servicio

Cada barra es un día. Toque una barra para ver las horas de las caídas.

Cargando…

Historial de caídas

Todas las desconexiones del periodo, con la hora de inicio y de recuperación.

Cargando…

Agendamiento · Integración HUS

Agenda local

Importe turnos por especialidad, actividad y profesional. Desde ese momento, todos los canales reservan aquí sin depender de la conexión con HUS.

HUS Fuente local

Origen de la agenda

Seleccione especialidad y actividad del catálogo. Los profesionales se leen de la agenda HUS de esa actividad.

Catálogo + agenda HUS
Datos protegidos y trazables. Se conservan los OID operativos y los datos legibles recibidos de HUS, incluida la ocupación existente. Solo son visibles con una sesión autorizada.
Turnos
—Sin agenda local todavía
Disponibles
—Estado HUS
Ocupados
—HUS o reserva local
Días
—Cobertura de agenda
Profesionales
—Médicos en la copia

Agenda local activa

Se muestran todas las fuentes locales vigentes; HUS solo se consulta al previsualizar o importar.

Turnos de la agenda local o de la vista previa HUS
Fecha y hora Profesional Especialidad / actividad Estado Ocupación operativa OID HUS
Cargando la agenda local activa…
0 turnos

Turnos apartados y sincronización con HUS

Lo que se agenda sobre una actividad en agenda local queda apartado aquí y se envía a HUS automáticamente. El paciente recibe la confirmación con fecha y hora cuando HUS la registra; si HUS la rechaza, queda en conflicto con una incidencia.

Turnos apartados en la agenda local y su estado en HUS
Turno Paciente Agendado por Estado en HUS Acciones
Cargando turnos apartados…

Actividades en agenda local

Mientras una actividad esté aquí, Registrar Cita, el motor automático y BELEN (IA) ofrecen y apartan sus turnos desde la copia local sin consultar HUS. «Volver a HUS» la devuelve a la agenda en vivo (solo con todo sincronizado).

Actividades que hoy se agendan desde la agenda local
Actividad Última descarga Turnos libres Sin registrar en HUS Acciones
Cargando actividades…
Admisión asistida

Registrar nuevo paciente en HUS

Consulte la identidad en ADRES, complete únicamente los datos faltantes y revise todo antes de crear el registro.

  1. 1Consultar
  2. 2Revisar y registrar

Consulte el documento del paciente

ADRES puede devolver más de una identidad para el mismo número; podrá escoger la correcta antes de continuar.

Esta consulta solo verifica identidad. El registro en HUS ocurre únicamente al confirmar el formulario.

Procesar Orden Médica — Gemini Vision

Suba una orden médica para extraer datos con el mismo pipeline que usa BELEN (IA) en WhatsApp (Gemini Vision → DeepSeek → OCR). Suba autorización + orden juntas para obtener el informe comparativo automático.

📂
Arrastre el archivo aquí
o haga clic para seleccionar — PDF, PNG, JPG, TIFF (máx. 30 MB)
Procesando con Gemini Vision…

Cola OCR Local — por paciente

Las órdenes que llegan por WhatsApp a las que les falta algún dato que el rescate sabe rellenar (sin CUPS, sin documento, sin nombre o con validación fallida) se encolan automáticamente y el servidor las reprocesa con el modelo visual local (Tesseract queda como degradación), una cada ~6 min (~10/hora). Nunca se pisa un campo ya guardado. «Sin mejora» no es un error: significa que no había nada que rellenar. Lo que sí hay que mirar son los «Fallido», y en especial los de identidad incompatible — ahí el re-OCR leyó otra cédula y queda una incidencia abierta. Cada trabajo muestra su fecha de encolado (día y hora) y permite ver el archivo a procesar.

Catálogo CUPS

Registro de códigos CUPS con sus descripciones. Se alimenta automáticamente al procesar órdenes médicas con OCR.

Cargando…

Catálogo Madre Canguro

Segundo catálogo de códigos, curado a mano, para procedimientos que el hospital usa pero que NO están en la nomenclatura CUPS nacional. El OCR de órdenes recorre primero el Catálogo CUPS y, si el código no aparece ahí, cae aquí antes de tratarlo como "desconocido" — así BELEN (IA) sigue resolviendo especialidad y documentos requeridos.

Cargando…

Catálogos HUS · control local

Catálogo de especialidades

Consulte la oferta vigente y sus relaciones. Los registros históricos se consolidan visualmente sin borrar actividades, CUPS ni profesionales.

Reportes
Base local Sincronizar actualiza estados; no elimina registros históricos.
Verificando identidades y relaciones del catálogo…
Cargando resumen…

Especialidades

Cargando catálogo local…

Cargando…

Seguimiento Madre Canguro

Registro del programa Madre Canguro: la madre se valida contra HUS (igual que Buscar Paciente) y se le asocian uno o más niños, con edad de gestación y peso al nacer. La edad actual del niño se calcula sola — no hay que actualizarla.

Cargando…

Especialidades con Disponibilidad Real

Lista mantenida automáticamente. Se sirve desde una caché local instantánea y se refresca contra HUS en segundo plano cuando supera 30 minutos.

Cargando disponibilidad…

Médicos y relaciones

Los médicos y sus relaciones con actividades y especialidades se leen de la base local. Expanda un médico para ver el origen de cada relación; la agenda se consulta en tiempo real contra HUS únicamente al abrirla.

Cargando registro de doctores…
Gestión de agenda

Lista de espera

Priorice los casos con mayor espera, revise la disponibilidad en HUS y contacte al paciente solo cuando exista un cupo vigente.

Flujo seguro: “Analizar cola” no contacta a nadie. “Ofrecer cupos” sí inicia la conversación por WhatsApp y vuelve a validar cada turno antes de enviarlo.
Pendientes — selección actual
Espera promedio — casos pendientes
Caso más antiguo — priorice su gestión
Cargando lista de espera…

Citas Canceladas

Auditoría de TODAS las cancelaciones de cita — por el paciente (WhatsApp / voz) y por operadores. Muestra si la cancelación quedó verificada en HUS, el canal, el motivo y quién la hizo.

Cargando…
Auditoría de agendamiento

Citas procesadas

Cada cita que Bissar envió a HUS, con su verificación en vivo, la orden médica que la respalda y el estado de la notificación al paciente.

Flujo seguro: las citas “Sin confirmar” se comprueban automáticamente con el pacienteOid. Si HUS devuelve una cita activa inequívoca, se corrige el registro y se encola la notificación de cita por WhatsApp. Las filas 409 repetidas de esa misma cita salen de “Sin confirmar” con bitácora; las coincidencias ambiguas permanecen para revisión.
Auditadas — intentos en el periodo
Tasa de éxito — —
Cargando citas procesadas…

Notificaciones de Citas

Pacientes a quienes se les envió la notificación de WhatsApp al asignarles una cita en HUS, con los datos enviados (especialidad, médico, fecha, OID) y el estado del mensaje.

Cargando…

Órdenes WhatsApp — documentos recibidos

Órdenes médicas y autorizaciones que los pacientes enviaron por WhatsApp (OCR). Los chips separan el trabajo del equipo de Consulta Médica Especializada (opción 1️⃣ de BELEN (IA)) y el de Servicios de Imagenología (opción 3️⃣).

Cargando órdenes…

Cierres por Agentes

Casos cerrados por un agente: agendamientos hechos por un operador (panel) o por BELEN (IA) (WhatsApp), más los cierres manuales ("Cita Procesada") desde Lista de Espera o Incidencias. Estos registros también aparecen en Citas Procesadas.

Filtros

Cargando cierres manuales…

Gestión de agenda

Centro de gestión de incidencias

Priorice anomalías, valide la información clínica y registre cada resolución con trazabilidad completa.

Flujo seguro: revisar o filtrar la bandeja no contacta al paciente. Las acciones de reverificación y gestión conservan sus confirmaciones y trazabilidad actuales.

Filtros principales

EPS y especialidad

La especialidad se determina exclusivamente con la relación validada CUPS → actividad → especialidad de los catálogos.

Cargando…
Consolida las variantes de la EPS registrada en la orden y muestra el código del plan obtenido del catálogo directo de HUS; los casos ambiguos permanecen señalados.
Cargando…
Los conteos recorren toda la bandeja, no solo la página actual. Los CUPS sin relación única y activa permanecen visibles en “Sin clasificar”.
Sin segmentación principal aplicada.

Resumen operativo

Situación de la bandeja

Seleccione un indicador para enfocar inmediatamente la cola.

Preparar la cola

Buscar y segmentar casos

Combine estado, prioridad, antigüedad y paciente para encontrar el caso correcto.

Filtros avanzados y herramientas
Acciones sobre el resultado actual
Distribución operativa

Refine la cola por área responsable o por disponibilidad actual en HUS.

Área de servicio
Agenda HUS

Cola resultante

Casos para gestionar

Revise el contexto y abra el detalle para registrar la acción correspondiente.

Cargando casos
Cargando incidencias…

Solo Manual

Casos de Incidencias y Lista de Espera bloqueados porque su CUPS no está habilitado para agendamiento automático (o no existe en el catálogo). Un solo lugar para gestionarlos todos.

Cargando…

Cupos no asignados

Pacientes que aceptaron un cupo por WhatsApp y se quedaron sin cita — otro paciente lo tomó primero o HUS rechazó el turno. Desde el 27/07/2026 el cupo queda reservado mientras la oferta está viva, así que esto no debería volver a pasar; esta pantalla es para responderles a los que ya quedaron afectados.

Reagendar y notificar (lo primero que hay que intentar): busca agenda libre para cada paciente seleccionado y, si la hay, le agenda la cita y le llega la confirmación con fecha, hora y médico. Reusa el «sí» que ya dio. Al que no consigue cupo no se le escribe nada: sigue en la lista.
Solo disculparse: le dice que el cupo no le fue asignado, que no tiene cita y que no se presente al hospital. Úselo cuando ya no haya nada que reagendar. Un solo mensaje por paciente aunque haya perdido varios cupos.
Ninguna de las dos acciones toca a quien ya quedó agendado, y nunca se confirma una cita sin OID real de HUS.
Cargando…

Seguridad del paciente · supervisión operativa

Centro de alertas críticas

Priorice casos que aún no tienen una gestión enlazada y supervise por separado los que ya cuentan con una incidencia activa.

Sin actualizar
Verificando la cola actual…

Las alertas sin incidencia se ordenan de la más antigua a la más reciente.

Por gestionar—
Incidencias activas—
Mayor espera—

La antigüedad ayuda a ordenar el trabajo; no representa una clasificación clínica ni reemplaza la valoración del caso.

Cargando alertas críticas…

Notificaciones por E-mail

Conecte el correo corporativo de Google para reportes y para los hilos de correo con pacientes iniciados desde Incidencias.

Conexión con Gmail / Google Workspace

Use una contraseña de aplicación; la misma conexión SMTP/IMAP permite enviar y relacionar respuestas de pacientes.

Se cifra antes de guardarse.
Seguridad: la contraseña de aplicación no se vuelve a mostrar ni se incluye en las respuestas de la API. Los reportes automáticos contienen solo cifras agregadas. Los correos clínico-operativos se guardan localmente y solo se vinculan cuando el hilo y el remitente coinciden con el paciente.

Destinatarios y programación por reporte

Agregue uno o varios correos por reporte, separados por coma. La hora corresponde a Colombia.

Cargando configuración de reportes…

Plantillas Oficiales de WhatsApp (Meta Cloud API)

Sincronización directa con Meta Graph API v21.0, auditoría de estado de aprobación y simulador en vivo de mensajes HSM con variables dinámicas.

Plantillas Locales
—
Definidas en el sistema
Aprobadas por Meta
—
Estado APPROVED
Categoría Principal
UTILITY
Notificaciones transaccionales
Idioma Estándar
es_CO
Español (Colombia)

Simulador y Prueba

Vista Previa
Parámetros de la Plantilla
Enviar Prueba Real por WhatsApp
Incluya código de país sin '+'. Ej: 573101234567

Catálogo de Plantillas Registradas

Cargando…
Cargando plantillas de WhatsApp…

Gestión y KPIs de Operadores

Productividad, calidad y velocidad de resolución por operador. El score combina volumen, velocidad (mediana), calidad (descarte/reapertura) y éxito de sincronización en HUS. Tiempo = mediana; el agendamiento humano se mide vía operaciones_log.

Filtros

Atendidas
—
Resolvió
—
Agendó
—
Descartó
—
Derivó
—
Reabrió
—
Operadores activos
—
Tasa éxito HUS
—
Tiempo HUS medio
—

Insights operativos

Efectividad de resolución
—
Índice de retrabajo
—
Cobertura operativa
—
Carga promedio por activo
—
Concentración Top 1
—
Concentración Top 3
—

Ranking de operadores (por score)

# Operador Rol Score Nivel Semáforo Atendidas Resolvió Descartó %Descarte Mediana resol. %<1h Prod/h Reaperturas
Aplique filtros para cargar datos.

Gestión de la lista de espera

Qué agente gestiona la cola de espera (agenda, contacta, deriva o cierra ítems) en el rango seleccionado. El backlog vivo "sin gestionar" es el total actual de la pestaña Pendientes.

Sin gestionar (ahora)
—
Gestionados (rango)
—
Agentes gestionando
—
Operador Rol Gestionados Agendó Contactó No contactable Derivó a incidencia Resolvió Rechazó Reasignó Última gestión
Aplique filtros para cargar datos.

Visualizaciones

Score por operador
Volumen en el tiempo
Distribución de acciones
Mix por tipo
Éxito de sincronización HUS

Bitácora de actividad

Hora Operador Acción Paciente Notas
Aplique filtros para cargar la bitácora.

Indicadores de salud

Indicadores de oportunidad, demanda y suficiencia (CEX / ONC / P.3.x) y reporte mensual de la Resolución 1552 de 2013. Universo: citas y solicitudes gestionadas por el canal Bissar. Cada tarjeta abre el detalle con su metodología y advertencias.

Cargando…

Reportes gráficos y estadísticos

Tendencia de oportunidad, distribución de la espera, demanda vs gestión de la cola y comparativo por especialidad, sobre el mismo rango de fechas de arriba. Percentiles calculados sobre los días de espera reales de cada cita.

Oportunidad promedio (días) por periodo

Citas asignadas por periodo

Distribución de los días de espera

Demanda: solicitudes vs gestionadas

Oportunidad por especialidad (top 15 por volumen)

Citas por canal

Tipo de cita

Resolución 1552 de 2013 — reporte mensual

Numerales 1 a 6 por tipo de cita y mínimo/máximo por especialidad. Los numerales 3 y 5 se calculan solo sobre citas con fecha deseada capturada (cobertura indicada).

Cargando…

Calidad — Satisfacción del paciente

Calificación del servicio (1 = ineficiente … 5 = excelente) que el paciente asigna por WhatsApp. Al finalizar una atención humana se evalúa al operador que dio la última respuesta y luego se pregunta el motivo. Cada operador conserva sus resultados de forma independiente.

Promedio
—
Respondidas
—
Motivos recibidos
—
Pendientes
—
Tasa de respuesta
—

Distribución de calificaciones

—

Promedio por operador

OperadorCalificacionesMotivosPromedio
—

Calificaciones recientes

FechaPacienteOperadorCalificaciónMotivo de la calificaciónEstado
—

Consentimientos Habeas Data — Ley 1581

Trazabilidad transaccional de la aceptación o rechazo del tratamiento de datos personales por parte de los pacientes vía WhatsApp. Cada evento queda con su hash de evidencia y un snapshot de la conversación.

Cargando…

Pacientes — Salud Pública (MGE / SP)

🎯 Embudo de notificación

📨 Estado del envío SMS

👤 Curso de vida

🩺 Régimen

📍 Top 10 municipios

🏥 Top 15 EPS

🎂 Distribución por edad

⚠️ Grupo de patología (con clasificación)

🩺 Resultado de tamización

📂 Estado del caso clínico

📁 Archivos cargados

❌ Top errores de envío SMS

Llamadas — BELEN (IA)

0
0
0
—
Cargando llamadas...
Canal asistencial · operación en vivo

Conversaciones WhatsApp

Prioriza conversaciones, consulta el contexto del paciente y revisa documentos desde un único espacio operativo.

— pacientes nuevos hoy verificando copia local y OID HUS Esperando actualización
Chat de WhatsApp en mantenimiento — BELEN (IA) no atiende. Para seguir usándolo, inicie el mensaje con bissar-cita.

Seleccione una conversación

Revise el historial, el contexto del paciente y los documentos asociados. Si su rol lo permite, también podrá tomar control de la atención.

Preguntas Frecuentes — Hospital

Gestión de preguntas y respuestas que el agente BELEN (IA) utiliza para responder consultas de información del hospital.

Cargando…

Reportar una incidencia

Describa el problema con claridad. Puede adjuntar una captura para ayudar al equipo administrador a resolverlo.

Información del ticket

Los campos marcados con asterisco son obligatorios.

Resuma el problema en una frase.0/160
No incluya contraseñas ni información clínica innecesaria.0/5000

Mis tickets

Consulte el estado y las respuestas de las incidencias que ha reportado.

Cargando tickets…

Gestión de Usuarios

Cargando…

Historial de Accesos

Registro de todos los intentos de inicio de sesión en el sistema.

Cargando…

Logs — Auditoría de cambios

Trazabilidad de cambios sensibles del panel: quién los hizo, cuándo y qué valores había antes y después.

Ediciones de teléfono, correo o fecha de nacimiento hechas desde Registrar Cita y verificadas contra HUS.

Cargando…

Crear clave

Licencias de BISSAR-OCR · Acceso exclusivo de davebas

Vacío: sin vencimiento. Hasta 3650 días.
La clave permite activar las instalaciones autorizadas.

Instrucciones de instalación

Instale BISSAR-OCR en el servidor del cliente y verifique su conexión.

Linux (CLI): ver pasos y comandos de instalación

Requiere Linux, Python 3.8 o posterior, curl y acceso HTTPS a https://bissar.co. Para instalar en el sistema, use una cuenta con sudo. El servidor cliente no necesita GPU.

Ejecute los pasos en la misma terminal del servidor donde instalará el CLI. Copie la clave del cliente desde “Ver clave de activación”.

1. Descargar el instalador

BISSAR_INSTALL_DIR="$(mktemp -d)" &&
curl --fail --show-error --proto '=https' --tlsv1.2 \
  https://bissar.co/install.sh \
  -o "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh"

Continúe cuando la descarga termine sin errores. Puede revisar el archivo descargado o abrir el instalador oficial.

2. Instalar y activar con la clave

sudo bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh"

La instalación con sudo crea la cuenta Linux bissar y, en el modo sin SSH, establece automáticamente la contraseña inicial configurada por el administrador. Para acceso con .pem sin contraseña, use la opción “Acceso SSH para el usuario bissar” de esta guía. Si la cuenta ya existe, conserva sus credenciales locales.

Esta contraseña pertenece al usuario local del servidor y es independiente de la clave del CLI. Se establece en ese equipo y no se envía a Bissar.

En la primera instalación, pegue la clave cuando aparezca “Clave BISSAR-OCR” y presione Enter. La clave no se muestra mientras la escribe. La activación registra este servidor y consume una activación disponible.

Si ya existe una configuración, el instalador verifica la licencia con Bissar. Si sigue vigente, la conserva; si recibe HTTP 401/403, solicita una clave nueva. Ante un fallo de conexión conserva la configuración y se detiene.

3. Comprobar versión y conexión

sudo /usr/local/bin/bissar-ocr --version
sudo /usr/local/bin/bissar-ocr --config /etc/bissar-ocr/config.json status --raw
sudo /usr/local/bin/bissar-ocr --config /etc/bissar-ocr/config.json doctor --raw

status verifica la licencia y doctor comprueba conexión y compatibilidad. Revise que devuelvan "ok": true. Estos comandos usan sudo para leer la configuración privada de la instalación del sistema.

Después pulse Actualizar en “Claves e instalaciones” para ver hostname, IP, sistema operativo, UUID y último uso del servidor.

Solicitar otra clave o corregir HTTP 401/403

Descargue el instalador actualizado con el paso 1 y ejecute este comando para solicitar una clave aunque ya exista configuración. Use una clave activa con cupo disponible. La configuración anterior solo se reemplaza si la nueva activación tiene éxito.

sudo bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh" --reactivar

La clave se solicita por terminal y no aparece al escribirla. Si usa el puente local, agregue --service para cargar la nueva activación en el servicio. Ejecute el archivo con bash; no necesita cambiar sus permisos de ejecución.

Puente local para una aplicación web (opcional)

Si una aplicación del mismo servidor necesita la API local, instale el servicio con --service. Requiere systemd 247 o posterior; conserva la configuración existente.

sudo bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh" --service
systemctl is-active bissar-ocr.service
curl --fail --show-error http://127.0.0.1:8585/v1/health

El puente escucha en 127.0.0.1:8585 y se inicia automáticamente con el servidor. Su estado local se comprueba con /v1/health; para validar la conexión con Bissar use también doctor.

Acceso SSH para el usuario bissar

Genere el acceso aquí para instalar sin crear una contraseña de bissar. La clave privada se genera en este navegador y se descarga como .pem; el servidor recibe únicamente la clave pública mediante un archivo JSON.

Si ves “Opción desconocida”, usa el comando generado: descarga una copia nueva del instalador 1.3.0. La ruta /ruta/operador.pub del ejemplo manual debe sustituirse por un archivo real.

Copie al servidor la clave pública del equipo desde el que se conectará y añada esta opción al instalar. El archivo debe contener una sola clave OpenSSH. La clave privada permanece en su equipo.

sudo bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh" --ssh-key-file /ruta/operador.pub

Requiere OpenSSH Server instalado y el servicio SSH activo. Admite una clave pública OpenSSH o PEM. Una cuenta nueva se crea sin contraseña utilizable; si bissar ya existe, conserva sus credenciales locales. Para entrar por SSH se exige la clave pública. Si el servidor tiene restricciones adicionales, el instalador muestra las que requieren revisión.

Después, desde el equipo que conserva la clave privada correspondiente:

ssh -i /ruta/clave_privada bissar@SERVIDOR

Revocar una licencia del CLI no revoca este acceso SSH. Para retirar una clave, elimine su línea de /etc/ssh/bissar-cli/authorized_keys en el servidor.

Instalación sin permisos de administrador

Después de descargar el instalador, ejecute esta alternativa en lugar del paso 2. Instala el CLI para el usuario actual; no crea la cuenta bissar ni configura el servicio systemd.

bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh"
"$HOME/.local/bin/bissar-ocr" --config "${XDG_CONFIG_HOME:-$HOME/.config}/bissar-ocr/config.json" doctor --raw
Instalación desatendida con un archivo de clave

Guarde la clave del CLI en un archivo privado del servidor y sustituya la ruta del ejemplo por la real. Use esta alternativa al paso 2 cuando no haya una terminal interactiva. La contraseña inicial de la nueva cuenta bissar se configura automáticamente; si la cuenta ya existe, se conserva su contraseña.

chmod 600 /ruta/clave-ocr.txt
sudo bash "$BISSAR_INSTALL_DIR/bissar-ocr-install.sh" --key-file /ruta/clave-ocr.txt

Para elegir otra contraseña inicial de bissar, guárdela en un archivo separado con permisos 0600 y añada --user-password-file /ruta/password-bissar.txt al comando. Se omite si la cuenta ya existe.

Windows Server con Next.js: ver pasos del instalador

Para Windows Server 2016 o posterior (x64) con acceso HTTPS a https://bissar.co. Usa la misma clave y la misma activación que el CLI de Linux: el servidor aparece en “Claves e instalaciones” y se revoca igual. Entregue al cliente la clave desde “Ver clave de activación”.

1. Descargar el instalador en el servidor

En PowerShell, en la carpeta donde quiera guardarlo:

Invoke-WebRequest https://bissar.co/api/v1/bissar-ocr/install/windows/bissar-ocr-windows-1.0.1.exe -OutFile bissar-ocr-windows-1.0.1.exe
Get-FileHash .\bissar-ocr-windows-1.0.1.exe -Algorithm SHA256

El hash debe ser 46acd9cfc6325695eb844af4bed1ca296ad813121e81f2d96fceef919bd8e5d6. También puede descargar el instalador desde el navegador del servidor. No está firmado digitalmente: si Windows muestra “Windows protegió su PC”, elija Más información → Ejecutar de todas formas.

2. Ejecutarlo y pegar la clave

Haga doble clic sobre bissar-ocr-windows-1.0.1.exe y acepte el aviso de administrador. Cuando aparezca “Clave BISSAR-OCR”, pegue la clave con clic derecho y presione Enter. La clave no se muestra mientras la escribe.

El instalador hace lo siguiente:

  • Activa el servidor: registra hostname, IP, sistema operativo y MachineGuid, y consume una activación. Si ya existe una licencia vigente, la conserva y no consume otra.
  • Instala el servicio BissarOCR con inicio automático y reinicio ante fallos.
  • Verifica la conexión con Bissar.

El token queda en C:\ProgramData\BissarOCR\config.json. Solo pueden leerlo SYSTEM, Administradores y el servicio. El puente escucha únicamente en http://127.0.0.1:8585.

3. Comprobar el servicio

cd "C:\Program Files\BissarOCR"
.\bissar-ocr.exe doctor
sc.exe query BissarOCR

Abra PowerShell o el Símbolo del sistema como Administrador; los comandos funcionan en ambos. doctor debe devolver "ok": true y el servicio debe aparecer como RUNNING. Después pulse Actualizar en “Claves e instalaciones”.

4. Conectar la aplicación Next.js

En la carpeta del proyecto, instale el conector. Detecta el servicio automáticamente y no necesita la clave.

npm install https://bissar.co/api/v1/bissar-ocr/install/next/bissar-ocr-next-1.1.0.tgz

Cree el archivo app/api/bissar-ocr/procesar/route.ts. La función autorizar es obligatoria y debe comprobar la sesión de la aplicación del cliente.

import { crearRutaProcesar } from '@bissar/ocr-next/next';
export const runtime = 'nodejs';
export const dynamic = 'force-dynamic';
export const POST = crearRutaProcesar({ autorizar: async () => Boolean((await auth())?.user) });

El navegador solo llama a esta ruta, y la aplicación solo habla con el servicio local. El paquete incluye el componente BissarOcrCarga, rutas para consultar horarios y su guía completa en el README.

Instalación desatendida, otra clave o desinstalar

Instalación sin intervención, en PowerShell como Administrador. Guarde la clave en un archivo, ejecute el comando y borre el archivo después:

.\bissar-ocr-windows-1.0.1.exe instalar --clave-archivo C:\ruta\clave-ocr.txt --silencioso

Ante HTTP 401/403 o una instalación revocada, ejecute de nuevo el instalador: pedirá otra clave. Para solicitarla aunque la licencia siga vigente:

.\bissar-ocr-windows-1.0.1.exe instalar --reactivar

La configuración anterior solo se reemplaza si la nueva activación tiene éxito. Si el puerto 8585 está ocupado, añada --puerto 8586; para un proxy corporativo, --proxy http://proxy:8080.

Para desinstalar, use el comando siguiente. Conserva la configuración salvo que añada --borrar-config:

cd "C:\Program Files\BissarOCR"
.\bissar-ocr.exe desinstalar
Sin instalar servicios: activar con npx

Úselo cuando el servidor no permita instalar servicios. La aplicación Next.js lee el token directamente. Ejecute en PowerShell como Administrador, en la carpeta del proyecto:

npm install https://bissar.co/api/v1/bissar-ocr/install/next/bissar-ocr-next-1.1.0.tgz
npx bissar-ocr-next activar --usuario-servicio "IIS AppPool\NOMBRE_DEL_GRUPO"

Sustituya IIS AppPool\NOMBRE_DEL_GRUPO por la cuenta que ejecuta Next.js. Si la aplicación corre como servicio con usuario propio, use "SERVIDOR\usuario"; con Servicio de red, use "*S-1-5-20". Si cambia la cuenta, use npx bissar-ocr-next permisos --usuario-servicio "…".

Claves e instalaciones

Servidores registrados y actividad de las licencias

“Activa” indica una instalación autorizada, no que el servidor esté conectado. Hostname, sistema operativo y UUID son los datos enviados al activar el CLI o el conector Next.js. Fechas en hora de Colombia.

Claves

Instalaciones y servidores

Test HUS — Rendimiento del servidor

Mide cuántas solicitudes por minuto aguanta el API del HUS antes de degradarse. Visible solo para davebas.

Sin pruebas en curso

Solo se disparan consultas de lectura (catálogos y autenticación): la prueba nunca registra pacientes ni agenda citas. Contra HUS Producción la carga la siente el hospital de verdad — úselo fuera de horario pico y con escalones cortos.

Pasado este tiempo la solicitud cuenta como fallida.

Sube la carga por escalones y clasifica cada uno: óptimo, ineficiente (responde pero encolando), falla o colapso. Corta sola al primer escalón con errores.

Solicitudes simultáneas en cada escalón.

Diagnóstico de endpoints

Prueba uno por uno TODOS los servicios del HUS y muestra cuáles responden bien y cuáles fallan.

Sin diagnóstico

Cada servicio se consulta varias veces, porque el HUS falla de forma intermitente: con una sola llamada el resultado sería una moneda al aire. Usa el servidor objetivo seleccionado arriba. Los servicios que modifican datos (agendar, cancelar, registrar) se listan pero nunca se ejecutan.

Pruebas anteriores

Historial de corridas para comparar el rendimiento entre días.

Cargando…

Cupos por Día

Seleccione un mes para ver la capacidad.

Calendario de Citas

Seleccione un mes para ver las citas.
Gestión asistencial

Registrar nueva cita

Identifique al paciente, consulte la fuente operativa y confirme el turno de forma trazable.

HUS o Agenda local · fuente verificada

Identifique al paciente

Consulte el documento para validar los datos del paciente antes de buscar una cita.

Digite únicamente números. La consulta se realiza directamente en HUS.

Nuevo caso en cola

¿Qué es? Cola interna de Bissar para casos que no se resuelven al instante (sin agenda abierta, autorización pendiente, etc.). Un operador del Hospital lo gestiona desde Lista de Espera. Los datos del paciente se consultan en HUS pero el caso queda registrado solo en su BD local.
Configuración · carga controlada

Importar Lista de Espera

Analice solicitudes históricas, revise la relación Actividad–CUPS y apruebe cada EPS antes de consultar al paciente por WhatsApp.

La carga no agrega pacientes directamente a la cola. Primero analiza el archivo. Solo una EPS aprobada puede iniciar la consulta WhatsApp; únicamente una respuesta Sí crea Lista de Espera. Un No o la falta de respuesta después del recordatorio descartan esa fila.
Consultando el estado de las plantillas WhatsApp…

EPS Autorizadas

Catálogo jerárquico de EPS Principales por régimen (Contributivo / Subsidiado). Los pacientes nuevos usan el Contrato Activo; los históricos conservan su convenio.

Cargando EPS Principales…

Sedes

Registre las sedes del hospital (nombre, dirección y teléfonos). Cada CUPS usa una sede; la dirección de esa sede se le informa al paciente en la confirmación de la cita. Un CUPS sin sede asignada usa la primera sede activa.

Cargando…
Control operativo de agendas

Cupos bloqueados

Consulte qué disponibilidad quedó fuera del agendamiento, a quién afecta y cuándo volverá a estar habilitada.

Qué muestra esta consulta. Reúne los rangos completos bloqueados por profesional y los cupos sueltos bloqueados por hora. Un bloqueo vigente excluye esa disponibilidad del panel, WhatsApp y voz. Las fechas vencidas no se listan porque ya no afectan el agendamiento.

Consultar bloqueos

Combine los filtros para ubicar una agenda, un motivo o una fecha específica.

Sin filtros adicionales
Rango rápido

Resultados de la consulta

Aplicando filtros…

Cargando…

Estados de Afiliación EPS

Configure qué estados de afiliación de ADRES permiten continuar con el proceso de atención. Los estados marcados como Permitido podrán agendar citas; los Denegado recibirán un mensaje y se terminará la llamada.

Cargando…

Anuncios del equipo

¿Cómo funciona? Los anuncios aparecen en el ícono 🔔 del topbar hasta que cada usuario los marca como vistos. Si configura recurrente cada N días, el aviso reaparece automáticamente (ideal para reuniones quincenales o presentaciones periódicas).
Cargando…

Crear orden / autorización

Genera órdenes médicas y autorizaciones oficiales o de prueba en formato PDF o PNG con datos consultados directamente en HUS.

1. Consultar paciente

La búsqueda valida la identidad, EPS y régimen del paciente en tiempo real.

Flujo del Agente Telefónico — BELEN (IA)

Diagrama detallado del proceso de atención automatizada de llamadas del agente BELEN (IA).

Fase 1 — Consentimiento
📞 Llamada entrante
→
BELEN (IA) saluda y solicita
consentimiento Ley 1581
→
¿Acepta?
NO
❌ Termina llamada
SÍ ↓
Fase 2 — Identificación Silenciosa
Pide número de documento
Normaliza voz → dígitos
→
🔧 consultar_afiliacion_adres
Obtiene tipo_doc, EPS, estado
→
🔧 verificar_eps_autorizada
Verifica convenio con HUS
EPS NO ACTIVA
❌ "Comuníquese con su EPS"
SIN CONVENIO
❌ "Diríjase al portal de su EPS"
AUTORIZADA ↓
🔧 consultar_paciente
Consulta en vivo a HUS (wsbase/consultar/paciente)
→
¿Existe?
NO EXISTE
Pide: fecha nacimiento,
sexo, teléfono, email
↓
🔧 registrar_paciente
Auto-completa desde ADRES
Guarda MySQL + sync HUS
EXISTE ↓
✅ "Ya lo tengo en sistema"
Fase 3 — Menú de Servicios
1️⃣ Consultar cita
↓
🔧 consultar_citas_paciente
↓
Muestra próxima cita
2️⃣ Agendar cita
↓
🔧 consultar_especialidades
↓
🔧 consultar_horarios
Paralelo: doctor × actividad
↓
¿Hay disponibilidad?
SÍ
🔧 asignar_cita
↓
✅ Cita confirmada
NO
🔧 registrar_lista_espera
↓
⏳ En cola de espera
3️⃣ Reagendar / Cancelar
↓
🔧 consultar_citas_paciente
↓
🔧 cancelar_cita
↓
Ofrece reagendar
4️⃣ Info hospital
↓
🔧 informacion_hospital
↓
Dirección, horarios, PBX
5️⃣ Imágenes diagnósticas
↓
🔧 consultar_resultados
↓
🔧 consultar_imagenes
6️⃣ Otro trámite
↓
🔄 Transfiere a agente humano
Post-Llamada — Registro Automático
BELEN (IA) finaliza llamada
→
Webhook POST
Transcripción + Audio
→
Unifica por conversation_id
Traduce resumen EN→ES
→
💾 MySQL bissar_llamadas
+ JSONL backup
Leyenda: Acción BELEN (IA) Decisión Herramienta MCP Éxito Fin / Error En espera Opción menú

API REST — Documentación e Integración

Visión general

El API REST de Bissar HUS permite a sistemas de terceros consultar pacientes, agendar citas y obtener información del Hospital Universitario de Santander. Toda llamada autentica con un token Bearer; cada token está vinculado a un client_code y a un conjunto de scopes (permisos granulares).

Base URL: https://bissar.co/api/v1
Autenticación: header Authorization: Bearer <tu_token>
Recomendado: incluir también X-Client-Code: <tu_code> (defensa en profundidad)
🆕 Cambios recientes (mayo–junio 2026)
  • Catálogo CUPS extendido — los registros en bissar_cups ahora incluyen tipo_consulta, recomendaciones_preparacion, observaciones y especialidad_hus (nombre canónico HUS). Editables desde Catálogo CUPS, expuestos en GET /api/v1/cups.
  • Mapeo CUPS → especialidad canónica — al pegar el nombre HUS exacto en el campo especialidad_hus, BELEN (IA) (WhatsApp y voz) usa ese nombre directamente al agendar, evitando matching difuso por puntuación o palabras extra (ej. "CIRUGÍA PLÁSTICA, ESTÉTICA Y RECONSTRUCTIVA" se resuelve correctamente a HUS "CIRUGIA PLASTICA Y ESTETICA").
  • Segundo validador en consultar_horarios — si la búsqueda primaria no encuentra agenda, intenta automáticamente con el nombre canónico del catálogo CUPS antes de derivar a lista de espera (reduce falsos negativos).
  • Disponibilidad endurecida — GET /api/v1/especialidad/{codigo}/disponibilidad ahora paraleliza médicos × actividades con semáforo (16 concurrentes) y aplica un presupuesto de 28 s; en timeout devuelve {"disponible": false, "timeout": true} en lugar de un 504 HTML.
  • Confirmación de cita con preparación — la herramienta asignar_cita del MCP devuelve, junto con el OID de la cita, las recomendaciones y observaciones registradas en el CUPS para que el agente las lea al paciente.
  • Reporte rojo "Sin disponibilidad" en el panel — lista los baches de oferta del catálogo HUS en un PDF imprimible (Especialidades → 🚫).
  • Rol nuevo lista_espera — usuarios con acceso restringido SOLO a la cola de lista de espera (no toca pacientes/citas/CUPS).
  • Indicadores de salud (junio 2026) — nueva familia GET /api/v1/indicadores con 21 indicadores CEX (entre CEX-02 y CEX-37, no consecutivos), ONC-33..37, P.3.3..P.3.7 y el reporte mensual de la Resolución 1552 de 2013 (scope indicadores:leer). Cada respuesta declara su metodología y advertencias (proxies, universo del canal digital); el catálogo es la fuente de verdad de los códigos disponibles.
  • Endpoints de escritura (junio 2026) — los scopes paciente:registrar, cita:agendar y cita:cancelar ya tienen endpoint: POST /api/v1/pacientes/registrar, POST /api/v1/citas/agendar (con todos los gates del panel y verificación anti cita-fantasma) y POST /api/v1/citas/cancelar. El modal "Nuevo cliente" ahora lee los scopes del backend, agrupados y con descripción — los de escritura van marcados.
¿No tienes Postman?

Importa el JSON en Postman/Insomnia/Thunder Client, edita las variables token y client_code con los que recibiste al crear tu cliente, y todos los requests quedan listos para ejecutar.

Inicio rápido

## 1. Health check (sin auth)
curl https://bissar.co/api/v1/health

## 2. Buscar paciente por documento
curl -H "Authorization: Bearer bsr_TU_TOKEN_AQUI" \
     -H "X-Client-Code: TU-CLIENT-CODE" \
     "https://bissar.co/api/v1/paciente/buscar?documento=1033750294&tipoDocumento=1"

## 3. Listar especialidades
curl -H "Authorization: Bearer bsr_TU_TOKEN_AQUI" \
     https://bissar.co/api/v1/especialidades

Endpoints disponibles

MétodoEndpointScopeDescripción
Sistema
GET/api/v1/health—Estado del API (ping sin auth)
GET/api/v1/statsstats:leerEstadísticas globales (totales por tabla)
Pacientes
GET/api/v1/paciente/buscar?documento=&tipoDocumento=paciente:leerBusca paciente HUS por documento
GET/api/v1/paciente/{documento}/resultados?tipoDocumento=paciente:resultadosResultados de laboratorio (tipoDocumento numérico)
GET/api/v1/paciente/{documento}/imagenes?tipoDocumento=paciente:resultadosImágenes diagnósticas (tipoDocumento alfabético: CC, CE, TI, RC)
POST/api/v1/pacientes/registrarpaciente:registrarRegistra un paciente nuevo en HUS.
Si ya existe devuelve ya_existe sin duplicar; siempre respalda en el registro local.
Citas
GET/api/v1/calendario?mes=&anio=calendario:leerCitas agendadas agrupadas por día
GET/api/v1/cita/paciente/{paciente_oid}cita:leerCitas asignadas a un paciente
POST/api/v1/citas/agendarcita:agendarAgenda una cita en HUS con el mismo motor del panel.
Respeta kill-switch y gate CUPS "Solo Manual" (envíe cups); solo confirma si HUS devuelve la cita al re-consultarla (verificación anti cita-fantasma). Auditada con canal api.
POST/api/v1/citas/cancelarcita:cancelarCancela una cita en HUS por su oidCita
GET/api/v1/lista-esperalista-espera:leerPacientes en lista de espera (priorizados)
Especialidades y disponibilidad
GET/api/v1/especialidadesespecialidades:leerCatálogo HUS de especialidades
GET/api/v1/especialidades/disponiblesdisponibilidad:leerEspecialidades con cupo real (escaneo activo)
GET/api/v1/especialidad/{codigo}/disponibilidaddisponibilidad:leerDetalle de horarios disponibles para una especialidad
Catálogos
GET/api/v1/cups
params: q, grupo, page, page_size
cups:leerBuscar en catálogo CUPS por código o descripción.
Devuelve además: tipo_consulta, recomendaciones_preparacion, observaciones, especialidad_hus (nombre canónico HUS).
GET/api/v1/cups/gruposcups:leerGrupos del catálogo CUPS
GET/api/v1/cups/subgrupos?grupo=cups:leerSubgrupos CUPS, opcionalmente filtrados por grupo
GET/api/v1/epseps:leerEPS autorizadas y no autorizadas con convenio
GET/api/v1/estados-afiliacioneps:leerEstados de afiliación EPS y si permiten atención
GET/api/v1/faq?categoria=faq:leerPreguntas frecuentes del hospital
GET/api/v1/faq/categoriasfaq:leerCategorías disponibles en el FAQ
Salud Pública / ADRES
GET/api/v1/adres/consultar?documento=adres:leerConsulta ADRES (Ministerio de Salud) — afiliación, EPS, régimen
GET/api/v1/salud-publica/statssalud-publica:leerEstadísticas agregadas del programa MGE
Indicadores de salud (CEX / ONC / Resolución 1552)
GET/api/v1/indicadoresindicadores:leerCatálogo de indicadores disponibles (21 indicadores CEX entre CEX-02 y CEX-37 — no consecutivos —, ONC-33..37, P.3.3..P.3.7, Resolución 1552) con estado de datos y advertencias metodológicas.
Universo: solo citas/solicitudes del canal Bissar, no toda la central del HUS.
GET/api/v1/indicadores/{codigo}
params: desde, hasta (default: últimos 30 días)
indicadores:leerCalcula un indicador puntual, ej. CEX-35 (oportunidad general: n, promedio, mediana, mín, máx, % >30 días), CEX-31 (citas por especialidad), CEX-18 (demanda insatisfecha), P.3.3 (espera 1ª vez Medicina Interna).
"Primera vez" se infiere del CUPS de la orden (8902xx); ginecología y obstetricia no son separables (GINECOOBSTETRICIA en HUS).
GET/api/v1/indicadores/resolucion-1552?mes=YYYY-MMindicadores:leerReporte mensual Resolución 1552 de 2013: citas asignadas, sumatoria y promedio de días de espera según solicitud, y mín/máx por especialidad (numerales 1, 2, 4 y 6).
Numerales 3 y 5 (fecha deseada por el usuario) se reportan en null: el dato no se captura en el flujo actual.

Ejemplos por lenguaje

# pip install requests
import requests

API = "https://bissar.co/api/v1"
TOKEN = "bsr_TU_TOKEN_AQUI"
CODE = "TU-CLIENT-CODE"
HEADERS = {
    "Authorization": f"Bearer {TOKEN}",
    "X-Client-Code": CODE,
}

# Buscar paciente
r = requests.get(f"{API}/paciente/buscar",
    params={"documento": "1033750294", "tipoDocumento": "1"},
    headers=HEADERS, timeout=15)
print(r.status_code, r.json())

Códigos de respuesta

200OK · respuesta válida
401Token inválido, expirado o revocado
403Token sin scope para este endpoint
429Rate limit excedido — reintenta más tarde
502Error consultando HUS upstream

Seguridad

  • Los tokens se almacenan hasheados (SHA-256) — el sistema nunca puede recuperar el plano.
  • El token plano se muestra solo una vez en la creación. Si lo pierdes, regeneralo (invalida el anterior).
  • Cada cliente tiene un rate limit configurable (default: 60 req/min).
  • Toda llamada se registra en bissar_api_calls con IP, ruta, status y duración.
  • Soporta scopes granulares — el principio de mínimo privilegio.
  • Los tokens pueden tener expiración opcional.

MCP Server — Herramientas del Agente BELEN (IA)

¿Qué es el MCP Server?
El servidor MCP (Model Context Protocol) expone herramientas que BELEN (IA) usa para razonar y operar contra el sistema HUS. Cada interacción de BELEN (IA), telefónica o por WhatsApp, puede invocar varias de estas tools en cadena para resolver una tarea: identificar al paciente, validar EPS, buscar disponibilidad, agendar cita, etc.

Ambiente actual: cargando…
Cargando catálogo de herramientas…