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

Governo fecha 1º contrato para fabricar respirador em larga escala no país

iStock
Imagem: iStock

Marco Britto*

Do UOL, em São Paulo

08/04/2020 12h13

O Ministério da Saúde assinou na noite de ontem o primeiro acordo com um fabricante nacional de respiradores hospitalares desde que a pandemia de coronavírus atingiu o país.

Numa força conjunta, a Magnamed, responsável pelo projeto, utilizará a capacidade de produção em larga escala da Flextronics, montadora internacional que normalmente atende o mercado de telecomunicações e tecnologia, para entregar 6.500 aparelhos até agosto, com expectativa de 2.000 unidades no primeiro mês.

O valor do contrato não foi revelado, mas calcula-se no mercado que cada respirador destes fique entre R$ 50 mil e R$ 60 mil. Ambas as empresas têm sede no estado de São Paulo.

O ministério já havia comunicado os principais fornecedores de respiradores do país, cerca de quatro empresas, segundo fontes consultadas pelo UOL, que a produção seria toda absorvida pelo governo federal. Porém essas fábricas precisam de parceiros maiores para multiplicar por dez a sua capacidade de entrega.

Entre várias iniciativas em curso, a junção Magnamed-Flextronics foi até agora a que conseguiu reunir todas as especificidades necessárias para receber a bênção federal.

Em Santa Catarina, a produtora de geradores Weg já tem linhas de montagem prontas para produzir um modelo alemão de respirador para o governo federal. Falta a "canetada". A empresa afirma ter capacidade para produzir 50 respiradores por dia.

Dependência da China

Respiradores são aparelhos montados no Brasil com peças importadas. Iniciativas para a produção destas peças engatinham. No entanto, executivos consultados pela reportagem afirmam que não há pânico em relação à China, principal produtor destes insumos.

"É só pagar e eles te entregam", afirmou interlocutor próximo à Magnamed. "Além disso, componentes importantes vêm da Suíça e da Alemanha, por exemplo. São fornecedores de longa data."

Na USP (Universidade de São Paulo) e também na UFRJ (Universidade Federal do Rio de Janeiro), pesquisadores desenvolvem modelos baratos de respirador que visam justamente a driblar a necessidade de peças importadas.

São projetos de baixíssimo custo, entre R$ 1.000 e R$ 2.000, para uso em caso de ausência de equipamento sofisticado.

A previsão mais otimista na USP é ter um modelo aprovado para fabricação em três semanas. Na UFRJ, o Coppe (Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia) calcula em no mínimo um mês o tempo para ter um produto comercializável.

Bate-cabeça

De acordo com fontes ouvidas pelo UOL nos mercados hospitalar, de investimentos e no Ministério da Saúde, juntar a vontade de ajudar com a exigência para entregar não tem sido tarefa simples.

Bancos e fundos de investimento acompanham projetos e aguardam a garantia dos contratos federais para entrar nas operações de financiamento de peças e contratações de pessoal. Enquanto isso, encomendas aumentam as filas na China.

A Fiemg (Federação das Indústrias do Estado de Minas Gerais), por exemplo, tem seu protótipo feito em parceria com Senai e iniciativa privada, e está disposta a abrir o projeto para quem quiser fabricar, mas precisa de homologação da Anvisa para o aparelho.

Desde o início da crise, projetos inundam o Ministério da Saúde diariamente, mas a grande maioria esbarra em critérios técnicos — ou a empresa não tem capacidade de produção em larga escala, ou não obedece aos requisitos para a produção de material hospitalar.

Para produzir respiradores, é necessário projeto homologado e com uma empresa de equipamento hospitalar responsável.

Federações das indústrias do país e grandes empresas têm feitos esforços para unir fabricantes destes aparelhos a grandes fábricas de qualquer outro item, que tenham linha de produção para turbinar a entrega, em número maior e tempo menor.

"É muito ego envolvido", conta ao UOL um executivo ligado ao setor do aço. "Todo mundo quer ser o dono da solução e nada acontece".

Conserto de respiradores ociosos

O Senai (Serviço Nacional de Aprendizagem Industrial) organizou uma rede de oficinas em 19 estados do país para receber respiradores que precisam de conserto. Em cerca de duas semanas, recebeu 599 unidades e entregou 37 de volta à rede hospitalar.

Hospitais podem entrar em contato com o Senai local para enviar equipamentos para o conserto. As Forças Armadas e a Polícia Militar têm ajudado com apoio logístico. Veja a relação de oficinas e contatos aqui.

*colaborou Chico Alves