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

Pela 1ª vez, taxa de transmissão da covid rompe teto em todo estado de SP

Arquivo - Sepulturas no cemitério Vila Formosa, zona Leste de São Paulo - Mathilde Missioneiro/Folhapress
Arquivo - Sepulturas no cemitério Vila Formosa, zona Leste de São Paulo Imagem: Mathilde Missioneiro/Folhapress

Wanderley Preite Sobrinho

Do UOL, em São Paulo

18/01/2021 04h00

Pela primeira vez desde o início da pandemia, a taxa de contágio (Rt) do novo coronavírus ultraou o teto em todo o estado de São Paulo, segundo dados da Info Tracker —das universidades estaduais Unesp e USP—, que monitora a pandemia. Os pesquisadores consideram como teto o índice 1: cada doente pode contaminar outro. Se for maior, significa que cada pessoa doente pode contaminar mais de uma.

Para que a transmissão do novo coronavírus seja contida, a taxa de Rt precisa ficar abaixo de 1. Esse índice, porém, acaba de ser ultraado pelos 22 departamentos regionais de saúde, que agrupam cidades no estado de acordo com características parecidas, como proximidade.

O aumento, segundo a Info Tracker, ocorreu a partir do dia 5 de janeiro e está relacionado às festas de fim de ano. Com taxa média estadual em 1,34, os maiores índices estão na Grande São Paulo, Franca e Barretos. A capital aparece em 13º no ranking, com índice de 1,45.

"Houve um aumento generalizado depois das festas", afirmou ao UOL o coordenador do Info Tracker e professor da Unesp, Wallace Casaca.

Todas as regiões no estado estão acima [de 1], e essa é a primeira vez. A última vez que a taxa se elevou foi no começo da segunda onda, na metade de novembro. Na época, 15 estavam acima de 1.
Wallace Casaca, da Unesp e Info Tracker

Por que Rt acima de 1 preocupa?

O professor diz que abaixo de 1 "significa que a pandemia está sob controle". Em uma cidade com 100 pessoas infectadas e taxa em 0,78, por exemplo, haverá 78 novas contaminação diretas. Para o cálculo, basta multiplicar a taxa por 100, segundo a Info Tracker.

"O resultado é que 100 contaminados podem infectar 78 novas pessoas. Esses 78 infectados vão contaminar 61 pessoas, reduzindo o número de doentes aos poucos [se o índice se mantiver]", diz.

O problema é quando a taxa está acima do 1. "Hoje a taxa São Paulo é 1,45. Multiplicar a taxa por 100 doentes significa que eles podem contaminar 145 pessoas, que por sua vez devem infectar 210. Se continuar fazendo a conta, esse número não vai parar de crescer."

Na região de maior taxa no estado, a Grande São Paulo Norte —que engloba Caieiras, Cajamar, Francisco Morato, Franco da Rocha e Mairiporã—, a Rt é de 2,52: nesta região, 100 infectados adoecem 252 pessoas.

E se a taxa não cair?

Segundo Casaca, a taxa na região Sul do país ficou acima de 1 por cerca de um mês, "e o resultado foi o colapso do sistema hospitalar no Paraná e Rio Grande do Sul".

Se no estado de São Paulo essa taxa se mantiver pelas próximas semanas, os hospitais vão lotar ainda mais. Se ficar acima disso por um mês, será preciso lockdown.
Wallace Casaca, da Unesp e Info Tracker

Além de criticar algumas prefeituras, o professor lamenta o relaxamento da população, parte dela confiante em uma vacina que não deve mostrar resultados rapidamente.

"As pessoas perderam um pouco do medo e por isso acho muito difícil conscientizá-las no estágio em que a gente está. Além disso, não teremos resultados palpáveis da vacina tão rápido. Até abril, maio, a situação ainda será delicada mesmo se começarmos a vacinar hoje", avalia.

Embora o estado enfrente alta de casos, internações e mortes, o governo estadual não respondeu ao UOL sobre o aumento da taxa de transmissão acima de 1 em todo o estado pela primeira vez. Por telefone, a assessoria disse apenas que assuntos como distanciamento social e lockdown são tratados diariamente em coletiva de imprensa.

O governador João Doria (PSDB) anunciou uma nova reclassificação do Plano São Paulo, que coordena as ações de enfrentamento à pandemia e de retomada econômica. Oito regiões regrediram de fase: Araçatuba, Bauru, Franca, Piracicaba, Ribeirão Preto, São José do Rio Preto e Taubaté aram para a fase laranja, enquanto Marília entrou na fase vermelha, a mais restritiva do plano, na qual apenas atividades essenciais podem funcionar.

Com isso, dez das 17 regiões do estado estão na fase laranja, com mais restrições a 31% da população paulista. A região de Marília, por enquanto, é a única na fase vermelha.