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


Privação de sono crônica ou aguda afeta controle da caminhada

iStock
Imagem: iStock

Sebastião Moura

Do Jornal da USP

15/11/2021 11h50

Análise conduzida pelo Laboratório de Biomecatrônica da Escola Politécnica da USP, coordenado pelo professor Arturo Forner-Cordero, monitorou os padrões de sono de 30 estudantes universitários. Após serem submetidos a um teste de coordenação motora, foi constatado que a privação de sono afetou o controle de marcha, responsável pelo equilíbrio das pessoas durante a caminhada.

Esses resultados podem orientar a atuação da prática clínica em processos de fisioterapia e na identificação de sintomas de fadiga, entre outras intervenções médicas. Um artigo sobre o tema foi publicado no periódico científico Science Reports.

O trabalho foi concebido após os pesquisadores do laboratório, que é especializado no estudo do controle motor e desenvolvimento de exoesqueletos, notarem que os estudantes que serviam de voluntários nos testes de coordenação apresentavam resultados muito ruins no final do semestre, e a falta de sono foi citada como um dos possíveis motivos.

Os testes foram realizados da seguinte forma: os voluntários aram duas semanas usando um actímetro (equipamento usado para monitorar padrões de sono) e depois foram divididos em três grupos. Como todos os estudantes sofriam de algum grau de privação de sono cotidiana, o grupo controle consistiu de estudantes que, embora não dormissem o suficiente ao longo da semana, compensavam essa perda no fim de semana.

Os estudantes que não recuperavam o sono perdido nos dias de folga, por outro lado, formaram o grupo com "privação de sono crônica". Por último, parte dos voluntários foi orientada a virar uma noite sem dormir logo antes do teste, para servir de grupo com "privação de sono aguda".

No teste, os pesquisadores pediram aos voluntários que andassem em sincronia com um bipe produzido por uma máquina. A frequência do bipe variava em alguns milissegundos gradativamente, para representar os microajustes imperceptíveis que fazemos enquanto caminhamos normalmente.

Ao tentar acompanhar o bipe, o grupo com privação de sono crônica não conseguiu manter a estabilidade do ritmo. E o grupo da privação de sono aguda foi ainda pior, perdendo completamente a sincronia.

"A população idosa tem grande prevalência de internações por queda e uma qualidade de sono pior, em média. Notar uma relação entre esses dois fenômenos pode ter várias implicações práticas para fins terapêuticos, como voltar as estratégias de cuidado para o sono visando a melhorar o controle do o e evitar esse tipo de acidente."

Esses resultados têm implicações importantes para a prática clínica, explica Guilherme Umemura, primeiro autor do artigo: "Por exemplo, a população idosa tem grande prevalência de internações por queda e uma qualidade de sono pior, em média. Notar uma relação entre esses dois fenômenos pode ter várias implicações práticas para fins terapêuticos, como voltar as estratégias de cuidado para o sono visando a melhorar o controle do o e evitar esse tipo de acidente".

O inverso também é possível, segundo ele: "Quem sabe, no futuro, seja possível desenvolver sistemas para monitorar os padrões de caminhada das pessoas e usar isso para identificar indivíduos sofrendo com fadiga, algo relevante na segurança de trabalho, entre outros contextos".