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


Cálculos renais podem estar associados a problemas ósseos

Getty Images
Imagem: Getty Images

Tiago Varella

Da Agência Einstein

25/04/2021 04h00

Os cálculos renais, também conhecidos como pedras nos rins, podem indicar outros problemas que vão além da doença renal. Dados de uma análise retrospectiva da Veterans Health istration (VHA), publicados recentemente no Journal of Bone and Mineral Research, apontam que um em cada quatro homens e mulheres com diagnóstico de pedra nos rins apresenta osteoporose ou fratura nos ossos no momento do diagnóstico. Porém, menos de 10% desses pacientes são submetidos a exames de densitometria óssea para identificar a diminuição da densidade óssea.

"Essas descobertas sugerem que o risco de osteoporose ou fraturas em pacientes com cálculos renais não se restringe a mulheres na pós-menopausa, mas é observado também em homens, um grupo que é menos conhecido por sofrer desse problema", explica Calyani Ganesan, da Universidade de Stanford e um dos autores do estudo.

Um total de 531.431 pacientes com histórico de pedras nos rins foi identificado no banco de dados da VHA e 23.6% deles foram diagnosticados com osteoporose ou tinham algum osso quebrado na época em que o cálculo renal foi identificado. Os casos mais comuns eram de fraturas não relacionadas ao quadril, observada em 19% dos pacientes. Em seguida, vieram osteoporose (6.1%) e fratura de quadril (2.1%). A idade média dos pacientes que receberam diagnóstico ao mesmo tempo de pedra nos rins e osteoporose ou tiveram histórico de fraturas foi de 64,2 anos. A maioria dos participantes eram brancos e 91% deles eram do sexo masculino.

Entre 462.681 pacientes que não tinham histórico prévio de osteoporose ou fratura antes do diagnóstico de cálculos renais, apenas 9.1% haviam se submetido à triagem de densidade mineral óssea nos 5 anos após a identificação de pedras nos rins. Daqueles que completaram os testes, 20% foram diagnosticados com osteoporose futuramente, 2.4% com fratura de quadril e 19% com outros tipos de fraturas. Os pacientes com cálculos renais que foram submetidos ao exame de medição da densidade óssea e posteriormente diagnosticados com osteoporose eram majoritariamente formados por homens, representando 85% do total.

"Esperamos que este trabalho aumente a conscientização sobre a possibilidade de redução da resistência óssea em pacientes com cálculo renal e, em nosso trabalho futuro, esperamos identificar quais pacientes estão em maior risco de osteoporose ou fratura para ajudar a orientar na triagem de densidade óssea", acrescenta Ganesan.

Segundo os pesquisadores, é provável que a origem dos cálculos renais não esteja relacionada à hipercalciúria, que é quando há alta excreção de cálcio na urina, mas à superabsorção do mineral pelo intestino em vez dos ossos. Os resultados do estudo sugerem, portanto, que a densitometria óssea seja realizada mesmo quando não há indícios de hipercalciúria.