Files
whatsapp/modules/turnero/api/buscar_cie10.php
Lizandro GuarnizoandClaude Opus 5 71c9dfd424 Documentación: diagramas, kiosko y chat, catálogos, respaldos y endpoints documentados
Diagramas en texto dentro de bloques de código, en vez de capturas: se editan
como texto, no pesan en el repositorio y no quedan desactualizados solos. Se
agregan el recorrido de un turno, quién firma cada consentimiento, el paso de
una muestra pendiente entre visitas y la línea de tiempo de las tomas seriadas.

Páginas nuevas del manual: kiosko y pantallas de TV (las dos que funcionan sin
nadie operándolas), y chat de WhatsApp, que explica por qué el bot deja de
responder cuando un operador toma la conversación y de dónde sale el límite de
24 horas.

Páginas técnicas nuevas: registro de exámenes, y los catálogos del laboratorio
agrupados en una sola página por compartir la misma forma. Operación suma
respaldos y recuperación, incluyendo qué datos históricos no son recuperables.

Los 10 endpoints que no tenían comentario de cabecera ahora lo tienen, así que
la tabla generada por {{endpoints}} queda completa: 83 de 83.

DOCUMENTACION_LAB.md y README_LAB.md quedan como puntero al módulo;
WEBHOOK_ENDPOINTS.md se elimina por estar ya migrado a la sección técnica.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 10:49:02 -05:00

26 lines
663 B
PHP

<?php
/**
* GET ?q= — Busca diagnósticos CIE-10 por código o descripción.
*/
require_once __DIR__ . '/_helpers.php';
requireMethod('GET');
requireTurnero();
$q = trim($_GET['q'] ?? '');
if (strlen($q) < 2) { jsonOk(['items' => []]); }
$pdo = db();
$like = '%' . $q . '%';
// Código exacto primero, luego coincidencias por descripción
$stmt = $pdo->prepare(
"SELECT cod_diag, concepto
FROM cie10_diagnosticos
WHERE cod_diag LIKE ? OR concepto LIKE ?
ORDER BY CASE WHEN cod_diag LIKE ? THEN 0 ELSE 1 END, cod_diag
LIMIT 12"
);
$stmt->execute([$like, $like, $like]);
jsonOk(['items' => $stmt->fetchAll(PDO::FETCH_ASSOC)]);