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

Sem IFA, Fiocruz para hoje produção de vacinas; volume será afetado

Dado Ruvic/Reuters
Imagem: Dado Ruvic/Reuters

Wanderley Preite Sobrinho e Lola Ferreira

Do UOL, em São Paulo e no Rio

19/05/2021 12h15Atualizada em 20/05/2021 08h40

Depois do Instituto Butantan, a Fiocruz (Fundação Oswaldo Cruz) paralisa a partir de hoje a produção da vacina Oxford/AstraZeneca contra a covid-19, também por falta de insumos. A interrupção deve afetar o volume de entregas ao PNI (Plano Nacional de Imunização) ao longo do mês de junho.

A fundação confirmou ao UOL que os trabalhos na fábrica de Bio-Manguinhos serão paralisados em razão "do rápido escalonamento de produção que a Fiocruz atingiu".

As remessas de IFA (Ingrediente Farmacêutico Ativo) vêm sendo consumidas antes do tempo previsto inicialmente, e será necessário interromper a produção na próxima quinta-feira (20/5) até a chegada do novo lote de insumo

Comunicado da Fiocruz

Menos entregas em junho

Segundo a Fiocruz, uma remessa de IFA "com dois lotes para a produção da vacina Covid-19 e não apenas um" chegará no próximo sábado (22) em razão da antecipação de uma remessa anteriormente prevista para 29 de maio.

Depois da produção das doses, a Fiocruz leva cerca de 20 dias para garantir o controle de qualidade antes de entregá-las ao Ministério da Saúde. Por esse motivo, a fundação afirma que a entrega de 1 milhão de doses por dia está garantida somente até 8 de junho graças às doses produzidas até o dia de hoje.

01.mai.21 - Chegada de novo lote da vacina AstraZeneca/Oxford ao Brasil - GRU Airport - GRU Airport
Chegada de lote da vacina AstraZeneca/Oxford ao Brasil em maio
Imagem: GRU Airport

A produção interrompida amanhã deve ser retomada apenas no dia 26, depois do IFA recebido no sábado ar por três dias de descongelamento. Se hoje a Fiocruz entrega entre 4 e 6 milhões de doses por semana, é possível que esse número caia para 3,5 e 4 milhões em junho por conta da interrupção.

Apesar de a paralisação impactar no volume das doses entregues a partir da segunda semana de junho, a fundação descarta interrupção das entregas.

O último carregamento de matéria-prima desembarcou da China há 25 dias. Nos dois primeiros meses do ano, as vacinas chegaram prontas da Índia. Em março, começou a produção com o IFA importado. No mês seguinte, a Fiocruz superou a meta do mês.

Na última sexta (14) a fundação entregou 4,7 milhões de doses, 600 mil a mais do que o inicialmente previsto. Era a terceira semana em que a instituição superava o montante de doses prometidas ao PNI.

No mesmo dia, a Fiocruz anunciou o adiamento —sem previsão de nova data— do início da produção nacional de IFA para a vacina Oxford/AstraZeneca. Em 7 de maio, o vice-presidente da fundação, Mário Moreira, havia prometido que a produção do insumo começaria em 15 de maio com distribuição das vacinas produzidas já a partir de outubro.

Butantan também parou produção

No dia 14 de maio, o Instituto Butantan também parou a produção da CoronaVac em razão da falta de matéria-prima para sua produção. O IFA recebido no dia 19 de abril já foi completamente processado e "a produção será retomada assim que mais insumos chegarem", diz em nota.

No dia 17, o Butantan informou que um lote com 4.000 litros de matéria-prima para a CoronaVac chegará ao Brasil em 26 de maio. O carregamento será suficiente para a produção de 7 milhões de doses.

De acordo com o instituto, "não há qualquer entrave relativo à disponibilização de IFA ao Butantan por parte da biofarmacêutica Sinovac", laboratório chinês responsável pelo desenvolvimento do imunizante.

O governador de São Paulo, João Doria (PSDB), porém, afirmou que a postura do governo de Jair Bolsonaro (sem partido) em relação à China dificulta a liberação dos insumos da CoronaVac para envio ao Brasil.

"O Butantan é o segundo maior cliente da Sinovac, só perde para o próprio governo da China. Não há nenhuma razão para que a Sinovac não queira fornecer para o seu segundo maior cliente do mundo", afirmou.