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

Saiba o que ainda falta para SP desobrigar uso de máscara em locais abertos

Do UOL, em São Paulo

03/11/2021 17h24Atualizada em 03/11/2021 18h29

O governo de São Paulo detalhou hoje, em entrevista coletiva, quais são os indicadores que estão sendo observados para decidir desobrigar — ou não — o uso de máscara em locais abertos no estado.

São quatro os índices sendo acompanhados pelo governo paulista, sendo eles: o número de novos casos, internados e mortos pela covid-19 e o índice de vacinação contra o novo coronavírus no estado.

O Executivo paulista estabeleceu metas para cada um dos indicadores, que deverão ser alcançadas conjuntamente para que o governo possa flexibilizar o uso de máscara:

  • Casos: média móvel diária abaixo de 1,1 mil casos;
  • Internações: média móvel abaixo de 300 internações;
  • Mortes: média móvel abaixo de 50 mortes;
  • Vacinação: 75% da população com esquema completo (duas doses).

O governo de SP trabalha com a expectativa de que todas as metas fixadas para os indicadores sejam alcançadas até o fim de novembro, já possibilitando a flexibilização do uso do equipamento a partir do início de dezembro.

Ainda assim, segundo o secretário de Saúde de SP, Jean Gorinchteyn, o uso de máscara deverá, primeiramente, ser liberado apenas em áreas abertas sem aglomeração.

Sendo assim, zonas de comércio de rua e estádios em dias de jogos, por exemplo, deverão ter a flexibilização do uso de máscara feita posteriormente, com indicadores e metas ainda a serem definidos.

Atualmente, São Paulo só alcançou uma das metas: no número de casos, com 865 infecções diárias tendo sido registradas na média móvel calculada ontem pelo governo do estado. Veja, abaixo, como estão cada um dos indicadores:

Casos: meta alcançada, mas com ressalva

São Paulo registrou ontem uma média móvel de 865 casos de covid-19, de acordo com dados do governo do estado — ou seja: a meta de menos de 1,1 mil casos diários foi alcançada.

Ainda assim, o número abaixo de 1,1 mil casos registrado pelo governo de SP é recente e contém subnotificação, tendo em vista o feriado prolongado (entre o último sábado, 30, e ontem).

Na última sexta-feira (29), antes do feriado, a média móvel estava em 1.134 casos. A subnotificação em finais de semana e feriados costuma ocorrer devido aos regimes de plantões no sistema de saúde, que acaba gerando atrasos nos registros da covid-19 nos bancos de dados.

Internações: meta ainda não alcançada

O estado de São Paulo apresenta dados sobre internações de suspeitos e confirmados com covid-19 a partir de 14 de abril de 2020. Desde então, o índice nunca foi tão baixo: ontem, foram registradas 387 internações pela média móvel.

O número, ainda assim, está fora da meta colocada pelo governo do estado para desobrigar o uso de máscara em locais abertos sem aglomeração, de menos de 300 internações pela média móvel.

De todo modo, os números mostram tendência de queda. Na terça-feira ada (26), a média móvel era de 395 novas internações. Uma semana antes (terça-feira, 19/10), 449. Há três semanas (terça-feira, 12/10), 479.

Mortes: meta alcançada, mas 'perdida'

Segundo dados oficiais, em 18 de outubro, SP alcançou uma média móvel de 48 mortes, número adequado ao que foi colocado como meta pelo governo estadual, de menos de 50 mortes.

O resultado, porém, só durou um dia. No dia 19 de outubro, o indicador chegou a 54 mortes. Já ontem, foram registradas 64 mortes por covid-19 pela média móvel.

Ainda assim, o número é quase dez vezes menor do que o registrado durante o pico de mortes por covid-19 no estado, em abril de 2021, quando a média móvel permaneceu, na quase totalidade dos dias do referido mês, acima de 600 mortes.

Vacinação completa: no caminho de alcançar a meta

O equivalente a 68,7% da população de SP está com esquema vacinal completo — ou seja: recebeu a dose única da Janssen ou as duas doses das vacinas da AstraZeneca, da Sinovac (CoronaVac) ou da Pfizer — no estado, de acordo com dados atualizados hoje pelo governo.

O número, que é acima da média nacional, de 54,5% da população com ciclo completo, ainda é considerado insatisfatório pelo governo de SP para desobrigar o uso de máscaras em locais abertos sem aglomeração, que espera alcançar a porcentagem de 75% no índice.

Ainda de acordo com dados do governo, o equivalente a 83,7% da população do estado de São Paulo recebeu ao menos uma dose contra a covid-19 em postos de vacinação no estado.