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>
44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* GET — Lista de médicos solicitantes.
|
|
*/
|
|
require_once __DIR__ . '/../../../config/config.php';
|
|
if (!isUserLoggedIn()) { http_response_code(401); echo json_encode(['ok'=>false,'error'=>'No autorizado']); exit; }
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
$pdo = Database::getInstance()->getConnection();
|
|
$buscar = trim($_GET['q'] ?? '');
|
|
$page = max(1, (int)($_GET['page'] ?? 1));
|
|
$limit = max(1, min(200, (int)($_GET['limit'] ?? 25)));
|
|
$offset = ($page - 1) * $limit;
|
|
|
|
$where = '';
|
|
$params = [];
|
|
|
|
if ($buscar !== '') {
|
|
$like = '%' . $buscar . '%';
|
|
$where = "WHERE nombres LIKE ? OR apellidos LIKE ? OR codigo LIKE ? OR docidmedico LIKE ?";
|
|
$params = [$like, $like, $like, $like];
|
|
}
|
|
|
|
$countStmt = $pdo->prepare("SELECT COUNT(*) FROM medicos $where");
|
|
$countStmt->execute($params);
|
|
$total = (int)$countStmt->fetchColumn();
|
|
|
|
$dataStmt = $pdo->prepare(
|
|
"SELECT id, codigo, nombres, apellidos, telefonos, email, cod_especialidad, docidmedico, activo
|
|
FROM medicos $where
|
|
ORDER BY apellidos, nombres
|
|
LIMIT $limit OFFSET $offset"
|
|
);
|
|
$dataStmt->execute($params);
|
|
|
|
echo json_encode([
|
|
'ok' => true,
|
|
'data' => $dataStmt->fetchAll(PDO::FETCH_ASSOC),
|
|
'total' => $total,
|
|
'page' => $page,
|
|
'limit' => $limit,
|
|
]);
|