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

Anvisa aprova volume menor de CoronaVac em frascos para evitar desperdício

Frasco da CoronaVac ará a ter volume menor, de 6,2 ml para 5,7 ml - Arthur Stabi]e/UOL
Frasco da CoronaVac ará a ter volume menor, de 6,2 ml para 5,7 ml Imagem: Arthur Stabi]e/UOL

Do UOL, em São Paulo

05/03/2021 19h06

A Anvisa (Agência Nacional de Vigilância Sanitária) aprovou hoje uma redução no volume de envase dos frascos da CoronaVac, a vacina contra a covid-19 produzida pelo Instituto Butantan. Segundo a agência federal, em vez das dez doses previstas, com o volume atual é possível tirar 11 ou até mesmo 12 doses do imunizante.

Na intenção de tentar aproveitar cada dose do imunizante, a Prefeitura de São Paulo oficializou na semana ada — para idosos com 60 anos ou mais — um procedimento que já vinha ocorrendo nos postos de vacinação, conhecido como 'xepa da vacina'. As doses remanescentes ao fim do expediente de vacinação sobram porque cada frasco da CoronaVac tem que ser usado em no máximo oito horas, perdendo assim a sua validade até o próximo dia.

Agora, com o novo volume de envase, essa quantidade de doses remanescentes terá uma diminuição. A pedido do próprio Instituto Butantan, a Anvisa determinou que os frascos tenham 5,7 ml, e não mais 6,2 ml. A quantidade de cada dose continua a mesma — 0,5 ml —, permitindo assim até 11 doses por cada frasco.

O envase de cada frasco da CoronaVac é planejado para render dez doses, mas a quantidade final depende do profissional da saúde que faz as aplicações. Uma análise do controle de qualidade do Butantan apontou que, nos frascos atuais de 6,2 ml, foi possível extrair 12 doses em 92,8% dos lotes, e 11 doses em 7,2% deles.

O dado comprova que o número de doses que sobram a cada frasco aberto acaba sendo maior se o profissional consegue retirar uma quantidade muito próxima da ideal. O novo volume de envase, de 5,7 ml, ainda permite uma sobra de 0,2 ml caso seja possível extrair 11 doses exatas de 0,5 ml.

Mais vacinas

Com um desperdício menor, a mudança promete melhorar ligeiramente o rendimento da campanha nacional de vacinação, que hoje sofre com a escassez de vacinas. Além da CoronaVac, o Ministério da Saúde conta atualmente apenas com a vacina da AstraZeneca/Oxford com doses à disposição. Nos últimos dias, a pasta chefiada pelo ministro Eduardo Pazuello deu indícios de que está evoluindo na busca por mais vacinas.

Anteontem, o governo federal oficializou uma intenção de compra de 100 milhões de doses da vacina da Pfizer/BioNTech e mais 38 milhões do imunizante da Janssen. Hoje, a pasta disse que avançou nas negociações por 13 milhões de doses da vacina da Moderna.

Além disso, na semana ada a Saúde assinou um contrato para a compra de 20 milhões de doses da vacina Covaxin, desenvolvida pelo laboratório indiano Bharat Biotech, representado no Brasil pela Precisa Medicamentos.

Destes imunizantes, além da aprovação para uso emergencial concedida para a CoronaVac e para a vacina de Oxford, apenas o imunizante da Pfizer já teve a liberação do seu registro definitivo no país, o que permite a vacinação além dos grupos prioritários. A vacina da Pfizer foi a primeira a conseguir esse aval no Brasil.