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

Vacinação precisa aumentar 11 vezes no Brasil para conter covid em 1 ano

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

Wanderley Preite Sobrinho

Do UOL, em São Paulo

21/02/2021 10h05Atualizada em 21/02/2021 19h08

Para o Brasil conter a pandemia em até um ano, a vacinação no país precisará chegar a 2 milhões de pessoas por dia, de acordo com os cálculos de um estudo publicado em fevereiro pelo Programa de Pós-Graduação em Modelagem Computacional da UFJF (Universidade Federal de Juiz de Fora) e Programa de Pós-Graduação em Ciência da Computação da UFSJ (Universidade Federal de São João del-Rei).

Com média de 185 mil imunizações por dia — considerando as 5.756.502 de doses aplicadas entre 18 de janeiro e 19 de fevereiro —, o Brasil precisaria aumentar 10,7 vezes a quantidade de pessoas vacinadas por dia para conter a pandemia em um ano.

Essa meta pode demorar a chegar já que algumas cidades estão parando de vacinar contra a covid-19 por falta de doses, e o Ministério da Saúde deverá ter metade das doses esperadas para o mês de fevereiro.

Quando a meta for atingida, os casos ativos devem variar de 8 mil — com uma vacina 50% eficaz — a 201 com um imunizante 90% eficiente. "Nesse ritmo, a pandemia estaria controlada após um ano da vacinação, independentemente da eficácia da vacina", diz o estudo.

Para chegar ao resultado, os pesquisadores usaram um modelo computacional que utiliza entre seus parâmetros a velocidade com que as pessoas são imunizadas e a eficiência da vacina.

Com uma taxa de vacinação de 100 mil pessoas por dia — índice apenas recentemente ultraado no país —, o número de casos ativos ainda seria alto (85.135 casos) e a pandemia poderia perdurar por mais de dois anos, segundo as simulações.

200 mil vidas salvas

Mas caso a vacina chegue a 2 milhões de pessoas a cada dia, cerca de 191.110 vidas seriam salvas em um ano com uma vacina 50% eficaz. Com um imunizante 90% eficiente, a quantidade de vidas preservadas chegaria a 226.473.

"Para salvar essas vidas temos que conseguir vacinar cerca de 100 milhões de brasileiros até o final do mês de maio, início de junho", afirmou à UFJF Rodrigo Weber, um dos autores do documento. "Quanto mais postergarmos essa data, mais vidas serão perdidas e menor será o impacto da vacina no número de óbitos ao longo do ano."

"Brasil falhou"

Professor da Faculdade de Ciências Médicas da Santa Casa de São Paulo, o infectologista Marco Aurélio Sáfadi diz que, de fato, a imunização no país "está muito lenta", embora "o PNI (Programa Nacional de Imunização) tenha estrutura e expertise".

"O que não tem é vacina", afirmou ao UOL. "Em 2008, a gente vacinou quase 70 milhões de brasileiros contra a rubéola em poucas semanas. Para a covid, esse target é de aproximadamente 80 milhões de pessoas. Isso nem é diferente do que a gente vacina todo ano contra a gripe comum."

Ele explica que uma cobertura rápida de vacinação "oferece um obstáculo ao vírus e ainda dificulta o surgimento de novas variantes" do coronavírus.

O Brasil falhou no ano ado ao não fazer acordos abrangentes para que tivéssemos mais vacinas ao nosso alcance. De qualquer forma, o distanciamento social não perde importância nem mesmo com a vacinação em massa
Marco Aurélio Sáfadi, infectologista