;(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 do Rio vai fechar hospitais de campanha até 12 de agosto

3.jun.2020 - Movimentação em frente ao hospital de Campanha do Maracanã, na zona norte do Rio - Felipe Duest/Photopress/Estadão Conteúdo
3.jun.2020 - Movimentação em frente ao hospital de Campanha do Maracanã, na zona norte do Rio Imagem: Felipe Duest/Photopress/Estadão Conteúdo

Igor Mello

Do UOL, no Rio

29/07/2020 14h27

A SES (Secretaria Estadual de Saúde) do Rio anunciou hoje que irá fechar todos os hospitais de campanha para pacientes com covid-19 até o dia 12 de agosto. De acordo com a pasta, a queda no número de casos no estado justifica a medida.

O anúncio foi feito pelo Alex Bousquet, terceiro secretário nomeado pelo governador Wilson Witzel (PSC) durante a pandemia. Segundo ele, há decisões judiciais determinando a manutenção dos hospitais, mas a SES irá apresentar "argumentação técnica" para justificar a decisão de fechá-los.

"Temos uma programação de desmobilização dos hospitais. Não havendo nenhum impedimento legal, os hospitais de Nova Friburgo, Caxias e Nova Iguaçu serão desmobilizados em 5 de agosto. E os hospitais do Maracanã e de São Gonçalo serão desmobilizados em 12 de agosto", afirmou o secretário.

Os hospitais de Duque de Caxias, Nova Iguaçu e Nova Friburgo não foram inaugurados. Na semana ada, o governo afirmou que as unidades estavam prontas e contavam com 20 leitos cada. Já as unidades de Campos dos Goytacazes e Casemiro de Abreu foram abandonadas na fase de obras. Até o momento, a operação de hospitais de campanha do Rio custou R$ 256 milhões.

Bousquet argumentou que a desmobilização dos hospitais de campanha não deixará a rede pública desassistida. "Não precisamos usar os hospitais de campanha como stand by tendo mais de 900 vagas disponíveis nesse momento", disse.

"A desmobilização dos hospitais de campanha vai fazer que distribuamos esse material que está ali e é nosso. Não é da organização social responsável pelo contrato, é nosso. E ele será distribuído nas nossas unidades e para os municípios. Não teremos mais a lona visível, mas teremos um reforço na saúde dos municípios."

Contrato tem indícios de fraude

Durante a pandemia, o Rio planejou a construção e operação de sete hospitais de campanha com um total de 1.300 leitos. Contudo, apenas dois deles —no Maracanã (zona norte da capital) e em São Gonçalo (Grande Rio)— de fato saíram do papel.

A organização social Iabas (Instituto de Atenção Básica e Avançada à Saúde) foi contratada por R$ 770 milhões para manter o serviço por seis meses, mas o acordo foi alvo de uma série de denúncias de corrupção.

Investigações do MPF (Ministério Público Federal) e do MP-RJ (Ministério Público do Rio de Janeiro) mostram indícios de que a contratação foi direcionada. Também apontam a existência de superfaturamento milionário no contrato. As supostas irregularidades na construção dos hospitais de campanha embasam, também o pedido de impeachment contra Witzel em tramitação na Alerj (Assembleia Legislativa do Rio).

Nesta segunda-feira (27), o UOL revelou que os leitos abertos pelo Iabas custaram 90% mais do que os existentes em dois hospitais de campanha operados pela iniciativa privada. O sobrepreço está relacionado a prejuízos causados pelas unidades que sequer foram entregues.

Bousquet afirmou que o contrato com o Iabas será encerrado. "Faremos uma rescisão unilateral desse contrato e ela será feita nos próximos dias", afirmou.

Nesta terça-feira (28), o estado do Rio chegou a 13.033 mortes e 159.639 casos confirmados de coronavírus. Além da capital, Niterói, São Gonçalo e Duque de Caxias registram os maiores números de infectados pela covid-19.