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

Com atraso de insumos, envase da CoronaVac está parado no Butantan

Envase da CoronaVac no Instituto Butantan - Divulgação/Instituto Butantan
Envase da CoronaVac no Instituto Butantan Imagem: Divulgação/Instituto Butantan

Lucas Borges Teixeira e Gilvan Marques

Do UOL, em São Paulo

07/04/2021 21h29Atualizada em 08/04/2021 00h53

Com o atraso dos insumos que deveriam chegar da China nesta semana, o envase da CoronaVac está temporariamente parado no Instituto Butantan, em São Paulo. Segundo o órgão, isso faz parte da cadeia produtiva da vacina e não deverá atrapalhar o cronograma de entrega das doses ao PNI (Plano Nacional de Vacinação).

Atualmente, a CoronaVac é produzida no Butantan com insumos da chinesa Sinovac e ainda depende do IFA (Insumo Farmacêutico Ativo) importado para manter sua produção. Por meio de nota, o instituto confirmou que todas as doses com a matéria-prima já recebida já foram envasadas, mas diz que a produção não parou porque as doses "estão no processo de inspeção de qualidade". Os insumos, que deveriam chegar nesta semana, atrasaram para a semana que vem.

"Neste momento, cerca de 2,5 milhões de vacinas encontram-se em processo de inspeção de controle de qualidade — parte integrante do processo produtivo — para serem entregues na semana que vem ao PNI", diz o órgão.

O ministro da Saúde, Marcelo Queiroga, disse que o governo brasileiro dialoga com a China para resolver ime sobre insumos do Instituto Butantan e, assim, restabelecer a produção da vacina CoronaVac.

"Tivemos com o embaixador [da China no Brasil] Yang Wanming, e ele tem sido muito sensível a essa questão. Vamos continuar dialogando para buscar superação dessa questão do IFA. E fazer com que o Butantan, que é patrimônio de cada um dos brasileiros, possa ter a sua capacidade de produção restabelecida e ter as doses suficientes para vacinar a nossa população", afirmou Queiroga, em entrevista a jornalistas, na saída de jantar com empresários e o presidente Jair Bolsonaro (sem partido), em São Paulo.

A última vez que o processo de produção da CoronaVac foi interrompido foi em 17 de janeiro, no início da vacinação no Brasil, exatamente por falta de insumos. A atividade foi retomada no início de fevereiro e, desde então, as remessas têm sido periódicas — com recebimento, inclusive, do governador João Doria (PSDB), no Aeroporto de Guarulhos.

O Butantan diz que a parada no processo de envase não é um problema, mas, até o recebimento do novo IFA, não haverá produção de novas doses.

"A chegada estava prevista para essa semana, houve atraso e estamos aguardando para a próxima semana", disse Dimas Covas, diretor do instituto, em coletiva na tarde desta quarta (7). "Estamos trabalhando a todo vapor para o que cronograma seja mantido e até adiantado. Nosso pedido é que haja aumento de volume e até adiantar entregas."

Segundo Covas, o atraso se tratou de burocracia. "A produção do IFA [na China] está pronta. Estamos aguardando o desembaraço de documentação, não temos nenhum motivo para pensar diferente disso", declarou, na coletiva.

Desde janeiro, o Butantan já entregou 38,2 milhões de doses da CoronaVac ao governo federal. Em março foram disponibilizadas pelo Butantan 22,7 milhões de doses. Já em fevereiro, 4,85 milhões e, em janeiro, 8,7 milhões de unidades.

"Com uma nova remessa de IFA, prevista para a próxima semana, será possível integralizar todas as 46 milhões de doses referentes ao primeiro contrato com o Ministério da Saúde até o dia 30 de abril", conclui a nota.

De acordo com informações divulgadas pelo instituto, o Butantan ainda trabalha para entregar outras 54 milhões de doses para vacinação dos brasileiros até o dia 30 de agosto, totalizando 100 milhões de unidades.