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

Ela fez quimioterapia, arrancou os seios e descobriu que nunca teve câncer

Sarah Boyle e seus filhos - Arquivo pessoal
Sarah Boyle e seus filhos Imagem: Arquivo pessoal

Da Universa

19/07/2019 17h58

Sarah Boyle, uma mãe de dois filhos do Reino Unido, tinha apenas 25 anos quando foi diagnosticada com câncer de mama. No final de 2016, após o diagnóstico, ela deu início a um tratamento que incluiu meses de quimioterapia e uma mastectomia dupla, retirando ambos os seios. Porém, em julho de 2017, o hospital informou que tinham informado o diagnóstico errado para Sarah. Ela nunca teve câncer.

"Os últimos anos estão sendo incrivelmente difíceis para mim e minha família", conta Sarah, ao jornal "The Independent". Depois de uma cirurgia de reconstrução das mamas, ela ainda foi informada que os implantes de silicone podem intensificar o risco de desenvolver câncer no futuro.

"Saber que eu tinha câncer foi horrível, mas ar por todos os tratamentos e cirurgias para descobrir que não precisava disso foi realmente traumatizante. Como se não fosse o bastante, agora me preocupo de desenvolver câncer no futuro pelos meus implantes e também tenho medo das complicações relacionadas a quimioterapia", desabafa Sarah.

sarah - Arquivo pessoal - Arquivo pessoal
Sarah antes e depois do tratamento
Imagem: Arquivo pessoal

"Nada vai mudar o que eu ei, mas eu ainda preciso de respostas para que ninguém sofra da mesma maneira que eu", afirma. Os médicos chegaram a dizer que ela teria dificuldades de engravidar após o tratamento, mas Sarah conseguiu dar à luz seu segundo filho há sete meses. Porém, ela não foi capaz de amamentá-lo.

Sarah contratou advogados especializados em casos de negligência médica para investigar a situação. "É um caso chocante no qual uma jovem mãe enfrentou uma notícia horrível e um tratamento doloroso para depois descobrir que não precisava daquilo. Teve um impacto enorme na Sarah", conta a advogada Sarah Sharples. "É bom ver que os médicos reconheceram o erro, mas ainda precisamos garantir que isso não acontecerá de novo", continua.

"Também nos preocupamos com os implantes colocados nos seios de Sarah, que são suspeitos de poder causar câncer. Sarah precisa de respostas e isso causou muito estresse para ela", pontua a advogada.

O Hospital da Universidade de North Midlands, responsável pelo diagnóstico, se desculpou com Sarah. "Um diagnóstico errado é bastante raro e entendemos o quão devastador foi para Sarah e sua família. Além das desculpas, estamos colaborando com a investigação. O diagnóstico errado da biópsia foi um erro humano, então todos os diagnósticos agora são revisados por um segundo patologista. Mantemos contato com ela para tirar qualquer dúvida", informa um representante do hospital.