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

Sem logística, plano nacional de vacinação precisa de ajuste, dizem médicos

Especialistas abordam questões relativas à distribuição e custeio dos imunizantes - iStock
Especialistas abordam questões relativas à distribuição e custeio dos imunizantes Imagem: iStock

Cleber Souza e Lucas Borges Teixeira

Do UOL, em São Paulo

04/12/2020 04h00

O plano de vacinação contra a covid-19, apresentado pelo Ministério da Saúde nesta semana, tem uma série de buracos e questões logísticas não respondidas. Esta é a avaliação de médicos e especialistas em saúde pública ouvidos pelo UOL.

Dividido em quatro etapas de vacinação, a versão preliminar do plano prevê uma campanha com 109,5 milhões de doses da vacina. Especialistas veem pontos positivos e negativos na divisão dos grupos pelas etapas de vacinação, mas são unânimes ao afirmar que não há explicação suficiente sobre como ele sairá do papel.

"O fundamental é garantir o a todas as pessoas que precisam —em país nenhum vai ter pra população toda", afirma a epidemiologista Gulnar Azevedo e Silva, diretora do IMS-Uerj (Instituto de Medicina Social da Universidade do Estado do Rio de Janeiro). "O plano merece crítica nesse sentido, pois não preenche as questões básicas do planejamento para esse tipo de vacinação, que exige muito esforço."

Para ela, "muitos itens essenciais não aparecem ali", como questões logísticas de transporte da vacina e os insumos necessário. ""Como vai garantir a cadeia de frio [transporte da vacina em temperatura adequada]? E os insumos, como seringa, vidros? Qual é o custo? Parte é produzida aqui, mas parte é importada. Já pensaram nisso? Está incompleto", afirma a médica, também presidente da Abrasco (Associação Brasileira de Saúde Coletiva).

Fernando Aith, diretor geral do Centro de Pesquisas em Direito Sanitário da USP (Universidade de São Paulo), concorda. Segundo ele, o plano é "bem fraco" por não apontar "os aspectos de operacionalização e logística usados para a imunização dos brasileiros" nem dar, em detalhes, quais ou qual vacina será a prioridade no Brasil.

"Vemos outros países abraçando vacinas. E o Brasil? Qual vacina teremos? Será a CoronaVac, a Pfizer ou a de Oxford? Como tem sido o contato com a Anvisa [Agência Nacional de Vigilância Sanitária]? O plano não mostra isso. A logística precisa saber qual ou quais dessas serão usadas, se será uma em cada fase ou somente uma para todos."

A escolha da vacina tem sido tema central de uma discussão pública entre o governo federal e alguns governadores, em especial João Doria (PSDB-SP). "Percebe-se uma falta diálogo entre o Planalto, estados e municípios. Como esse plano será feito entre eles? Não sabemos. Isso precisa ser discutido", afirma Aith.

"Todas essas etapas precisam ser reavaliadas e discutidas. É preciso discutir a distribuição das vacinas entre estados e municípios. O governo precisa entender e atender a necessidade real em todo o país", concorda o infectologista Leonardo Weissmann, consultor da SBI (Sociedade Brasileira de Infectologia).

Divisão por etapas tem altos e baixos

O plano prevê quatro fases de imunização para cumprir a campanha de quase 110 milhões de doses para grupos de maior risco:

  • Primeira: trabalhadores da saúde, população idosa a partir dos 75 anos de idade, pessoas com 60 anos ou mais que vivem em instituições de longa permanência (como asilos e instituições psiquiátricas) e população indígena.
  • Segunda: pessoas de 60 a 74 anos.
  • Terceira: pessoas com comorbidades que apresentam maior chance para agravamento da doença, como portadores de doenças renais crônicas, cardiovasculares, entre outras.
  • Quarta: professores, forças de segurança e salvamento, funcionários do sistema prisional e população privada de liberdade.

A divisão não é consenso entre os especialistas. Alguns, como o presidente do Hospital Albert Einstein, Sidney Klajner, discordam das prioridades estabelecidas pelo ministério na primeira etapa enquanto outros veem esta como uma parte acertada do programa.

"Defendo que a prioridade seja por atividade essencial: profissionais de saúde que de fato estão na linha de frente, segurança e infraestrutura, transporte público e caminhoneiros, cadeia da alimentação e professores do ensino fundamental e médio", avalia o epidemiologista Paulo Lotufo, professor da Faculdade de Medicina da USP.

Weissmann diz que o plano "está de acordo com o que diz a OMS [Organização Mundial da Saúde]", mas ressalta que pessoas com doenças crônicas também deveriam entrar nas prioridades.

Já Azevedo e Silva destaca como positivo que os indígenas tenham entrado entre as prioridades. "Isso foi bom. Mas também teria de colocar outras populações que vivem em muita dificuldade, como ribeirinhas e moradores de rua, que ficam muito expostos", ressalta.

Para Aith, a separação foi feita "de forma correta", mas "não há clareza no que realmente falta no sistema de saúde" visto que mais de 100 milhões de brasileiros estão fora desta versão preliminar do plano e o governo federal não diz o que será feito para quem está de fora do programa.

"Há pessoas que irão buscar judicialmente o direito de tomar a vacina. E isso é válido, já que a maioria da população quer ser imunizada. Então, são incógnitas que o que foi apresentado não responde", afirma o médico.