prepare("SELECT id, sesion_id, estado FROM turnero_turnos WHERE id = ? LIMIT 1"); $turno->execute([$turnoId]); $t = $turno->fetch(PDO::FETCH_ASSOC); if (!$t) jsonError('Turno no encontrado.', 404); if (!in_array($t['estado'], ['en_espera_lugar', 'en_servicio'])) jsonError('El turno no está activo.'); // Verificar que el formulario existe $form = $pdo->prepare("SELECT id, nombre FROM lab_formularios WHERE id = ? AND is_active = 1 LIMIT 1"); $form->execute([$formularioId]); if (!$form->fetch()) jsonError('Formulario no encontrado o inactivo.', 404); // Crear el consentimiento con token UUID (mismo formato que create_solicitud) $ins = $pdo->prepare( "INSERT INTO turnero_consentimientos (turno_id, formulario_id, token, estado, datos_respuestas, creado_por) VALUES (?, ?, UUID(), 'enviado', '{}', ?)" ); $ins->execute([$turnoId, $formularioId, adminId()]); $newId = (int)$pdo->lastInsertId(); $token = $pdo->query("SELECT token FROM turnero_consentimientos WHERE id = $newId")->fetchColumn(); notificarSSE((int)$t['sesion_id']); jsonOk(['id' => $newId, 'token' => $token], 'Formulario agregado.');