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


Após câncer, mulher engravida por óvulo imaturo fecundado em laboratório

Istock
Imagem: Istock

Giulia Granchi

Do VivaBem, em São Paulo

19/02/2020 13h25

O tratamento contra o câncer limita as possibilidades de muitas mulheres tornarem-se mães. De acordo com o ginecologista Geraldo Caldeira, médico do serviço de reprodução humana do Hospital e Maternidade Santa Joana (SP), tratamentos como quimioterapia e radioterapia comprometem a quantidade e a qualidade dos óvulos.

Foi o que aconteceu com uma mulher de 29 anos que sofria de câncer de mama, de acordo com caso publicado na revista científica Annals of Oncology. Sabendo do risco de infertilidade, a paciente recorreu à extração de óvulos para manter a possibilidade de gerar filhos no futuro antes de iniciar a quimioterapia.

No entanto, por conta da urgência do tratamento, não foi possível fazer a estimulação ovariana, procedimento comum antes da retirada, que ajuda a aumentar a quantidade de óvulos e que consiste em cerca de 10 dias de ingestão de remédios.

Sem a técnica e a espera comum de mulheres que apostam na extração, a fase dos óvulos também não era a mais propícia, o que fez com que a equipe médica recolhesse apenas os óvulos imaturos, ou seja, que ainda não estavam prontos para a fecundação.

A paciente teve sete óvulos extraídos —de acordo com Caldeira, uma quantidade boa para alguém que não ou pela estimulação. "O ideal, para garantir melhores chances de fecundação, seriam 20 óvulos", explica.

Maturação feita em laboratório

Para deixar os óvulos na fase ideal para a fecundação, os médicos utilizaram o método de maturação in vitro. Quando já estavam amadurecidos, eles foram congelados usando um processo chamado vitrificação, que causa o resfriamento rápido de um óvulo ou embrião, o que reduz a possibilidade de cristais de gelo formarem e danificarem a célula.

De acordo com a descrição do caso, após cinco anos de tratamento, a mulher ficou infértil e, como desejava engravidar, recebeu a orientação médica de tentar um procedimento de fertilização in vitro com os óvulos extraídos anos antes.

Dos sete que foram removidos, amadurecidos e congelados, cinco foram fertilizados com sucesso pelos cientistas após serem descongelados.

De acordo com o especialista do Hospital e Maternidade Santa Joana, o procedimento, apesar de não ser tão comum, é o ideal para casos urgentes. "A chance de dar certo está relacionada à quantidade de óvulos que a mulher consegue extrair. Para casos de tratamento contra cânceres, a técnica é altamente recomendada", aponta.