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

Duque de Caxias: Idosos enfrentam filas por vacina, mas 2ª dose é adiada

Marcela Lemos

Colaboração para o UOL, no Rio de Janeiro

13/04/2021 11h34

Após enfrentarem chuva e chegarem de madrugada nos pontos de vacinação de Duque de Caxias, na Baixada Fluminense, idosos, que deveriam receber hoje a segunda dose do imunizante contra o coronavírus, foram pegos de surpresa e viram a vacinação ser cancelada por falta de doses em cima da hora.

Rebeca Ferraz, 21, levou a tia dela, com 69 anos, à Praça Olavo Bilac para receber a segunda dose da vacina. As duas chegaram no local às 5h20 e gravaram com o celular a fila imensa formada na região. Ela contou ao UOL que seguiu o calendário de vacinação divulgado pela Prefeitura de Duque de Caxias que previa a aplicação da segunda dose no dia de hoje - o que não ocorreu.

"Saímos de casa cedo, chegamos às 5h20, com esse tempo chuvoso, e já tinham outros idosos na frente, sem nenhuma informação. As vacinações em Duque de Caxias ocorrem em praças e hoje, nesses locais não tinha nenhum profissional, barraca, não tinha ninguém para informar que a vacinação foi cancelada. No papel [recebido durante a aplicação da primeira dose] estava constando [retorno] para o dia 13 e agora, simplesmente eles cancelaram e falaram que hoje vão vacinar apenas profissionais de saúde. Em cima da hora", contou a jovem.

Já o morador Carlos Augusto contou à reportagem que desde ontem procura pela segunda dose da vacina e, além de não encontrar um ponto de vacinação, não foi informado da ausência de remessas.

"Eu estive ontem na Praça do São Bento, ei por outro local e também não tinha vacinação da segunda dose. Deram só a primeira lá na Praça de Jardim Primavera. Infelizmente, a prefeitura fez esse descaso com os idosos que tomaram a primeira dose da vacina. Deixou todos esperando nos postos."

Ontem, Carlos Augusto acompanhou três idosos com comorbidades e disse que a prefeitura sequer fez um anúncio sobre a interrupção da vacinação. Hoje, antes de sair de casa, ele buscou informações no site e também pelo telefone da Central de Vacinação, mas não conseguiu uma orientação de como proceder.

Procurada, a Prefeitura de Duque de Caxias itiu um erro na organização da vacinação e informou que os imunizantes não foram aplicados devido a um atraso na entrega de novas remessas pelo governo do estado. A distribuição das doses para as prefeituras ocorre normalmente às quintas e sextas-feiras. No entanto, segundo o governo municipal, o número de doses enviadas na semana ada foi reduzido e por isso a população não conseguiu se vacinar hoje.

Em nota, a prefeitura destacou que a logística de vacinação da primeira e segunda dose estão sendo reformuladas.

"A população pode ficar tranquila porque a segunda dose está garantida para todos que receberam a primeira dose no mês de março e início de abril. Conforme as novas remessas de vacinas cheguem ao município, a prefeitura divulgará a programação diária de vacinação através dos meios de comunicação oficiais da prefeitura e imprensa."