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

Saúde

Sintomas, prevenção e tratamentos para uma vida melhor


Queiroga discute com SP possível compensação no envio de doses da vacina

Ministro Marcelo Queiroga recebe secretário estadual de saúde de São Paulo, Jean Gorinchteyn, em Brasília para discutir compensação no envio de doses da vacina - Jefferson Rudy/Agência Senado
Ministro Marcelo Queiroga recebe secretário estadual de saúde de São Paulo, Jean Gorinchteyn, em Brasília para discutir compensação no envio de doses da vacina Imagem: Jefferson Rudy/Agência Senado

Do UOL, em São Paulo

06/08/2021 14h18Atualizada em 06/08/2021 15h16

O ministro Marcelo Queiroga disse hoje, em Brasília, que estuda compensar São Paulo no envio de doses da vacina contra a covid-19, caso se comprove que há déficit no número de imunizantes que deveriam ser entregues ao estado.

Na quarta o Ministério da Saúde afirmou que enviou um número menor de doses da Pfizer porque, em outras entregas, SP retirou mais doses do que o previsto da CoronaVac. O estado negou.

Hoje, ao lado do secretário estadual de saúde, Jean Gorinchteyn, o ministro Queiroga disse que busca soluções para o problema.

"Estamos discutindo o número exato de doses a serem compensadas e a forma de compensar. O que está se discutindo aqui são milhares de doses que podem ser facilmente compensadas nas próximas pautas", afirmou Queiroga.

Matemática da vacina

O ministro Queiroga explicou que áreas técnicas do Ministério da Saúde e da Secretaria Estadual de Saúde vão calcular novamente o número de doses já enviadas para descobrir se é preciso compensar o estado, ou se São Paulo é devedor do PNI (Plano Nacional de Imunização).

Segundo o ministro, se São Paulo tiver que compensar doses, o processo não prejudicará a campanha de vacinação estadual. "A maneira de resolver isso é através do diálogo. Estamos aqui para buscar soluções para os problemas e vamos resolver isso de forma conjunta".

Em Brasília, Gorinchteyn afirmou que um desconto abrupto no número de doses enviadas ao estado pode prejudicar jovens, "principalmente o grupo de adolescentes portadores de comorbidades e gestantes adolescentes".

Ele também agradeceu "a rápida acolhida" do ministro Queiroga. "A partir do momento que o estado de São Paulo trouxe a divergência de cálculos, imediatamente foi aberto pleito para que as partes técnicas pudessem fazer uma análise efetiva".