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

Prefeitura de São Paulo reabre parcialmente Hospital Sorocabana

10/08/2020 20h42


A prefeitura de São Paulo entregou hoje (10) 33 novos leitos no Complexo Hospitalar Municipal Sorocabana, no bairro da Lapa, zona oeste da cidade, de acordo com informações do município. Os leitos serão utilizados, durante a pandemia do novo coronavírus, para o tratamento exclusivo de pacientes com a doença. Nesta primeira fase, serão 27 leitos de enfermaria e seis de estabilização (UTI). Os leitos serão utilizados para casos de baixa e média complexidade.

No entanto, a ação não atende à demanda do Comitê de Defesa do Hospital Sorocabana, já que os novos leitos estão instalados em áreas istrativas reformadas nos dois andares inferiores, que já estavam em funcionamento com uma Assistência Médica Ambulatorial (AMA), desde 2012; um Hospital Dia da Rede Hora Certa - para procedimentos de baixa complexidade - e um Centro Especializado de Reabilitação (CER), desde 2016. Os cinco andares superiores, objeto da reivindicação de abertura da comunidade local, continuam fechados.

Há previsão, ainda em agosto, de entrega de mais 22 leitos na segunda fase, todos de enfermaria, totalizando 55 leitos no prédio do Hospital Sorocabana. Foram investidos R$ 1,3 milhão na reforma e adequação do prédio e mais R$ 1,1 milhão em equipamentos. O custo médio mensal para manter os serviços é estimado em R$ 3,2 milhões.

"A reabertura do Hospital Sorocabana é uma antiga reivindicação de toda a população da Lapa e da Zona Oeste. Estava fechado desde 2010, quando voltou para o Estado e a associação que aqui cuidava devolveu a área. Estamos reabrindo esses 55 leitos. Parte de estabilização, parte de UTI. São leitos para ajudar no combate à pandemia de coronavírus", disse o prefeito Bruno Covas. De acordo com o prefeito, diferente dos hospitais de campanha, que são estruturas provisórias, a estrutura do Hospital Sorocabana será permanente.

Ainda segundo Covas, assim que ar a pandemia, será um hospital referência para toda a região. "Hoje, a pessoa desta área que precisa de um hospital vai no de Pirituba ou no do Jaçanã. Aqui funcionará, também, como um grande complexo de saúde, já que aqui ao lado temos um Hospital Dia, uma AMA 24h, o CER e uma base do SAMU [Serviço de Atendimento Móvel de Urgência]". Segundo a prefeitura, o local vai contar com 175 colaboradores entre médicos, enfermeiros, fisioterapeutas e outros profissionais de Saúde.

De acordo com o membro do Comitê de Defesa do Hospital Sorocabana, Toni Zagato, o Sorocabana continuará com 5 andares fechados, sem os leitos de UTI necessários para a região oeste. "Foram quase 2,6 milhões em reforma e equipamentos, e pintura de fachadas, e um aditivo contratual com uma entidade particular. Vimos hospitais de campanha erguidos e desmontados ao custo de dezenas de milhões de reais, quando o Sorocabana, como o Comitê defendia, poderia ser usado desde o começo."

Zagato defende que é urgente que o Ministério Público investigue se houve má gestão de recursos públicos "devido à decisão da Secretaria Municipal de Saúde de descartar oficialmente, em março, o Sorocabana para a covid-19; e, especialmente, apure quantas inestimáveis vidas poderiam ter sido salvas nesses 5 meses se a gestão municipal tivesse instalado imediatamente leitos no hospital. Temos mais de 10 mil mortes na vapital, e os agentes públicos municipais em nível decisório devem ser rigorosamente responsabilizados na Justiça, em caso de desvios".