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

Serrana (SP) vacinou 4,5% do público-alvo de estudo do Butantan no 1º dia

Profissional de saúde aplica vacina contra o coronavírus no primeiro dia de vacinação em massa em Serrana (SP). O governador João Doria (em pé, à direita) acompanhou o início da campanha - Divulgação/Governo de SP
Profissional de saúde aplica vacina contra o coronavírus no primeiro dia de vacinação em massa em Serrana (SP). O governador João Doria (em pé, à direita) acompanhou o início da campanha Imagem: Divulgação/Governo de SP

Do UOL, em São Paulo

18/02/2021 14h52

A cidade de Serrana, no interior de São Paulo, vacinou ontem 1.357 pessoas no primeiro dia de vacinação em massa contra o coronavírus.

O número representa 4,52% do total de 30 mil pessoas que devem ser imunizadas no município durante o estudo do Instituto Butantan, ligado ao governo estadual.

Desde o início da vacinação contra o coronavírus no estado, em 17 de janeiro, o município de Serrana vacinou 1.449 pessoas, de acordo com dados do Vacinômetro.

Estudo avaliará imunidade de rebanho

O estudo do Butantan em Serrana avaliará, entre outras coisas, o efeito da imunidade de rebanho no combate à pandemia.

A vacinação em massa é feita em moradores voluntários com mais de 18 anos que se cadastraram para fazer parte do estudo.

Mulheres grávidas ou em amamentação, quem teve febre nas últimas 72 horas antes da vacinação e portadores de doenças graves não controladas não podem participar da pesquisa. Um médico que estiver no posto de vacinação fará uma avaliação.

Os primeiros resultados do estudo clínico, segundo o Butantan, devem começar a ser publicados em três meses.

Vacinação por região

Para o projeto, a cidade foi divida quatro grandes áreas, separadas por cores. Um sorteio foi realizado para definir a sequência da vacinação. Até domingo (21), moradores da faixa verde receberão a primeira dose.

  • 1ª região (grupo verde): de 17 a 21 de fevereiro
  • 2ª região (grupo amarelo): de 24 a 28 de fevereiro
  • 3ª região (grupo cinza): de 3 a 7 de março
  • 4ª região (grupo azul): de 10 a 14 de março

Para cada região, as doses serão aplicadas de quarta-feira a sexta-feira, das 14h às 20h30. Aos sábados e domingos, a vacinação acontecerá das 8h às 15h30 em um dos endereços abaixo:

  • Escola Deputado José Costa. Rua dos Estudantes, 180 - Centro
  • Escola Jardim das Rosas. Rua Joaquim Santos, 890 - Jardim das Rosas
  • Escola Professora Neusa Maria do Bem. Rua Benedito, 87 - Jardim das Rosas II
  • Escola Professora Dilce G. Netto França. Rua Jorge L. Registro, 176 - Jardim Mariana
  • Escola Edésio M. De Oliveira. Rua Roraima, 92 - Jardim Bela Vista
  • Escola Jd. D. Pedro I. Avenida Arsênio R. Martins, 151 - Jardim D. Pedro I
  • Escola Paulo Sergio G. Betarello. Rua Santa Cruz, 1801 - Jardim Cristina
  • Escola Professora Maria Celina W. de Assis. Rua Antônio Honório Ribeiro, 895 - Centro