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

Matheus Pichonelli

Corrida por 'vacina vip' pode criar um país de condomínios sanitários

Vacinação contra Covid-19 no Reino Unido será campo de testes - Dado Ruvic/Reuters
Vacinação contra Covid-19 no Reino Unido será campo de testes Imagem: Dado Ruvic/Reuters

Colunista do UOL

06/01/2021 04h00

A ofensiva de clínicas privadas sobre uma vacina produzida na Índia pode converter em condomínio sanitário o direito a imunização universal, um dos pilares do Sistema Único de Saúde. Será um o largo no desmonte do serviço público em um país que já transformou o a moradia, água potável, esgoto, comida, educação, aposentadoria e espaços nobres das cidades em privilégio.

Verdade que, a depender do presidente nadador, todo mundo vai mesmo morrer um dia. Mas pagando bem, que mal tem transformar um programa-modelo em negócio?

Diferentemente de outros momentos — quando ricos e pobres poderiam dividir as mesmas filas para conhecer o Zé Gotinha —, agora as autoridades sanitárias penam para adquirir seringas e agulhas. De duas uma. Ou os tuiteiros bons de conversa são mesmo muito ruins de serviço ou a soneca no ponto tem método. Pode ser a chance de desestruturar de vez um dos programas públicos que ainda funcionam no país. O argumento é: já que o governo não consegue, por que não terceirizar, ao menos em parte, a compra dos imunizantes pela iniciativa privada?

Na dúvida, as clínicas se mobilizam para conseguir 5 milhões de doses. Para os defensores do livre mercado, não há nada demais em oferecer um "complemento" a um programa que deveria ser universal mas que, veja só, justo agora não está rolando. (Isso em um país em que os planos de saúde se negam a fazer ou ressarcir aos cofres públicos as operações de alta complexidade e altos custos de seus clientes realizadas no sistema público).

Pergunta básica: se o mercado pode tomar a dianteira de uma obrigação do Estado, como evitar que as fabricantes não priorizem quem paga mais e à vista? Mais: as doses serão descartadas caso haja qualquer problema no transporte ou armazenamento, como ocorre na rede pública? Ou serão aplicados mesmo assim para evitar a inoculação do vírus do prejuízo? E o que seria exatamente um "complemento" quando o produto principal não chegou nem tem ainda previsão de chegada?

A compra pelas clínicas privadas permitiria que uma parcela de brasileiros furasse a fila antes mesmo de a fila se formar. Fila por fila, não faltam candidatos a pegar atalhos, a começar no STF, onde já há quem se assanhe em criar jurisprudência na lógica segundo a qual "vacina pouca, meu sistema imunológico primeiro".

Ao permitir que alguns saiam na frente na busca pela vacina, em vez de garantir que circular pela cidade sem risco de morte seja um direito de todos, o governo atravessa um rubicão sem volta da linha sanitária. Dali em diante vive quem paga. Paga quem pode.

Na melhor das hipóteses, quem não pode se aperta, quem se aperta paga, quem paga se imuniza e quem se imuniza por si dá aos gestores públicos a desculpa perfeita para apontar a parte pelo todo e dizer: "viu só como eles não precisam de nós para sobreviver?". Esqueçam todos os programas de vacinação. Eles serão lançados para a mesma cova rasa.

No país perto de contabilizar 200 mil mortes na pandemia, todo mundo morre igual. Mas uns morrem mais que outros.

Distopia pouca é bobagem quando já se vislumbram reis de camarotes sanitários bancando e oferecendo vacinas aos convidados de suas áreas VIP. É nisso o que um país inteiro se transforma, um grande arquipélago de áreas VIPs, quando os primeiros a serem vacinados correm o risco de serem os 2,3% da população com o à vacina paga (isso se for uma dose para cada). Obviamente, neste cercadinho não haverá lugar para os mais de 13,5 milhões de brasileiros que (sobre)vivem com R$ 145 ao mês.