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

O que o experimento de Serrana (SP) provou, e o que falta ainda provar

Edison Veiga

Colaboração para o TAB, de Bled (Eslovênia)

07/06/2021 04h01

Divulgados em 31 de maio pelo governo paulista, os dados do chamado Projeto S, um experimento realizado com a vacina CoronaVac no município de Serrana, mostram que a vacinação em massa protege não só aqueles que receberam os imunizantes mas também os que eventualmente não possam ser vacinados. Em outras palavras, confirma a hipótese que, após ampla cobertura vacinal, a tal imunidade de rebanho possa ser atingida, freando os avanços da covid-19.

"A mensagem importante é: a vacina funciona. E o estudo mostra muito claramente que, à medida que se vacinam mais pessoas, seu impacto efetivo [na comunidade] é ainda maior", afirma ao TAB a médica epidemiologista Denise Garrett, vice-presidente do Instituto Sabin de Vacinas.

Em Serrana, praticamente toda a população adulta foi vacinada entre 14 de fevereiro e 10 de abril. No total, receberam as duas doses 27.160 moradores, ou seja, 95,7% dos 28.380 adultos (pessoas com mais de 18 anos) da cidade — Serrana tem 45.644 habitantes. Considerando a população total, 60% dos moradores foram imunizados com as duas doses de CoronaVac.

Com planejamento iniciado em agosto de 2020, a pesquisa foi liderada pelo Instituto Butantan e promovida em parceria com a Faculdade de Medicina da USP (Universidade de São Paulo) de Ribeirão Preto e a prefeitura de Serrana.

Por que Serrana? Diretor médico de pesquisa clínica do Butantan, o médico infectologista e sociólogo Ricardo Palacios explica ao TAB que a cidade foi escolhida por reunir uma série de características: não é muito grande, foi bastante afetada pela covid-19 e tem uma parcela grande da população em situação de "migração pendular" — cerca de 10 mil serranenses viajam todos os dias para trabalhar em Ribeirão Preto. "Escolhemos um local que não é uma ilha, nem em sentido figurado nem em sentido literal", argumenta ele. "Com isso, mostramos que a vacina pode controlar a epidemia em meio a um fluxo de pessoas extremamente intenso. Nossa expectativa foi confirmada."

Esse tipo de experimento é comum? Não muito. Trata-se de algo raro e difícil de ser realizado, sobretudo por ser uma situação real. "Trata-se de algo fora de série, muito apurado e muito bem planejado. Quando ar pela revisão independente de pares e for publicado [como estudo científico, em alguma publicação especializada], vai ser um trabalho importante para a ciência brasileira", afirma ao TAB o médico Carlos Rodrigo Zárate-Bladés, diretor do Laboratório de Imunorregulação da UFSC (Universidade Federal de Santa Catarina).

Como foram os preparativos? Na implementação do projeto, ainda em 2020, a primeira etapa era conseguir entender o perfil demográfico de Serrana e também como a cidade vinha sofrendo com a epidemia. Para isso, um censo foi aplicado e, ao mesmo tempo, os pesquisadores determinaram que todo morador de lá que quisesse, deveria ter o a um teste do tipo PCR para ser diagnosticado, em caso de sintomas de covid-19. Além disso, segundo os envolvidos no projeto, foi fundamental saber quantos moradores de Serrana já tinham sido expostos ao vírus — a partir de testagem de anticorpos, esse número era de 25,7% da população, de acordo com os dados do estudo. Para a vacinação ocorrer, de fato, o município foi dividido em 25 regiões e as imunizações ocorreram por fases, de fevereiro a abril. Só não recebeu vacina quem, naquele período, estava sintomático para covid-19 ou outras doenças.

Quais foram os resultados? De acordo com os dados divulgados pelo governo do Estado, a vacinação em massa reduziu os casos sintomáticos em 80%, 86% as hospitalizações e 95% as mortes. Esses números foram obtidos a partir da comparação entre dois períodos — 7 de fevereiro e 10 de abril e 11 de abril a 15 de maio. Conforme boletim epidemiológico, com dados consolidados até o fim de maio, o pior mês da pandemia em Serrana foi março último, com 19 mortes registradas. Em maio foram 7. A queda menor pelos números oficiais se comparada ao estudo é explicada por Palacios por uma questão metodológica. "O estudo sempre analisa os casos por data de início de sintomas. O boletim epidemiológico registra os óbitos pela data da morte, que usualmente acontece várias semanas depois", esclarece ele.

O que o estudo provou? Zárate-Bladés aponta que a maior importância do estudo está em ter comprovado que se pode chegar à imunidade de rebanho em uma "situação de vida real", com a aplicação maciça de vacinas. No caso, com 59,5% da população geral vacinada. "O experimento de Serrana é uma prova de conceito: demonstra que, quando a maioria da população for vacinada, vai haver controle da pandemia", diz ao TAB o biólogo Aguinaldo Roberto Pinto, diretor do Laboratório de Imunologia Aplicada da UFSC. "Vacina é uma situação de grupo, uma questão coletiva. Se poucas pessoas forem vacinadas, a doença vai continuar existindo, vai continuar forte."

O que mais precisa ser avaliado? Segundo os pesquisadores ouvidos, dois aspectos merecem ser considerados na hora de analisar os resultados de Serrana. O primeiro é que, mesmo uma vacina de eficácia limitada, como é a CoronaVac, pode ser efetiva para atingir a tal imunidade de rebanho, se aplicada em uma grande parcela da população. "Isso é fantástico, o principal resultado", afirma ao TAB o biólogo Flávio Guimarães Fonseca, membro do comitê gestor e científico do Centro de Tecnologia em Vacinas da UFMG (Universidade Federal de Minas Gerais). "Mesmo a CoronaVac não sendo uma Brastemp, de baixa eficácia, ela é capaz de controlar a pandemia." Por outro lado, é preciso cuidado com a empolgação. "Ainda é um tempo curto para avaliação. É preciso um acompanhamento da cidade por pelo menos um ano para ver quanto tempo essa proteção dura e se será necessária uma dose de reforço", acrescenta Zárate-Bladés.

A proteção é perene? O próprio responsável pelo estudo, o médico Palacios, lembra que algumas questões permanecem em aberto, entre elas, a da durabilidade da vacina. "Algo que vamos verificar na fase seguinte é se a quantidade de pessoas com exposição prévia ao vírus influenciou esse resultado", afirma ele. "Outra questão é a proporção de pessoas por faixa etária — ainda não sabemos quanto isso interfere, neste momento." Para Garrett, o importante é frisar que a vacina funciona. Uma outra questão que precisa ser levada em conta é que Serrana vacinou toda a sua população em um tempo curto (apenas oito semanas de intervalo). Replicando isso para o Brasil, o cenário pode ser diferente: pessoas de grupos diferentes devem conviver com diferentes tempos de imunização, o que pode permitir que o vírus siga circulando ou mesmo que variações surjam e consigam se espalhar.

Quais os próximos os? Palacios afirma que a população de Serrana seguirá sendo acompanhada de perto pelos pesquisadores. Uma das respostas que se espera para breve é quanto à durabilidade da proteção provocada pela vacina. "Há um consenso entre os produtores [dos imunizantes agora disponíveis] de que um reforço deve ser necessário cerca de 12 meses depois. Serrana vai ser útil nesse estudo", diz ele. Ele espera que modelos matemáticos possam ser criados a partir da análise do que acontece no município. "E isso vai servir para ajustar o sistema de saúde quanto à covid-19."