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

Esse conteúdo é antigo

Com longa espera e congestionamento, SP vacina idosos entre 80 e 84 anos

Vista aérea da fila de carros que se formou no posto de vacinação drive-thru no estádio do Pacaembu, na zona oeste de São Paulo - Ronaldo Silva/Futura Press/Estadão Conteúdo
Vista aérea da fila de carros que se formou no posto de vacinação drive-thru no estádio do Pacaembu, na zona oeste de São Paulo Imagem: Ronaldo Silva/Futura Press/Estadão Conteúdo

Gilberto Amendola

São Paulo

27/02/2021 12h30

Desde às 6h da manhã de hoje, uma fila quilométrica de carros ao redor da Praça Charles Miller (Estádio do Pacaembu), no primeiro dia de vacinação de idosos entre 80 e 84 anos, provocou um congestionando incomum.

Os reflexos foram sentidos desde a saída do túnel da Avenida Rebouças, Cardoso de Almeida e a região do hospital das Clínicas. Em média, os carros demoravam quase 3 horas para chegar no ponto de vacinação.

Alguns motoristas relataram discussões e tentativas de furar a fila entre os mais exaltados. Idosos que se dirigiram ao posto a pé não foram vacinados (o atendimento foi apenas drive-thru ).

"Moro perto e vim caminhando. Só agora soube que não posso ser vacinado sem carro neste posto", disse um idoso que preferiu não se identificar.

Antes de chegar em um dos novo pontos de vacinação (três na praça e outros seis já na entrada do estádio), os carros avam por uma triagem, onde os idosos conformavam seus registros ou eram registrados.

Alguns motoristas, já estressados pelo tempo de espera, consideraram o número de pontos de insuficientes. "Isso é judiar do idoso. Acho que deveriam ter umas 50 pessoas ando nos carros e já fazendo registro e até vacinando", reclamou.

Na maioria dos carros, a irritação pelo tempo de espera e pelo trânsito era substituído pelo otimismo. O casal Napoleone, por exemplo, não via a hora de sentir a agulha no braço.

"Estou quase um ano sem sair de casa. Tudo o que quero é a vacina", disse Marceline Napoleone, 83 anos. "Essa espera vai valer a pena", contou Antônio Carlos Napoleone - os dois estão casados há 58 anos.

Na fila desde às 7h da manhã, Clementino Salopa, 82 anos, disse que já imaginava que seria assim. "Está todo mundo ansioso pela vacina", falou.

Já Rita de Cássia, que saiu de casa um pouco antes das 6h da manhã, não tirava o sorriso do rosto. "É pura alegria. Agora, estou a poucos os da vacina", avisou.

O estádio do Pacaembu é um dos cinco pontos de vacinação drive-thru na cidade. Pelo cronograma original do governo, o público dessa faixa etária receberia a primeira dose da vacina contra a doença a partir da próxima segunda-feira (1°), mas a data foi antecipada.