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

Em 3 dias, 11 morrem de covid à espera de UTI em Ribeirão Pires (SP)

Pacientes com covid-19 no Hospital de Campanha de Ribeirão Pires - Anahi Martinho/UOL
Pacientes com covid-19 no Hospital de Campanha de Ribeirão Pires Imagem: Anahi Martinho/UOL

Anahi Martinho

Colaboração para UOL, em Ribeirão Pires (SP)

12/03/2021 22h23

Ameaçado de fechar, o Hospital de Campanha de Ribeirão Pires, que atende cidades do ABC paulista e da Grande São Paulo, está no limite da capacidade.

A unidade está com 38 dos seus 42 leitos ocupados, todos por pessoas em estado médio e grave de contaminação pelo covid-19.

Só nos últimos três dias, morreram 11 pacientes na unidade, segundo a diretora-geral de enfermagem, Odília Gomes. Todos estavam à espera de leitos de UTI (Unidade de Terapia Intensiva) pelo sistema Cross, que está sobrecarregado.

O Cross (Central de Regulação de Oferta de Serviços de Saúde) atua na distribuição de pacientes em leitos disponíveis por todo o estado de São Paulo. Mas está em colapso desde a semana ada.

A situação está crítica. Nestes últimos dias estamos com quase 100% da capacidade ocupada por pacientes em estado médio e grave.
Odília Gomes, diretora-geral de enfermagem do Hospital de Campanha de Ribeirão Pires

O hospital de campanha, que funciona em um ginásio esportivo da cidade, não conta com UTI, apenas tem respiradores e enfermaria. Somente hoje, a unidade estava com oito pacientes intubados. Um deles morreu durante a visita da reportagem do UOL.

Além dos moradores de Ribeirão Pires, o hospital recebe pacientes transferidos de prontos-socorros das cidades vizinhas de Mauá, Ferraz de Vasconcelos, Suzano, Poá e Rio Grande da Serra. "A região toda está sendo atendida por nós", afirma Odília.

A cidade vizinha de Mauá, que também teve sua estrutura de campanha desativada no ano ado, registrou seis mortes nas últimas 24 horas.

"Em 30 anos de enfermagem, eu nunca presenciei nada assim. Ontem tinha médicos chorando aqui", diz a diretora.

Um técnico de enfermagem, que preferiu não se identificar, desabafou nos corredores: "Hoje foi puxado. Tá muito cheio e com pacientes mais graves do que o normal", disse ao UOL.

"Isso aqui não pode fechar de jeito nenhum. É o único recurso que a gente tem. A cidade não tem hospital próprio", afirmou Otoniel Alegria, que foi à unidade buscar um amigo, de 64 anos, que teve alta após sete dias internado.

O prefeito da cidade, Clovis Volpi (PL), havia informado que fecharia o Hospital de Campanha no dia 10 de março, por falta de recursos. Após o anúncio, o Consórcio Intermunicipal do Grande ABC disponibilizou um aporte financeiro no valor de R$ 300 mil que possibilita manter o hospital funcionando por mais um mês.

"Mas, depois do dia 10 de abril, não sabemos como vai ficar", diz Irlene Brandão, responsável técnica de enfermagem da unidade. "Estamos com grande dificuldade para manter a estrutura funcionando."

A Secretaria Estadual da Saúde afirmou ao jornal Agora que "não há nenhum convênio ou contrato vigente entre o governo do estado e o município de Ribeirão Pires" para o hospital de campanha. A pasta diz ter reado R$ 2,5 milhões e enviado 11 respiradores ao município desde o ano ado.

"Não tem como fechar, pelo bem da população, isso nem devia ar pela cabeça das autoridades", diz Bruno Santos, porteiro da unidade.