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

Saúde negocia requisição de estoques excedentes de seringas após compra fracassar

Governo fez requisição do estoque excedente dos fabricantes de seringa no país - Getty Images/iStockphoto
Governo fez requisição do estoque excedente dos fabricantes de seringa no país Imagem: Getty Images/iStockphoto

Mateus Vargas

05/01/2021 12h10

Brasília - Depois do fracasso na primeira tentativa de compra de seringas e agulhas para as campanhas de vacinação contra covid-19 e sarampo, o Ministério da Saúde fez uma requisição de estoques excedentes destes produtos na indústria nacional. A expectativa é garantir a entrega de 30 milhões de unidades em janeiro.

O ministério só conseguiu lances válidos para 7,9 milhões das 331 milhões de seringas e agulhas procuradas por meio de pregão eletrônico, no último dia 29, como revelou o Estadão. A pasta afirma que, além da requisição emergencial, também irá abrir novo edital de compra destes produtos.

"Representantes do Ministério da Saúde realizaram uma requisição istrativa, na forma da lei, de estoques excedentes junto aos fabricantes das seringas e agulhas, representados pela Abimo (Associação Brasileira da Indústria de Artigos e Equipamentos Médicos, Odontológicos, Hospitalares e de Laboratórios). Isso, enquanto não se concluiu o processo licitatório normal, que será realizado o mais breve possível. Essa requisição visa a atender às necessidades mais prementes para iniciar o Plano Nacional de Operacionalização da Vacinação Contra a Covid-19", disse o Ministério da Saúde em nota.

Além da requisição dos estoques, o governo federal também restringiu a exportação dos produtos e deve retirar impostos para a importação.

Em perfis institucionais nas redes sociais, o ministério chamou de "fake news" notícias sobre o desempenho do governo na busca por seringas. A indústria nacional de produtos hospitalares alerta o ministério desde julho sobre a necessidade de planejar a compra desses insumos.

O ministério ainda aumentou a aposta na compra de agulhas e seringas por meio da Organização Pan-Americana de Saúde. A ideia agora é ampliar de 40 milhões para 190 milhões de unidades compradas por meio da entidade.

Sem detalhar, o ministério afirma que estados e municípios têm estoque suficiente para começar a campanha de vacinação. A compra desses insumos costuma ser feita por secretarias locais, mas o ministério centralizou a aquisição agora devido ao aumento da demanda pela pandemia.