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

Coronavírus: Governo de SP estima haver 100 mil infectados no Estado

José Henrique Germann, secretário estadual da Saúde de São Paulo - DANILO M YOSHIOKA/FUTURA PRESS/ESTADÃO CONTEÚDO
José Henrique Germann, secretário estadual da Saúde de São Paulo Imagem: DANILO M YOSHIOKA/FUTURA PRESS/ESTADÃO CONTEÚDO

Bruno Ribeiro

14/04/2020 15h47

O governo de São Paulo divulgou estimativa, nesta terça-feira, 14, de que já chega a 100 mil o número de pessoas infectadas pelo novo coronavírus no Estado. Entre os casos confirmados, são 8.895 pessoas infectadas, chegando a um total de 608 mortes. A estimativa foi feita pelo secretário estadual da Saúde, José Henrique Germann, durante entrevista coletiva no Palácio dos Bandeirantes, ao ser questionado sobre a subnotificação de caso.

"Pelas próprias características da covid-19, no seu contingente total de casos confirmados, 20% irão para o atendimento hospitalar. São esses que estão testados aqui", disse o secretário, referindo-se ao total de testes que aguardam confirmação para a doença e que estão sendo feitos em uma rede de clínicas coordenadas pelo Instituto Butantan. O instituto tem uma fila de cerca de 20 mil testes, e está recebendo nesta terça uma carga de mais de 726 mil exames, vinda da Coreia do Sul, para tentar reduzi-la.

"Então, se você for pensar em uma epidemia do ponto de vista global, são cinco vezes o que está internado, porque o índice de 20% internado faz parte da própria patologia." Germann continuou: "Se hoje nós temos 20 mil pessoas internadas, temos 100 mil acometidos da patologia. Porém, todos esses 80% não aparecem porque, primeiro de tudo, eles não apresentam sintomas, não apresentam necessidade de tratamento, muito menos de tratamento hospitalar."

No momento, São Paulo tem 1.878 pessoas internadas por causa da covid-19, metade delas em UTIs, segundo o secretário Germann.

O presidente do Butantan, Dimas Covas, destacou que esse total de casos confirmados se dá como resultado do isolamento social praticado há duas semanas, quando a crise começou. Mas que esse número poderá crescer dentro das próximas duas semanas, caso o isolamento seja relaxado. Esses 80 mil possíveis infectados, se não permanecerem em casa, poderão fazer com que a doença continue se espalhando.

"A subnotificação existe e vai existir em todos os países do mundo", afirmou Covas, ao destacar que os exames mostram "o retrovisor", trazendo à luz o total de pessoas que se infectaram, adoeceram e foram testadas. "Precisamos adiantar os testes para ter uma visão da realidade", disse, ao apontar, por outro lado, que é importante acompanhar as projeções da evolução da doença, sendo que elas é que podem indicar que medidas precisam ser adotadas para evitar o colapso do sistema de saúde.

Até o fim do mês, outros 500 mil exames vindos da Coreia do Sul devem chegar ao Butantan.