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

Butantan vai pedir uso emergencial de vacina e cogita antecipar imunização

Butantan vai pedir uso emergencial de vacina e cogita antecipar imunização -                                 SILVIO AVILA / AFP
Butantan vai pedir uso emergencial de vacina e cogita antecipar imunização Imagem: SILVIO AVILA / AFP

Júlia Marques

17/12/2020 14h29

O diretor do Instituto Butantan, Dimas Covas, afirmou nesta quinta-feira, 15, que também será pedido o uso emergencial da vacina Coronavac na Agência Nacional de Vigilância Sanitária (Anvisa) no dia 23 de dezembro. Como a Anvisa estabeleceu 10 dias para avaliação de uso emergencial, seria possível ter a autorização até o dia 15 de janeiro. Os dados sobre a eficácia da vacina ainda não foram divulgados.

"Declaramos que iríamos fazer o pedido de registro, vamos fazer o pedido de registro na China e no Brasil. Vamos também dar entrada no pedido de uso emergencial no Brasil. Se fizermos isso na semana que vem, como está programado, no dia 23, isso significa que na primeira semana de janeiro poderemos ter uma manifestação da Anvisa. Ou seja, a partir de janeiro, é possível que tenhamos autorização para uso da vacina. A partir do dia 15, portanto, teremos, nesse cronograma 9 milhões de doses para serem usadas nos brasileiros", disse Dimas Covas.

"Se ocorrer dentro do manifestado pelas autoridades federais, o cronograma de início de vacinação em janeiro poderá acontecer a partir de 15 de janeiro, pela disponibilidade das vacinas. Elas estarão prontas para serem usadas", afirmou o diretor do Butantã em coletiva de imprensa. "A vacina não pode ficar na prateleira."

Na segunda-feira, 14, quando o governo paulista anunciou o adiamento da divulgação do resultado de eficácia da vacina Coronavac, argumentou que esse adiamento seria feito para solicitar o registro definitivo da vacina, o que facilitaria a aprovação do imunizante.

"Nós mudamos a nossa estratégia, que até semana ada era solicitar o uso emergencial com os dados de análise parcial. Dada a conjuntura e uma possível dificuldade com relação à própria velocidade da Anvisa, mudamos de estratégia e vamos pedir o uso definitivo na China e no Brasil ao mesmo tempo", declarou Dimas Covas no dia 14. Nesta quinta-feira, porém, o Butantã disse que também vai pedir o uso emergencial, mas manteve a divulgação da eficácia na semana que vem.

O governador João Doria (PSDB) disse que a data antes divulgada de início da vacinação em 25 de janeiro continua sendo a data prevista para inicio da imunização. "Se pudermos iniciar antes, ótimo, é o que mais desejamos. Estabelecemos esse prazo para não atropelar o rito da Anvisa, mas se houver um rito mais rápido, quanto mais rápido melhor. Estaremos preparados para fazer a imunização em São Paulo."

O governo paulista também disse que aguarda até esta sexta-feira, 18, um pedido formal do Ministério da Saúde para a compra da vacina do Butantã e inclusão do imunizante no plano nacional de vacinação, mas afirmou que, mesmo que o governo federal estabeleça início da vacinação em fevereiro, São Paulo mantém a previsão de começar a vacinar em janeiro.