;(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

Esse conteúdo é antigo

David Uip se afasta da coordenação do combate à covid por motivos de saúde

Do UOL, em São Paulo

08/05/2020 12h41Atualizada em 08/05/2020 18h06

O governador de São Paulo, João Doria (PSDB), anunciou hoje que o infectologista David Uip, coordenador do Centro de Contingência para o coronavírus no estado, ficará afastado por alguns dias da função por problemas de saúde.

Doria leu uma carta em que Uip explica que sentiu um mal-estar na última quarta-feira (6) e teve alterações cardiológicas e clínicas. Apesar de se sentir melhor, ele ficará afastado por recomendação médica.

Uip já ficou afastado da equipe por alguns dias porque foi infectado pelo coronavírus, mas se recuperou e retomou as atividades. O diretor do Instituto Butantan, Dimas Covas, vai assumir o cargo de Uip enquanto ele estiver afastado.

David Uip teve covid-19 em março

Médico e infectologista David Uip - FLAVIO CORVELLO/FUTURA PRESS/ESTADÃO CONTEÚDO - FLAVIO CORVELLO/FUTURA PRESS/ESTADÃO CONTEÚDO
Médico e infectologista David Uip
Imagem: FLAVIO CORVELLO/FUTURA PRESS/ESTADÃO CONTEÚDO
David Uip foi diagnosticado com a covid-19, doença causada pelo novo coronavírus, no dia 23 de março. Recuperado, voltou a coordenar o Centro de Contingência de Coronavírus em São Paulo no dia 6 de abril.

Na ocasião, Uip evitou responder se usou ou não hidroxicloroquina no período que esteve com a covid-19. Mas, depois de confirmar receita com cloroquina, ele chegou a criticar o presidente Jair Bolsonaro (sem partido), que questionou nas redes sociais se o médico infectologista da equipe de João Doria (PSDB) havia tomado a medicação.

"Presidente, eu respeitei o seu direito de não revelar seu diagnóstico, respeite o direito de não revelar meu tratamento. A minha privacidade foi invadida. A privacidade da minha clínica foi invadida. Tomarei as providências legais adequadas para a invasão da minha privacidade e dos meus pacientes", disse à época.

Leia a íntegra da carta divulgada hoje por David Uip:

Na última quarta-feira, dia 6 de maio, senti um mal-estar, com alterações cardiológicas e clínicas. Após avaliação médica, iniciei uma bateria de exames para elucidação diagnóstica.

Hoje me sinto melhor, mas, por recomendação médica, precisarei ficar afastado das minhas atividades do Centro de Contingência do Coronavírus do Estado de São Paulo por alguns dias.

Fico entristecido de, neste momento difícil de crise, de uma pandemia muito séria, que tem causado tantos óbitos em nosso Estado e gerado grande sofrimento entre os brasileiros de São Paulo que perderam familiares e amigos queridos, não poder estar fisicamente presente.
No entanto, tenho a plena convicção de que São Paulo está no caminho certo. E está salvando vidas.

A colaboração dos meus 15 colegas do Centro de Contingência, formado por médicos, cientistas, virologistas, professores e pesquisadores, tem sido fantástica.

A união de esforços desse grupo de voluntários tem contribuído de forma inequívoca para definir estratégias tanto de enfrentamento da epidemia quanto de assistência à população na rede pública de saúde.

Agradeço ao Governador João Doria e aos secretários de Estado e ao vice-governador Rodrigo Garcia por todo o apoio e e que nos tem oferecido.

Fico temporariamente afastado e espero estar recuperado, para retomar minha contribuição ao Centro de Contingência do Coronavírus, o Comitê de Saúde do Estado de São Paulo.

Muito obrigado e até breve.