Estudo de Dados: Rondônia
berinhard opened this issue · 0 comments
A secretaria de saúde de Rondônia disponibiliza os dados em: http://covid19.sesau.ro.gov.br/Home/Sintomas (sim, sem HTTPS).
Dados de casos/óbitos
Já podemos automatizar a importação de dados de casos confirmados e óbitos porque os dados estão todos neste código JS sendo assinalados a uma variável.
Como prova de conceito, segue o script em Python que usando o requests para recuperar os dados:
In [29]: import requests
In [30]: content = requests.get('http://covid19.sesau.ro.gov.br/mylibs/estadoRO-V2.js'
...: ).content.decode()
In [31]: content = content.replace('var cidades = ', '').strip()
In [32]: import json
In [33]: data = json.loads(content)
In [34]: dados_porto_velho = data['features'][0]['properties']
In [35]: dados_porto_velho['NOME'], dados_porto_velho['confirmados'], dados_porto_velh
...: o['obitos']
Out[35]: ('Porto Velho', 829, 27)
Microdados
O caso de rondônia é interessante em relação aos microdados. Eles disponibilizam dados em formato JSON, mas somente com valores consolidados e separados por indicador. Tem endpoints específicos por indicador como, por exemplo, http://covid19.sesau.ro.gov.br/Indicadores/ChartFaixaEtaria
Esses endpoints estão todos explicitados nos respectivos códigos JS das páginas. Este é o exemplo do JS para a apresentação dos dados de leitos: http://covid19.sesau.ro.gov.br/mylibs/leitos.js
Mas, apesar de apresentarem os dados consolidados, eles não disponibilizam as entradas invidualizadas dos microdados. O máximo que existe nesse sentido é um relatório CSV do E-SUS que aparentemente está mal formatado. A partir da linha 10, a primeira coluna só é preenchida com 1 e o dado que deveria estar ali vai pra segunda coluna. Assim o CSV tem um shift de mover todas as colunas uma para a frente.