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

Estupro em consultório: São Paulo teve mais de 1.400 casos

Favor_of_God / iStock Photo
Imagem: Favor_of_God / iStock Photo

Marcos Candido

Da Universa

24/07/2018 04h00

Postos, grandes hospitais, salas de raio-x, recepções, consultórios odontológicos e até UTIs são lugares que a gente vê como seguros, onde se prioriza a saúde dos indivíduos. Mas o estupro de duas vítimas em um consultório odontológico em São Paulo, na última sexta (20), levanta um alerta: esses não são casos isolados de violência sexual em casas de saúde no estado.

Dados exclusivos obtidos por Universa mostram que foram registrados 1.453 casos de estupro em ambiente de atendimento de profissionais da área da saúde entre 2008 e 2018 no estado de São Paulo. Deste total, 1.080 registros envolviam vítimas vulneráveis (menores de 14 anos).

Clínica odontológica de São Paulo não tem registro no Conselho Federal de Odontologia - Reprodução - Reprodução
Clínica odontológica de São Paulo não tem registro no Conselho Federal de Odontologia
Imagem: Reprodução

Veja também

A análise de 2008 a 2016 foi feita em parceira com a Volt Data Lab, agência especializada em jornalismo de dados, com informações obtidas por meio da Lei de o à Informação (LAI). Os dados referentes ao ano de 2017 foram analisados pela reportagem. Nos dois casos foram considerados os boletins de ocorrência registrados como estupro (art. 123) e estupro de vulnerável (art. 217-A).

A partir de uma avaliação mais detalhada entre os anos de 2008 e 2016, é possível descobrir que 396 casos de estupro foram registrados com o termo genérico “hospital”; 143  aconteceram em postos de saúde; 58 em clínicas em geral e 37 em consultórios odontológicos. Na lista também entram locais como UTI, com oito ocorrências, e recepções de hospitais, com seis registros.

Só em 2017, 171 estupros foram registrados em estabelecimentos de saúde no estado, sendo 101 enquadrados como estupro de vulnerável.

Falso técnico segue preso

Na violência ocorrida no bairro do Ipiranga, na capital paulista, divulgada na semana ada, o falso técnico em radiologia Gabriel Chessa, 19, criava um ambiente privado para cometer os abusos. Segundo a Polícia Civil, ele alegava que havia apenas um colete extra para proteger contra a radiação. Com isso, entrava no laboratório sem os pais da vítima (nos dois casos, menores de idade com 12 anos). Lá dentro, de acordo com o relato de uma das meninas violentadas, ele colocou uma venda sobre os olhos dela e cometeu a violência sexual.

A polícia pediu a prisão temporária do suspeito na quarta (18). Dois dias depois, a pena foi convertida em prisão preventiva após a descoberta da segunda vítima. Gabriel segue preso e vai responder por estupro de vulnerável e exercício ilegal da profissão. Até a tarde de ontem (23), a polícia ainda aguardava o surgimento de novas denúncias. Se condenado, a pena pode alcançar até 15 anos de prisão.

A clínica Odonto Chessa afirma que não vai se pronunciar sobre o caso.