Files
whatsapp/api/lab/get_pacientes.php
Lizandro GuarnizoandClaude Sonnet 4.6 912798fbcc feat(pacientes): origen 'lab' en vez de 'rips' + tabla ampliada + proteger origen en update
- Valor de BD cambia de 'rips' a 'lab' (más genérico)
- ingest_paciente: en UPDATE nunca pisa origen (conserva manual/whatsapp/lab)
- Badge muestra 'Resultados Lab' con ícono matraz; retrocompat con valor 'rips'
- Tabla agrega: teléfono+WA, email, EPS, género en nombre
- filtro dropdown usa 'lab' en lugar de 'rips'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 11:34:03 -05:00

30 lines
1001 B
PHP

<?php
/** GET /api/lab/get_pacientes.php — Lista paginada de pacientes o detalle por ID */
require_once __DIR__ . '/_helpers.php';
requireMethod('GET');
try {
$pac = new Paciente();
// Detalle de un paciente específico
if (!empty($_GET['id']) && ctype_digit($_GET['id'])) {
$row = $pac->obtener((int)$_GET['id']);
if (!$row) jsonError('Paciente no encontrado', 404);
jsonOk(['data' => [$row]]);
}
if (isset($_GET['stats'])) {
jsonOk(['stats' => $pac->stats()]);
}
$busqueda = trim($_GET['busqueda'] ?? $_GET['search'] ?? '');
$pagina = max(1, (int)($_GET['page'] ?? $_GET['pagina'] ?? 1));
$por = max(1, min(100, (int)($_GET['limit'] ?? $_GET['por_pagina'] ?? 30)));
$origen = in_array($_GET['origen'] ?? '', ['manual', 'lab', 'whatsapp'], true)
? $_GET['origen'] : '';
jsonOk($pac->listar($busqueda, $pagina, $por, $origen));
} catch (Exception $e) {
jsonError($e->getMessage(), 500);
}