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

Entenda o que falta para começar a vacinação com a CoronaVac no Brasil

Foto ilustrativa da CoronaVac, desenvolvida pela chinesa Sinovac em parceria com o Instituto Butantan - Cadu Rolim/Fotoarena/Estadão Conteúdo
Foto ilustrativa da CoronaVac, desenvolvida pela chinesa Sinovac em parceria com o Instituto Butantan Imagem: Cadu Rolim/Fotoarena/Estadão Conteúdo

Leonardo Martins

Colaboração para o UOL, em São Paulo

24/12/2020 04h00

Em mais um episódio da corrida pela vacina contra a covid-19, ontem, o governo de São Paulo e o Instituto Butantan anunciaram que a vacina CoronaVac, produzida em parceria com o laboratório SinoVac, apresentou segurança e eficácia suficientes para ser usada no Brasil.

Mesmo assim, ainda faltam alguns os a serem seguidos para que o governo paulista obtenha autorização para começar a campanha de vacinação contra o novo coronavírus. Abaixo, o UOL explica as próximas etapas:

1) Divulgação dos dados de eficácia

A taxa de eficácia da CoronaVac ainda não foi divulgada, embora o governo de São Paulo tenha garantido a eficiência da vacina. Sem a publicação dessa taxa, é impossível avançar no plano de vacinação.

Isso porque ela mede o percentual dos pacientes testados a imunização foi capaz de gerar anticorpos contra o Sars-Cov-2.

Segundo as autoridades paulistas, os dados não foram divulgados ainda a pedido do laboratório chinês, que revisará os números antes que eles sejam encaminhados para a Anvisa (Agência Nacional de Vigilância Sanitária) para aprovação. Eles devem enviar os estudos ao órgão em até 15 dias.

2) Dados revisados e publicados em revista científica

Essa etapa não é obrigatória, mas, segundo especialistas, é fundamental para o registro em órgãos reguladores, como a Anvisa.

O estudo que embasou os testes da CoronaVac devem ser enviados a um periódico científico de credibilidade internacional para que os dados sejam revisados por outros cientistas acadêmicos e, posteriormente, publicados oficialmente em uma revista científica.

Em última análise, os revisores endossam ou não a veracidade e corrigem ou não o processo de desenvolvimento da vacina.

3) Regulação com a Anvisa

Essa etapa é crucial. A Anvisa deve analisar os resultados dos testes da CoronaVac e emitir um parecer autorizando ou não o uso da vacina no Brasil.

Há dois tipos de pedidos de registros de vacinas: o emergencial e o definitivo. O primeiro, como o próprio nome diz, considera a urgência mundial de uma vacina contra um vírus ou bactéria, o que obriga o órgão regulador a acelerar as análises dos testes — segundo decisão do STF (Supremo Tribunal Federal), em caso de pedidos emergenciais, o prazo para análise é de até cinco dias. Já a segunda opção é mais demorada e dá margem para o órgão examinar os dados em até dois meses.

No caso da CoronaVac, o caminho tende a ser mais fácil. Isso porque o governo paulista deve seguir uma legislação aprovada em fevereiro sobre medicamentos e vacinas contra covid-19 para acelerar a aplicação da vacina.

Segundo a lei, se um fármaco for autorizado nos EUA, Europa, Japão ou China, ele tem de ser avaliado em três dias pela Anvisa para o uso no Brasil. Se ela falhar no prazo e não der uma justificativa técnica, ele é aprovado automaticamente.

Outro facilitador da regulação da CoronaVac é que os estudos da vacina estão sendo submetidos ao escrutínio da Anvisa continuamente, desde julho, quando se iniciaram os testes da vacina no Brasil. Com isso, o órgão pode registrar o imunizante de imediato, assim que tiver o aos resultados da última fase de testes.

4) Definição da logística do plano de vacinação

O governo de São Paulo, com o Plano Estadual de Imunização, garante já ter elaborado um sistema de aplicações das vacinas, que não exigem grande complexidade de armazenamento e transporte. Segundo especialistas, como o estado já tem uma estrutura de campanhas de vacinação em massa, esse processo deve ser rápido e simples de resolver.

O estado promete iniciar a vacinação no dia 25 de janeiro — na primeira fase, cerca de 9 milhões de pessoas devem ser imunizadas, segundo previsão do governo. Como cada pessoa precisa de duas doses, deverão ser usadas 18 milhões de doses.

Caso seja aprovada pela Anvisa, a CoronaVac pode entrar também no PNI (Plano Nacional de Imunização), do Ministério da Saúde. Outros estados e países também estão negociando com o governo paulista.

*Colaboraram para a reportagem os infectologistas Evaldo Stanislau, do Hospital das Clínicas e professor de medicina da Universidade São Judas Tadeu, e Renato Kfouri, diretor da Sociedade Brasileira de Imunizações (SBI).