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

SP muda e não prevê mais data para iniciar campanha com idosos

SP muda e não prevê mais data para iniciar campanha com idosos - Divulgação
SP muda e não prevê mais data para iniciar campanha com idosos Imagem: Divulgação

Bruno Ribeiro

São Paulo

19/01/2021 21h50

Diante do acordo com o Ministério da Saúde, que previu o uso de todas as doses da vacina Coronavac disponíveis no Instituto Butantan pelo Sistema Único de Saúde (SUS), o cronograma original e vacinação contra a covid-19 anunciado pelo governador de São Paulo, João Doria (PSDB), para a população do Estado, está suspenso e novas datas serão apresentadas.

Doria previa que, em 25 de janeiro, populações indígenas do Estado seriam as primeiros vacinadas, ao mesmo tempo que os profissionais de saúde. Já os idosos com mais de 75 anos ariam a receber as doses a partir de 8 de fevereiro.

Com o acordo, segundo a Secretaria Estadual da Saúde, São Paulo ará a cumprir o Plano Nacional de Imunização (PNI) do ministério, mas o governo Doria não soube informar se, dentro das cerca de 1,5 milhão de doses disponíveis no Estado, haverá doses que serão enviadas ao grupo dos mais idosos.

O PNI, apresentado em dezembro pelo Ministério da Saúde, previa que na primeira fase seriam vacinados os profissionais de saúde, idosos acima de 75 anos, idosos acima de 60 anos que vivessem em asilos (ou instituições similares) e povos tradicionais ribeirinhos. Com este primeiro lote da Coronavac, o Ministério da Saúde prevê imunizar somente idosos em instituições de longa permanência.

A gestão Doria informou, entretanto, que não sabe se o total de doses já serão suficientes para atender esse público, mas que prefeituras que quiserem poderão usar as doses recebidas também para imunizar os indígenas.

O Butantan se comprometeu a enviar 8,7 milhões de doses ao SUS ainda em janeiro. Até abril, serão 46 milhões de doses. A produção dos imunizantes depende da chegada de insumos vindos da China que ainda não têm data para serem embarcados e sofrem atrasos de liberação mediante as autoridades chinesas.

Uso será emergencial

Ao aprovar neste domingo, 17, por unanimidade, o uso emergencial da Coronavac, a Agência Nacional de Vigilância Sanitária (Anvisa) condicionou o aval à , pelo Instituto Butantan, em São Paulo, de um documento que prevê apresentar os dados de imunogenicidade da vacina, uma vez que os relatórios sobre o tema foram considerados insuficientes. O prazo para entrega do documento foi definido: é 28 de fevereiro.

As informações de imunogenicidade devem mostrar, em detalhes, por quanto tempo vai durar a resposta imune provocada pela vacina. Os técnicos confirmaram a eficácia de 50,4% da Coronavac, mas não foi possível calcular a taxa por faixa etária, principalmente entre idosos, nem os efeitos em casos graves.

As informações são do jornal O Estado de S. Paulo.