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

Uip diz que isolamento interferiu em curva de expansão do coronavírus em SP

Médico e infectologista David Uip coordena centro de contingência do coronavírus em SP - FLAVIO CORVELLO/FUTURA PRESS/ESTADÃO CONTEÚDO
Médico e infectologista David Uip coordena centro de contingência do coronavírus em SP Imagem: FLAVIO CORVELLO/FUTURA PRESS/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

22/04/2020 16h21

O coordenador do Centro de Contingência do Coronavírus em São Paulo, David Uip, disse hoje que o distanciamento social já ajudou a segurar a curva de contágio e novos casos de covid-19 no estado. O médico citou o patamar de 50% de isolamento registrado nos últimos dias como um ponto de partida para a eficiência da medida na contenção da pandemia.

"Que o distanciamento social interferiu na curva, não tem nenhuma dúvida. E ele é mais incidente a partir de 50%, e vai crescendo quanto mais percentual for atingido, e quanto mais for objetivo. O isolamento social na curva interferiu na curva, nós não temos nenhuma dúvida disso", frisou Uip.

Questionado sobre algumas cidades que relaxaram medidas no estado ou têm ficado abaixo dos índices de isolamento social no monitoramento diário, o médico disse que o trabalho do centro de contingência é de "convencimento".

"Nós falamos com os prefeitos na sexta-feira, com os parlamentares no sábado, no sentido de convencê-los de que nesse momento só há uma medida, que é o isolamento social, capaz de evitar o aumento de pacientes precisando de leitos de UTI. As medidas do governo do estado estavam adequadas ao seu tempo, estão adequadas agora, e cabe a todas as cidades continuar seguindo as orientações do governador", afirmou.

Com relação à testagem em massa da população para monitorar as contaminações pelo novo coronavírus no estado, Uip disse que esse procedimento será feito por amostragem.

"Em alguns setores você vai ter que fazer exame mais de uma vez, então não tem sentido fazer exames para quase 46 milhões (de habitantes), ninguém consegue. Então é por amostragem", disse o médico.

O coordenador ainda citou a fila de testes que foi zerada em São Paulo. Uip disse que o acúmulo se deu no início da crise, quando muitas pessoas recorreram aos hospitais para fazer exames de covid-19.

"No início nós sabíamos que tinha muito mais a ver com outros vírus que não o coronavírus. O aumento foi ocorrendo com o avanço da epidemia. O número de internados nunca ficou muito defasado por conta que esses internados todos... no começo muita gente foi fazer exame, depois da portaria do Ministério da Saúde é que ficou limitado só a quem estava doente e internado, e aos profissionais da saúde. Então eu acho que é por conta disso que não teve um degrau, foi sendo absorvido. Nós precisamos ver quantos desses exames que estavam estocados que deram positivo e qual foi o aumento", concluiu.