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

Esse conteúdo é antigo

Doria questiona ministério sobre falhas em dados referentes à covid-19

João Doria informou que um ofício foi enviado ao Ministério da Saúde pedindo explicações sobre problemas no sistema - ANTONIO MOLINA/ZIMEL PRESS/ESTADÃO CONTEÚDO
João Doria informou que um ofício foi enviado ao Ministério da Saúde pedindo explicações sobre problemas no sistema Imagem: ANTONIO MOLINA/ZIMEL PRESS/ESTADÃO CONTEÚDO

DO UOL, em São Paulo*

09/11/2020 14h16

O governo de São Paulo enviou um ofício ao Ministério da Saúde hoje solicitando informações sobre as falhas no sistema que têm dificultado a divulgação dos dados sobre a pandemia do novo coronavírus no estado. Já são três dias sem a divulgação dos boletins de casos e mortes em decorrência da covid-19 em São Paulo.

Segundo o governador João Doria (PSDB), as informações epidemiológicas sobre a pandemia não estão sendo processadas pela pasta por razões desconhecidas. Os dados são usados para avaliação das políticas públicas de combate ao vírus.

"Um esclarecimento importante é que as informações não estão sendo processadas por motivos que desconhecemos. Foi feito encaminhamento hoje indagando providências necessárias para que esse procedimento seja normalizado", disse durante entrevista coletiva.

Doria cobrou o restabelecimento do sistema. "Não é razoável que o Ministério da Saúde não dê condições ao governo do estado de informar corretamente dados. O problema não é do governo, é do ministério. Suponho que não seja de forma deliberada para prejudicar, porque tem outros estados na mesma situação. Mas estamos confiantes que, não havendo intenção deliberada, que o ministério adote providências imediatas para restabelecimento de informações."

Segundo a última atualização, de quinta-feira (5), São Paulo registrava 1.125.936 casos da doença e 39.717 mortes. De acordo com o secretário estadual da Saúde de São Paulo, Jean Carlo Gorinchteyn, os dados deixaram de ser fornecidos desde a última sexta-feira (6) por problemas técnicos.

"Assim como nós, alguns outros estados não estão recebendo estes dados", afirmou o secretário. "E nós estamos querendo uma posição do ministério porque temos todas as métricas do Plano de São Paulo. Precisamos ter essas informações para fazer alguma interferência."

Problemas no sistema

O ministério tem enfrentado problemas para inserir os dados em sua plataforma. No sábado, a pasta anunciou estar sofrendo com incidentes na página que estão impactando nos dados deste fim de semana.

"O Ministério da Saúde está revisando todas as camadas de segurança dos sistemas de Informação do SUS, o que pode ocasionar intermitência nos sistemas e na disseminação de informações da saúde durante o fim de semana, com previsão de término até o próximo domingo (08/11)", informou na sexta-feira (6).

A plataforma online está sem atualizações desde o dia 4.

*Com informações do Estadão Conteúdo.