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

OMS orienta, mas aeroportos de RJ e SP não controlam chegadas do exterior

ageiros relatam falta de fiscalização e orientação a quem chega ao Brasil em voos internacionais - Carol Coelho/Getty Images
ageiros relatam falta de fiscalização e orientação a quem chega ao Brasil em voos internacionais Imagem: Carol Coelho/Getty Images

Arthur Sandes

Do UOL, em São Paulo

19/03/2020 17h45Atualizada em 19/03/2020 19h28

Mais de três semanas após a confirmação do primeiro caso do novo coronavírus (covid-19) no Brasil, os dois principais aeroportos internacionais do país seguem sem controlar os ageiros vindos do exterior — mesmo aqueles vindos de países com grande foco da pandemia.

Na contramão das recomendações da Organização Mundial da Saúde (OMS), que aconselha detecção de pacientes doentes, entrevista, notificação às autoridades e até isolamento em caso de suspeita de covid-19, os aeroportos internacionais de São Paulo e do Rio não fazem qualquer tipo de triagem em quem chega de viagem de outros países.

"Não tem nada [nenhum controle]. Eu mesmo estava usando máscara e não fui parado em momento algum. Nem no portão de desembarque, nem na esteira de recolhimento das bagagens. Não tem nenhum controle", relata Vinícius Biazotto, estudante, que vinha do Canadá e fez conexão em Guarulhos hoje antes de ir a Maringá (PR).

O Canadá, onde Vinícius estava, recomenda isolamento de 14 dias para qualquer pessoa que desembarque de voos internacionais. O país registra 736 casos oficiais de coronavírus — 257 só em Ontário, província onde Vinícius mora e ou as últimas semanas. Ele conta que, antes da decolagem, a tripulação disse que no Brasil "haveria pessoas nos fazendo perguntas, de onde viemos, se tínhamos algum sintomas; mas não teve nada disso".

A cena contrasta com o protocolo visto em países vizinhos. No aeroporto internacional de Santiago, há duas semanas, a reportagem presenciou funcionários chilenos medindo a temperatura e entrevistando ageiros que desembarcavam do Brasil.

"As pessoas se abraçavam"

A falta de controle vista em Guarulhos é semelhante ao que acontece no Aeroporto Internacional Tom Jobim, o Galeão, no Rio de Janeiro.

"Cheguei no Galeão na noite de quarta-feira (18), e não tinha nenhuma orientação. As pessoas se cumprimentavam, abraçavam e riam com quem voltava da Europa; sem máscara, sem nada. Não teve absolutamente nenhuma fiscalização, checagem de temperatura, nada", conta Pedro Ivo Almeida, editor do UOL Esporte.

Ele teve que abreviar a viagem que fez à Europa por causa do covid-19: abriu mão de reservas e agens e só teve tempo de ar pela Espanha (mais de 11 mil casos confirmados atualmente) e Suíça (2,6 mil).

"Não tinha nada funcionando no aeroporto de Zurique, parecia um shopping fantasma. E no de Madri não tinha nenhuma fiscalização, nem controle ou orientação, nada. Então saímos normalmente e ficamos em um hotel próximo. Para sair da Europa, na imigração, os fiscais espanhóis nem incluíram as informações do aporte no sistema: só queriam que a gente saísse o mais rápido possível", completa Pedro Ivo, que agora está em quarentena autoimposta no Brasil.

Aeroportos citam Anvisa, que citam o Ministério da Saúde

Por meio de nota, a concessionária GRU Airport, responsável pelo aeroporto de Guarulhos, afirma que "segue todas as recomendações da Anvisa". Diz também ter aumentado os procedimentos de higienização e a frequência de limpeza das áreas comuns, além de emitir alertas sonoros de prevenção ao coronavírus no sistema de som.

Já a RIOgaleão explica que "a abordagem de ageiros e triagem de casos suspeitos são de responsabilidade da Anvisa". A concessionária afirma que seus funcionários estão orientados a encaminhar os ageiros autodeclarados suspeitos à Anvisa, que toma as medidas cabíveis. Também diz ter aumentado a frequência de limpeza e dos avisos sonoros de prevenção.

Procurada, a assessoria do Ministério da Saúde informou que "quem decide se haverá ou não triagem, aviso sonoro ou qualquer outra medida nos aeroportos é a Anvisa (Agência Nacional de Vigilância Sanitária). O Ministério não responde pelos aeroportos".

Já a Anvisa, em contato com a reportagem, informou que "não existe triagem [nos aeroportos] porque esta não é a orientação por parte do Ministério da Saúde". Em nota, a Agência afirma que foca em "monitorar os relatos feitos nas aeronaves". Quanto a uma possível triagem, alega que "a medição de temperatura de forma indistinta para todos os ageiros não está no protocolo de ação da Anvisa, pois não tem base científica ou eficácia comprovada" para a identificação de infectados em trânsito.