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

Estado do Rio de Janeiro supera marca de 5,5 mil casos de novo coronavírus

Adriano Machado/Reuters
Imagem: Adriano Machado/Reuters

Do UOL, em São Paulo

22/04/2020 19h15Atualizada em 22/04/2020 19h22

O Rio de Janeiro ultraou hoje a marca de 5,5 mil casos pelo novo coronavírus, segundo divulgado pela Secretaria Estadual de Saúde (SES). O estado também registrou mais 29 óbitos nesta quarta-feira.

Ao todo, o Rio de Janeiro tem agora 5.552 casos confirmados de covid-19 e 490 óbitos. Ainda de acordo com a SES, há 151 óbitos em investigação.

A capital é a cidade com mais casos registrados: 3.656. Na sequência, vêm Niterói (239), Nova Iguaçu (224), Duque de Caxias (217), Volta Redonda (174), São Gonçalo (122), São João de Meriti (106), Belford Roxo (84), Petrópolis (74) e Mesquita (73).

O Rio também é a cidade do estado com mais óbitos, contabilizando 303. Duque de Caxias soma 38, Nova Iguaçu tem 18 e Niterói já conta 16 vítimas fatais.

Ocupação das UTIs beira os 80%

Além de estarem operando no limite da capacidade, os hospitais do Rio já têm dificuldades para realizar novas internações. Dezenas de pacientes estão sendo transferidos diariamente para unidades do interior —algumas a mais de 100 quilômetros da capital— e a ocupação das UTIs disponíveis beira os 80%.

Segundo a SES, a taxa de ocupação na rede estadual é de 66% em leitos de enfermaria e 78% em leitos de UTI. Nos últimos 45 dias, foram abertos 548 novos leitos exclusivos para tratamento de pacientes infectados pelo coronavírus em todo o estado.

Em nota, a secretaria explicou que "transferências entre unidades fazem parte do protocolo estabelecido para não sobrecarregar as equipes das unidades". A pasta também afirmou que faz transferências "de forma alternada para as diferentes unidades espalhadas pelo território".

Ao todo, a SES planeja oferecer mais 3.414 leitos na capital, na região metropolitana e no interior. O número inclui dois mil leitos em hospitais de campanha que ainda estão sendo construídos.

Profissionais de saúde afastados

O Rio também tem, ainda de acordo com a SES, mais de 1.800 profissionais da saúde da rede pública afastados por causa do coronavírus. Só na capital fluminense 800 profissionais não estão mais trabalhando.

Entre as unidades da rede estadual, o Hospital Getúlio Vargas, na Penha, na zona norte do Rio, possui o maior número de funcionários atingidos: 186. Na sequência aparecem: Hospital Alberto Torres (165), em São Gonçalo; Carlos Chagas (139), em Marechal Hermes, na zona norte da capital; e Azevedo Lima (97), em Niterói.

Já na rede municipal de Saúde, os 800 profissionais afastados integram hospitais do município, UPAs, CERs (Coordenação de Emergência Regional) e estabelecimentos de atenção.

A SES informou que os números serão atualizados ainda nesta semana, o que pode indicar mais funcionários fora dos seus postos.