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

Com medo e sem estimativas, médicos e enfermeiros contam colegas infectados

10.mar.2020 - Enfermeira usa máscara para se proteger contra o coronavírus no Hospital Regional da Asa Norte, em Brasília - Adriano Machado/Reuters
10.mar.2020 - Enfermeira usa máscara para se proteger contra o coronavírus no Hospital Regional da Asa Norte, em Brasília Imagem: Adriano Machado/Reuters

Cleber Souza e Luisa Picanço

Do UOL, em São Paulo, e colaboração para o UOL, no Rio

27/03/2020 04h03

"Ontem morreu um agente de saúde suspeito de coronavírus no Hospital Getúlio Vargas. Digo suspeito porque não tem teste para os profissionais de saúde."

Nos hospitais do Rio e de São Paulo, há medo, cansaço e súplica por materiais de proteção, segundo retratam os sindicatos de médicos e enfermeiros entrevistados pelo UOL.

Apesar da imprecisão na contagem, começam a surgir casos de profissionais da saúde infectados.

"Pelas nossas contas, já temos 80 profissionais em quarentena", afirma Mônica Armada, presidente do Sindenfrj (Sindicato dos Enfermeiros do RJ) e autora da frase que abre a reportagem.

Em São Paulo, os sindicatos da classe já denunciaram instalações precárias ao Ministério Público e ao Ministério do Trabalho, além de entrar com ação contra o governo do estado no Tribunal de Justiça pedindo melhores condições de proteção dos profissionais.

A reportagem do UOL tem entrado em contato com as secretarias estaduais, que afirmam estar usando todo o recurso disponível e atendendo às demandas, mas têm dificuldade em ar dados precisos sobre a demanda atual em relação aos leitos disponíveis.

"Governo e município não vão ar dados sobre falta de EPIs [Equipamento de Proteção Individual, traje médico], pois realmente estão em falta", afirma Solange Caetano, presidente do Seesp (Sindicato dos Enfermeiros do Estado de São Paulo).

No Rio, a Justiça do Trabalho concedeu liminar ao sindicato dos médicos sob pena de multa às organizações sociais e empresas públicas que prestam serviço ao estado e ao município do Rio. A determinação é de que se garanta o fornecimento de EPIs e insumos como álcool 70%, sabão e papel toalha.

"Sabemos que tem hospital quem não tem sabão. Os profissionais estão expostos. O trabalhador tem de ser resguardado. Temos recebido muitas denúncias.", diz Alexandre Telles, presidente do Sinmed (Sindicato dos Médicos do RJ).

Falta mão de obra

Limitações de estrutura e pessoal já se colocam como barreira à vista para enfrentar a pandemia, com número de contágios que deve crescer ainda no Brasil. Os sindicatos pedem contratações.

"Não tem gente para trabalhar. Precisamos de contratação imediata. A prefeitura fez um chamado para 200 pessoas em enfermagem, mas só no [hospital] Souza Aguiar precisa de 111 pessoas", diz Monica, do Sindenfrj.

De acordo com dados do CFM (Conselho Federal de Medicina), em 2018, o Rio de Janeiro tinha 59.366 médicos e uma razão médico por 1.000 habitantes de 3,55.

No mesmo ano, São Paulo tinha 126.687 profissionais e uma razão médico por 1.000 habitantes de 2,81.

A OMS (Organização Mundial da Saúde) recomenda a proporção de um médico para cada mil habitantes.

O Seesp afirma que a falta de profissionais nos hospitais está esticando a jornada dos contratados. Além do cansaço, é um maior tempo de exposição ao coronavírus em meio à falta de material de proteção. Máscaras que deveriam ser descartadas estão sendo utilizadas muito além do recomendável, revelam os profissionais de saúde.

Segundo dados do Seesp, atualmente são mais de 137 mil enfermeiros no estado de São Paulo.

Para o diretor do Sinmesp (Sindicato dos Médicos de São Paulo), o infectologista Gerson Salvador, o número de leitos de UTIs pode ser insuficiente caso a pandemia confirme uma evolução agressiva no estado.

Para Solange, mesmo com as adversidades, o pânico ainda não começou.

"Se isso se agravar, pode haver uma dificuldade quanto ao o à materiais de proteção. Principalmente para profissionais de saúde."