prepare( "SELECT tc.datos_respuestas, tc.firmado_at, t.codigo AS turno_codigo FROM turnero_consentimientos tc JOIN turnero_turnos t ON t.id = tc.turno_id LEFT JOIN turnero_solicitudes ts ON ts.turno_id = t.id WHERE tc.formulario_id = ? AND tc.estado = 'firmado' AND COALESCE(ts.paciente_id, t.paciente_id) = ? AND t.id != ? ORDER BY tc.firmado_at DESC LIMIT 1" ); $stmt->execute([$formularioId, $pacienteId, $excludeTurno]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { jsonOk(['encontrado' => false]); } $datos = json_decode($row['datos_respuestas'] ?? '{}', true) ?: []; // No traer firmas ni identidad del profesional anterior: cada visita se firma de nuevo foreach (array_keys($datos) as $k) { if (str_contains($k, 'firma') || $k === '_pro_nombre' || $k === '_pro_cedula') { unset($datos[$k]); } } jsonOk([ 'encontrado' => true, 'datos_respuestas'=> $datos, 'firmado_at' => $row['firmado_at'], 'turno_codigo' => $row['turno_codigo'], ]);