Files
whatsapp/modules/turnero/api/vincular_paciente.php
Lizandro GuarnizoandClaude Sonnet 4.6 7475f3c58e fix(turnero): mostrar nombre del paciente en cola al vincularlo en recepción
Al vincular un paciente al turno, actualiza paciente_nombre con el
nombre_completo real de lab_pacientes. El siguiente poll de la cola
muestra el nombre en lugar de la cédula del kiosko.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 23:35:45 -05:00

31 lines
945 B
PHP

<?php
/**
* POST { turno_id, paciente_id }
* Vincula un paciente al turno para que los consentimientos puedan crearse.
*/
require_once __DIR__ . '/_helpers.php';
requireMethod('POST');
requireTurnero();
$d = inputJson();
$turnoId = (int)($d['turno_id'] ?? 0);
$pacienteId = (int)($d['paciente_id'] ?? 0);
if (!$turnoId || !$pacienteId) jsonError('turno_id y paciente_id requeridos.');
$pdo = db();
// Obtener nombre real del paciente
$nombre = $pdo->prepare('SELECT nombre_completo FROM lab_pacientes WHERE id = ?');
$nombre->execute([$pacienteId]);
$nombreCompleto = $nombre->fetchColumn() ?: null;
$stmt = $pdo->prepare(
'UPDATE turnero_turnos SET paciente_id = ?, paciente_nombre = COALESCE(?, paciente_nombre) WHERE id = ?'
);
$stmt->execute([$pacienteId, $nombreCompleto, $turnoId]);
if (!$stmt->rowCount()) jsonError('Turno no encontrado.', 404);
jsonOk(['turno_id' => $turnoId, 'paciente_id' => $pacienteId]);