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

A cada 5 minutos, uma ambulância em PE: "Sirene de bombardeio", diz médico

15/04/2020 - Coronavírus: paciente com máscara de proteção chega de ambulância em hospital de Recife (PE) - Veetmano Prem/Fotoarena/Estadão Conteúdo
15/04/2020 - Coronavírus: paciente com máscara de proteção chega de ambulância em hospital de Recife (PE) Imagem: Veetmano Prem/Fotoarena/Estadão Conteúdo

Carlos Madeiro

Colaboração para o UOL, em Maceió (AL)

03/05/2020 09h07

No Hospital Universitário Oswaldo Cruz, no Recife, faltam vagas de UTI (Unidade da terapia intensiva) para dar conta da quantidade pacientes da covid-19 da região metropolitana da capital recifense. O chefe do Setor de Infectologia do local, Demetrius Montenegro, diz que "lá na ponta, a guerra está em pleno vapor, e a gente sabe que vai aumentar ainda mais".

"Eu moro numa região da cidade que é um corredor, e a cada cinco minutos é o som de uma ambulância. Eu não vivi a primeira, nem a segunda Guerra Mundial, mas parece sirene de bombardeio", compara.

Para Demetrius, mesmo sem barulho de tiros, o mundo vive uma guerra silenciosa.

Ninguém escuta a bomba estourando, mas se cada um prestar atenção no som das sirenes das ambulâncias, vai perceber o momento"

Pernambuco foi um dos primeiros estados do país a registrar superlotação de leitos de UTI. Na quarta-feira à tarde, eram 184 pacientes à espera de um dos 384 abertos pelo estado somente para tratar casos da covid-19. Até sábado, eram 8.145 casos no estado, com 628 mortes.

Para o médico, a situação é de angústia. "Mesmo quando estou em casa, fora do ambiente de trabalho, fica essa angústia de tentar salvar a vida dessas pessoas", conta.

Demetrius diz que ver pacientes internados em estado grave é desolador, mas a tristeza não acaba quando sai do Oswaldo Cruz.

É muito triste quando saímos do hospital —com todos os problemas dos pacientes, o número de pacientes aumentando, sabendo quem está nas emergências sofrendo ainda mais do que quem está no hospital— e nos deparamos com as ruas lotadas pessoas, muitas sem máscaras. Isso é preocupante. Muitos não estão acreditando e depende de cada um fazer seu papel"

Sobre a falta de leitos, o médico reforçou que não haverá nunca vagas para todos se as pessoas adoecerem ao mesmo tempo.

"Não adianta. Por mais que se abra leito, vai ter um momento que não vai dar mais. Isso não é porque o governo deixou de fazer algo, mas sim porque o número de leitos no mundo tem um limite. Então, se existe um limite, a gente tem que diminuir a quantidade de pessoas expostas para que elas não adoeçam.

Vocês tem que acreditar: a guerra já começou e só tende a piorar"