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

Vacinação pode ser afetada a partir de junho por falta de IFA, diz Dimas Covas

Dimas Covas mostrou preocupação com liberação de insumos pela China - Divulgação
Dimas Covas mostrou preocupação com liberação de insumos pela China Imagem: Divulgação

Por Eduardo Simões

10/05/2021 09h21Atualizada em 10/05/2021 10h24

O cronograma nacional de vacinação contra a Covid-19 no Brasil pode ser afetado pelos atrasos na chegada de IFA (insumo farmacêutico ativo) importado da China a partir de junho, disse hoje o diretor do Instituto Butantan, Dimas Covas.

Em entrevista na sede do instituto para marcar a entrega de um lote de 2 milhões de doses da CoronaVac, vacina contra Covid-19 do laboratório chinês Sinovac, ao Programa Nacional de Imunização (PNI) do Ministério da Saúde, Covas disse ainda que não há uma data para a chegada de mais IFA para o Butantan, que já envasou todo insumo que tinha em estoque.

"Preocupa muito o cronograma de vacinação, não neste momento, mas a partir de junho poderá sofrer algum impacto", afirmou o diretor do Butantan, lembrando que o IFA da vacina da AstraZeneca, que está sendo envasada pela Fundação Oswaldo Cruz (Fiocruz), também é importado da China.

"Não temos definição da liberação do insumo na China. Existe a definição de 4 mil litros, sim, e esperamos que até na quarta-feira (12) possamos ter uma notícia positiva", acrescentou Covas, que espera a chegada do lote para, no máximo, o dia 18.

O diretor do Butantan voltou a afirmar que o atraso se deve à demora na autorização de exportação do IFA por parte do governo da China e não à produção da Sinovac. Informações do governo do Estado de São Paulo, ao qual o Butantan é vinculado, dão conta de que o laboratório chinês tem 10 mil litros de IFA prontos, aguardando liberação para embarque ao Brasil.

Também presente na coletiva, o governador de São Paulo, João Doria (PSDB), voltou a responsabilizar declarações contrárias à China feitas pelo presidente Jair Bolsonaro e por outras autoridades do governo federal, como o ministro da Economia, Paulo Guedes, pelo atraso na liberação dos insumos pelo governo chinês.

"É muito claro que há uma limitação determinada pelo governo da China dadas as circunstâncias das manifestações absolutamente inapropriadas, inadequadas e inoportunas do governo brasileiro através das suas autoridades", disse o governador que, ao mesmo tempo, afirmou que o ministro das Relações Exteriores, Carlos França, tem feito esforços diplomáticos junto ao governo chinês para agilizar a liberação de exportação.

Com a entrega desta segunda, o Butantan ultraou a marca de 45 milhões de doses da CoronaVac entregues ao PNI. Na quarta-feira o instituto prevê entregar mais 1 milhão de doses, concluindo assim os 46 milhões de doses previstas na primeira parte do contrato com o Ministério da Saúde, que deveria ter sido finalizada ao final de abril.

Na sexta, o Butantan espera entregar mais 1,1 milhão de doses da vacina, iniciando assim o segundo contrato com o ministério, que prevê a entrega de 54 milhões de doses até o final de setembro.