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

SP chega a 2 milhões de doses aplicadas; veja ranking da vacinação

Vacinação de idosos na UBS de Santo Amaro, na zona sul de São Paulo - Lucas Borges Teixeira/UOL
Vacinação de idosos na UBS de Santo Amaro, na zona sul de São Paulo Imagem: Lucas Borges Teixeira/UOL

Douglas Porto, Leonardo Martins, Rafael Bragança e Allan Brito

Do UOL, em São Paulo, e colaboração para o UOL

22/02/2021 15h00Atualizada em 23/02/2021 08h52

O estado de São Paulo atingiu ontem a marca de 2 milhões de pessoas vacinadas contra covid-19. O governador João Doria comemorou hoje essa realização e apresentou uma atualização do ranking de municípios com mais pessoas vacinadas.

"São Paulo ultraou 2 milhões de vacinados. É um número extraordinário. Apenas como referência, se São Paulo fosse um país, estaria em 9º lugar no mundo como o que mais aplicou vacinas", afirmou Doria, em entrevista coletiva realizada no Palácio dos Bandeirantes.

Até o começo da tarde de hoje, o total de vacinados era de 2.033.582, sendo que 1.642.810 receberam só a primeira dose. E 390.772 pessoas já receberam a segunda dose. Regiane de Paula, coordenadora da vacinação no estado, elogiou o desempenho dos municípios, que aplicam os imunizantes.

22.fev.2021 - 10 municípios do Estado de SP com mais pessoas vacinadas - Divulgação/Governo de SP - Divulgação/Governo de SP
Total de vacinados até 9h de hoje no Estado é de mais de 1,6 milhão de pessoas
Imagem: Divulgação/Governo de SP

Entre as cidades de São Paulo com mais de 100 mil habitantes, São Caetano do Sul é a que tem maior proporção de vacinados, com 9,6%. Na sequência aparecem Santos (7,4%), Botucatu (7,3%), Catanduva (7,1%), Barretos (7%), Araraquara (6,2), Presidente Prudente (6,1%), Bauru (6,1%), Marília (6,1%) e São José do Rio Preto (6%).

O total de vacinados até o início da tarde de hoje representa 3,5% da população de São Paulo imunizada com a primeira dose e 0,84% com a segunda. Na comparação com outros estados, segundo dados recolhidos até ontem pelo consórcio de veículos da imprensa, do qual o UOL faz parte, o estado fica atrás apenas do Rio Grande do Sul (3,64%), Mato Grosso do Sul (3,80%), Roraima (3,81%) e Amazonas (5,12%) no percentual de vacinados com a primeira dose.

Regiane informou que, ainda nesta semana, deve anunciar quando novas faixas etárias da população poderão ser vacinadas. Até agora São Paulo aplicou imunizantes em idosos com mais de 85 anos, além de profissionais de saúde, indígenas e quilombolas.

Questionada sobre a polêmica das "vacinas de vento", que surgiu recentemente no estado, a coordenadora disse que há poucos registros de enfermeiros que tenham aplicado a seringa vazia, sem dose de vacina. Mas afirmou que as denúncias estão sendo investigadas.

"Gostaria de lembrar que são casos isolados e estão sendo investigados. O governador fez um decreto dizendo que tudo tem que ser apurado e terá responsabilização financeira do agente público e de quem está envolvido. Estamos apurando e criando na Secretaria de Saúde um comitê intersecretarial para resolver isso. E o Ministério Público tem acompanhado", disse Regiane, acrescentando que a população deve ficar atenta e fiscalizar também no momento da vacinação.

Errata: este conteúdo foi atualizado
Diferentemente do que informou a matéria, o estado de São Paulo está imunizando idosos acima de 85 anos, e não acima de 80. A vacinação de idosos entre 80 e 84 anos está prevista para começar em 1º de março. A informação foi corrigida.