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

Rio tem alta de doenças respiratórias, e Fiocruz recomenda mais restrições

Praias no Rio de Janeiro ficaram lotadas no verão - GILVAN DE SOUZA/AGÊNCIA O DIA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
Praias no Rio de Janeiro ficaram lotadas no verão Imagem: GILVAN DE SOUZA/AGÊNCIA O DIA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO

Herculano Barreto Filho

Do UOL, no Rio

04/03/2021 04h00

A alta nos novos casos semanais de SRAG (Síndrome Respiratória Aguda Grave) na capital fluminense identificada pela Fiocruz (Fundação Oswaldo Cruz) acendeu o sinal de alerta no combate à pandemia no Rio de Janeiro.

Em meio a esse cenário, o pesquisador em saúde pública da Fiocruz e coordenador do boletim InfoGripe, Marcelo Gomes, defende a adoção imediata de novas medidas de restrições para impedir uma possível superlotação em hospitais do estado nos próximos dias.

Ele explica que a alta nos casos de SRAG, com sinais e sintomas compatíveis com a covid-19, é um indicador de um possível aumento de internações, podendo levar a saúde pública no Rio ao colapso em decorrência da falta de vagas.

Infelizmente, já há indícios de retomada de um crescimento. Se nada for feito rapidamente, os casos vão continuar subindo e o Rio pode enfrentar os mesmos problemas que estamos vendo em outros estados do país, como Rio Grande do Sul, Santa Catarina e Ceará

Marcelo Gomes, pesquisador da Fiocruz

SRAGs antecipam alta de internações por covid

O levantamento da semana epidemiológica entre 21 e 27 de fevereiro feito pelo boletim InfoGripe verificou cerca de oito novos casos por 100 mil habitantes na capital fluminense —a taxa caiu de um pico de 15 novos casos por 100.000 habitantes em dezembro para o índice de seis em janeiro. Após um período de estabilização, o índice agora volta a subir, preocupando especialistas.

O estado contabiliza 33.362 mortes e 587.800 casos —com 186 novos óbitos e média de 110 mortes na quarta (3), segundo dados do consórcio de imprensa.

A cidade do Rio registrou 18.992 óbitos até ontem, de acordo com a prefeitura —72 deles na quarta (3). Ao todo, foram 208.071 casos confirmados de pessoas infectadas pela doença.

O levantamento da prefeitura ainda registrou 43.195 casos graves de SRAG desde o início da pandemia. O UOL verificou a internação de 129 pacientes com doenças respiratórias entre quarta e terça-feira. Já a taxa de ocupação nos leitos hospitalares é de 76%, com 887 internados por SRAG.

Serviços essenciais

Para o endurecimento na quarentena, Marcelo Gomes sugere medidas para evitar aglomerações, reforço no uso de máscara de proteção, funcionamento apenas de serviços essenciais e a adoção de horários alternativos de trabalho, para reduzir a movimentação em horários de pico no transporte público.

"Essa conversa não pode mais ser adiada. Quanto mais cedo isso ocorrer, melhor. Se esperarmos, vamos ser obrigados a enfrentar medidas mais longas e mais duras para aliviar uma provável superlotação na capacidade hospitalar", projeta o pesquisador da Fiocruz.

Segundo Gomes, as internações de pessoas com SRAG costumam durar até duas semanas, sobrecarregando o sistema de saúde.

"O atendimento hospitalar é a última ponta. Quando sobrecarrega, é porque já há uma situação extrema. O ideal é tomar medidas preventivas para evitar perda de tempo e de vidas", avalia.