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); // Vincular a la persona equivocada manda la atención a otra historia clínica, // así que queda registrado quién hizo la vinculación. try { (new ActividadAdmin())->registrar( adminId(), 'turnero', 'vincular_paciente', $turnoId, [ 'turno_id' => $turnoId, 'paciente_id' => $pacienteId, 'paciente_nombre' => $nombreCompleto, ] ); } catch (\Throwable $e) { error_log('[vincular_paciente] auditoría: ' . $e->getMessage()); } jsonOk(['turno_id' => $turnoId, 'paciente_id' => $pacienteId]);