prepare( "SELECT id FROM lab_formularios WHERE id = ? AND tipo = 'consentimiento' AND is_active = 1" ); $stmt->execute([$formularioId]); if (!$stmt->fetch()) { jsonError('Formulario no encontrado o no es un consentimiento activo.', 404); } } $pdo->beginTransaction(); try { // Quitar principal de todos $pdo->exec("UPDATE lab_formularios SET is_principal = 0 WHERE is_principal = 1"); // Marcar el nuevo principal (si aplica) if ($formularioId) { $stmt = $pdo->prepare("UPDATE lab_formularios SET is_principal = 1 WHERE id = ?"); $stmt->execute([$formularioId]); } $pdo->commit(); jsonOk([ 'formulario_id' => $formularioId, ], $formularioId ? 'Consentimiento principal actualizado' : 'Consentimiento principal desmarcado'); } catch (\Throwable $e) { $pdo->rollBack(); jsonError('Error al actualizar: ' . $e->getMessage(), 500); }