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

Covid: STF dá 48 horas para governo informar início do plano de vacinação

13.dez.2020 - Caixas com doses da vacina da Pfizer/BioNTech contra a covid-19 são preparadas para envio nos Estados Unidos - EFE/EPA/MORRY GASH / POOL
13.dez.2020 - Caixas com doses da vacina da Pfizer/BioNTech contra a covid-19 são preparadas para envio nos Estados Unidos Imagem: EFE/EPA/MORRY GASH / POOL

Luciana Amaral e Lucas Borges Teixeira

Do UOL, em Brasília e em São Paulo

13/12/2020 16h59

O ministro do STF Ricardo Lewandowski deu hoje o prazo de 48 horas para que o Ministério da Saúde esclareça qual a previsão de início e término do Plano Nacional de Operacionalização da Vacinação contra a covid-19, incluindo suas diferentes fases, embora ainda não haja nenhuma vacina aprovada pela Anvisa (Agência Nacional de Vigilância Sanitária).

O documento foi assinado hoje pelo ministro do Supremo Tribunal Federal, relator de ações relativas ao plano no tribunal. A decisão acontece após a AGU (Advocacia-Geral da União) entregar o plano ao tribunal sem data de início ou fim nem cronograma. O despacho é endereçado tanto ao ministro da Saúde, Eduardo Pazuello, quanto o advogado-geral da União, José Levi.

"Intime-se o Senhor Ministro de Estado da Saúde para que esclareça, em 48 (quarenta e oito) horas, qual a previsão de início e término do Plano Nacional de Operacionalização da Vacinação contra a covid-19, inclusive de suas distintas fases. Intime-se também o Senhor Advogado-Geral da União", escreveu Lewandowski.

Procurado pelo UOL, o Ministério da Saúde afirmou aguardar ser notificado para "responder em tempo solicitado".

A decisão se dá sem que a Anvisa tenha aprovado uma vacina para distribuição no Brasil. No plano entregue ao STF, o governo prevê serem necessárias 108 milhões de doses de vacina para os grupos prioritários e aponta 13 imunizantes como "candidatos" na fase 3 de testes — última etapa, que determina segurança e eficácia do imunizante.

Entre elas está a CoronaVac. A vacina produzida pelo laboratório chinês Sinovac em parceria com o Instituto Butantan se tornou alvo de disputas políticas entre o presidente Jair Bolsonaro (sem partido) e o governador de São Paulo, João Doria (PSDB).

Em São Paulo, Doria foi criticado justamente por ter estabelecido um plano de imunização estadual com previsão de início para 25 de janeiro sem que a CoronaVac tenha sido aprovada pela Anvisa. Segundo o Butantan, o resultado da fase de eficácia será entregue à agência reguladora nesta semana e o instituto deverá ter uma resposta até o dia 15 do próximo mês.

O plano de imunização do governo federal é dividido em dez eixos, ando pela definição de população-alvo, vacinas que serão aplicadas, operacionalização das campanhas, orçamento e comunicação que será adotada.

O plano considera que o Brasil já "garantiu" 300 milhões de doses de vacinas contra covid-19 por meio de acordo com a Fiocruz (Fundação Oswaldo Cruz)/AstraZeneca (100,4 milhões de doses até julho/2021 mais 30 milhões de doses por mês no segundo semestre); o consórcio Covax Facility (42,5 milhões de doses); e a empresa farmacêutica Pfizer (70 milhões de doses). O fornecimento das vacinas da Pfizer ainda está em negociação.

Nesta semana, o ministro da Economia, Paulo Guedes, afirmou que o governo deve gastar cerca de R$ 20 bilhões com a vacinação em massa contra a covid-19 no Brasil.