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

Doria critica 'falta de gestão' do Ministério da Saúde após falta de vacina

Governador de São Paulo, João Doria (PSDB), fez críticas ao Ministério da Saúde em uma publicação nas redes sociais - Divulgação/Governo de São Paulo
Governador de São Paulo, João Doria (PSDB), fez críticas ao Ministério da Saúde em uma publicação nas redes sociais Imagem: Divulgação/Governo de São Paulo

Do UOL, em São Paulo

26/07/2021 16h20Atualizada em 26/07/2021 17h40

O governador de São Paulo, João Doria (PSDB), criticou a "falta de gestão" e de "senso de urgência" do Ministério da Saúde diante dos novos atrasos de entrega de vacinas contra a covid-19. As críticas de Doria acontecem após mais um atraso no calendário de vacinação dos brasileiros pela falta de distribuição dos imunizantes.

Ministério da Saúde tem 16 milhões de vacinas paradas em estoque e centenas de brasileiros morrendo diariamente por falta de vacinas. Vergonhosa essa falta de gestão e senso de urgência
João Doria (PSDB), governador de São Paulo

A capital paulista começa a semana com o calendário definido até quarta-feira (28). Hoje, a cidade faz repescagem para a faixa etária de 30 a 34 anos e vacina contra covid-19 gestantes que tomaram a 1ª dose com AstraZeneca — que receberão imunizante da Pfizer na segunda aplicação. Amanhã e na quarta-feira receberão a primeira dose pessoas com 29 anos.

O UOL entrou em contato com o Ministério da Saúde para saber se a pasta gostaria de se manifestar sobre os atrasos e sobre as críticas feitas pelo governador de São Paulo. Até o momento da publicação dessa matéria, o ministério não respondeu.

Ao menos oito capitais adiam aplicação de vacinas

Belém (PA), Campo Grande (MS), Florianópolis (SC), João Pessoa (PB), Maceió (AL), Rio de Janeiro (RJ), Salvador (BA) e Vitória (ES) tiveram que pausar a campanha de vacinação contra a covid-19 por falta de doses.

No final do mês de junho, o ministro da Saúde, Marcelo Queiroga, disse que toda a população adulta do Brasil receberá ao menos a primeira dose da vacina contra a covid-19 até o final de setembro.

Mesmo com a promessa, a entrega de imunizantes aos estados e municípios segue com atrasos, prejudicando as ações de combate à pandemia.