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

'CoronaVac é a vacina mais próxima de utilização no Brasil', diz Butantan

Allan Brito, Felipe Pereira e Rafael Bragança

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

23/11/2020 13h33

O Instituto Butantan demonstrou otimismo hoje com a possibilidade de a CoronaVac se tornar a primeira vacina contra a covid-19 a estar disponível para aplicação no Brasil. Em entrevista coletiva, Dimas Covas, diretor da instituição ligada ao governo paulista, afirmou que "não faria sentido" o imunizante não ser incorporado ao PNI (Programa Nacional de Imunizações) do Ministério da Saúde.

O instituto anunciou que os estudos da fase 3 da CoronaVac chegaram ao número mínimo de infectados, que atestam a eficácia do imunizante. "Não faria sentido a não incorporação dessa vacina ao PNI. Essas notícias colocam essa vacina como a vacina mais próxima de utilização aqui no Brasil. É a que está mais próxima de estar disponível para a população", disse Covas.

Agora, de acordo com os pesquisadores, é possível abrir os resultados dos estudos para análise da Anvisa (Agência Nacional de Vigilância Sanitária), que ainda precisará aprovar o registro da vacina.

"Tomara que [a aprovação] esteja pronta em janeiro, porque cada dia com a vacina faz diferença. É nossa luta, para dar celeridade ao processo. Esperamos cooperação da Anvisa e do Ministério da Saúde, porque se trata de situação emergencial, se trata de salvar vidas", afirmou o diretor do Butantan.

Dimas também deu a opinião pessoal dele sobre como deve ser a a aplicação da vacina. Mas ressaltou que essa estratégia será definida pelo Ministério da Saúde.

"Tenho percepção que essa vacina deve ser dada aos grupos de riscos que tem maiores chances de ter doença grave e aos grupos que estão mais expostos, das área de saúde, segurança e educação. E depois para pessoas que possuem doenças com comorbidades. A partir disso, ir se estendendo para a população em geral. Teremos que vacinar 80% da população pra ter imunidade de rebanho. É minha visão", opinou Dimas.

A expectativa do governo paulista é que o processo de aprovação possa ser concluído pela Anvisa ainda neste ano ou até janeiro, permitindo assim o início da vacinação. Resta, porém, a dúvida se a CoronaVac será ou não adquirida pelo Ministério da Saúde para que a distribuição se dê pelo SUS (Sistema Único de Saúde).

Por enquanto a CoronaVac está sendo preterida pelo governo federal. O Ministério da Saúde chegou a um ofício de intenção de compra da CoronaVac, mas o presidente Jair Bolsonaro (sem partido) disse que ia cancelar o documento. Dimas afirmou que não recebeu uma negativa oficial, então acredita que o ofício ainda é válido.