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

Fiocruz produzirá vacinas em massa e pode fabricar IFAs

Fundação Oswaldo Cruz espera entregar pelo menos 3,8 milhões de imunizantes - Divulgação
Fundação Oswaldo Cruz espera entregar pelo menos 3,8 milhões de imunizantes Imagem: Divulgação

Gabriel Sabóia

Do UOL, no Rio

08/03/2021 15h40Atualizada em 08/03/2021 15h40

A Fiocruz anunciou o início da produção de 30 milhões de doses da vacina de Oxford/Astrazeneca a partir de hoje, que devem ser entregues até o final de abril ao Ministério da Saúde. Em março, a Fundação Oswaldo Cruz espera entregar pelo menos 3,8 milhões de imunizantes.

O número fica abaixo das 15 milhões de doses inicialmente anunciadas. A redução aconteceu por causa de um problema no maquinário responsável pela vedação dos frascos das vacinas, de acordo com reportagem da colunista Mõnica Bergamo, no jornal Folha de S. Paulo.

O governador do Piauí, Wellington Dias (PT), que representava o Fórum Nacional de Governadores em reunião com o ministro da Saúde, Eduardo Pazuello, realizada na tarde de hoje, na sede do Instituto, no Rio de Janeiro, pediu para que a Fiocruz opere com operação próxima à sua capacidade máxima nos próximos meses, podendo se aproximar de 1 milhão de doses fabricadas por dia.

"Os governadores fizeram um apelo para tratar da ampliação da produção de doses pela Fiocruz. Dessa forma, a partir de abril, poderíamos produzir até 30 milhões de doses por mês", afirmou ele, que pediu ao ministério para que trabalhe no aperfeiçoamento tecnológico necessário para a produção do IFA [Ingrediente Farmaceutico Ativo] na Fiocruz, o que permitira ao Brasil o desenvolvimento de matéria-prima e a independência na produção de vacinas.

Pazuello anuncia mais uma redução para marçoEm coletiva realizada após o encontro, Pazuello afirmou que o governo federal espera distribuir até 28 milhões de vacinas contra a covid-19, fabricadas pelo Instituto Butantan e pela Fiocruz (Fundação Oswaldo Cruz), até o final de março para os estados brasileiros. Em fevereiro, Pazuello havia projetado uma distribuição de até 46 milhões de doses de imunizantes neste mês.

No último dia 4, o ministro reduziu a previsão para aproximadamente 38 milhões de vacinas e, dois dias depois, afirmou que os estados contariam com, no máximo, 30 milhões de doses.

Hoje, Pazuello disse que esse número deve girar entre 25 e 28 milhões de imunizantes."Nosso objetivo é ter em março, próximo aí a 25 milhões, 28 milhões de doses já realmente entregues para que a gente cumpra o Plano Nacional de Imunização", afirmou.

O ministro não detalhou, no entanto, a que se deve essa redução no número final de vacinas colocadas à disposição