;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Com câncer, Covas melhora, sai da UTI e vai para leito semi-intensivo

Bruno Covas (PSDB), prefeito de São Paulo, tomando posse na Câmara Municipal - Alex Silva/Estadão Conteúdo
Bruno Covas (PSDB), prefeito de São Paulo, tomando posse na Câmara Municipal Imagem: Alex Silva/Estadão Conteúdo

Leonardo Martins

Do UOL, em São Paulo

04/05/2021 13h08

O prefeito de São Paulo, Bruno Covas (PSDB), apresentou melhora no quadro clínico de ontem para hoje e, por isso, saiu do leito de UTI (Unidade de Terapia Intensiva), onde estava internado. Ele vai para um leito de unidade semi-intensiva.

A informação foi divulgada hoje pela equipe médica do hospital Sírio-Libanês, em São Paulo, onde Covas faz seu tratamento contra um câncer desde 2019.

Segundo David Uip, um dos especialistas que acompanha Covas, o sangramento apresentado pelo prefeito no estômago foi agudo e já está sob controle.

O prefeito foi extubado na tarde de ontem. Em seguida, conversamos normalmente e ele teve um noite bem dormida. Está sentado em uma cadeira, neste momento, conversando normalmente.
David Uip, médico

No último fim de semana, o prefeito ou mal —teve cansaço, náuseas e vômitos— e foi ao hospital fazer exames, que apontaram uma lesão com sangramento na região da cárdia, que liga o esôfago ao estômago, onde o prefeito descobriu o primeiro tumor, em 2019.

Segundo os médicos, esse sangramento foi um episódio "pontual", foi controlado, e, por ora, não é possível cravar que há relação com o câncer. Covas teve de receber transfusão de sangue.

"Onde tinha a lesão tumoral, ela regrediu e fez uma úlcera, uma cicatriz. Esse ponto que sangrou. É muito cedo para fazer correlação com a evolução da doença. Numa doença crônica como essa, há intercorrências pontuais", disse o médico Túlio Pfiffer.

A equipe de especialistas ainda não deu previsão de alta e as sessões de quimioterapia e imunoterapia, por enquanto, estão suspensas até a recuperação do prefeito.

O tucano anunciou uma licença do cargo por 30 dias, no domingo (2), para se dedicar ao tratamento — ainda não se sabe se a licença será estendida. O afastamento foi publicado hoje no Diário Oficial do município. A orientação para a licença foi feita pela equipe médica do Hospital Sírio-Libanês, que acompanha Covas.

O vice-prefeito Ricardo Nunes (MDB) assume a gestão neste período.

O câncer

Covas foi diagnosticado em outubro de 2019 com um câncer em metástase na cárdia. O prefeito, então, concluiu quatro meses de quimioterapia, teve queda de cabelo e barba, e emagreceu. À época, foi o suficiente para frear a doença.

Desde o começo de abril, no entanto, a luta dele contra o câncer tem ficado cada vez mais dura. Exames recentes indicaram que o tumor estava, mais uma vez, em metástase —foram encontrados novos pontos da doença no fígado e nos ossos.

Ele recebeu alta na semana ada depois de ficar internado 12 dias para tratar esses novos focos da doença. Além disso, teve de drenar líquidos acumulados na região do seu abdômen e pulmão.

O prefeito ainda realizou uma alimentação suplementar via cateter, para manter o corpo com nutrientes e dentro do peso ideal.

Os bastidores

Internamente, a piora aguda do quadro de Covas assustou seus colegas de trabalho e secretários, que ressaltam a força de vontade "surpreendente" do prefeito na luta contra a doença. Apesar disso, há um clima de descontentamento.

O vice, Ricardo Nunes, participa de diversas reuniões ao longo do dia com secretários. Não há, até o momento, expectativa de mudanças no rumo da gestão municipal. Alguns vereadores, porém, acreditam que o vice-prefeito irá impor as pautas que interessam a ele e ao seu partido, o MDB.

Ao menos publicamente, Nunes afirmou que seguirá o plano de governo de Covas e consultará o prefeito para temas considerados polêmicos ou delicados.