🩺 Como obter e tratar Dados do Datasus

Não vi esse link em outros lugares, mas achei interessante esse site que o Ministério da Saúde desenvolveu para centralizar informações do SUS:

https://localizasus.saude.gov.br/

2 curtidas

Olá, alguém sabe como posso consultar a DB que o Painel Oncologia usa? Pelo que eu entendi eles já estão tradados.
Painel Oncologia DataSUS

Olá pessoALL,
Eu escrevi um pequeno tutorial de como fazer processamento paralelo para abrir os arquivos dbc, já que às vezes temos muitos deles para processar. Caso interesse, as dicas estão aqui Paralelizando a leitura de muitos arquivos no R. E se precisar juntar isso tudo em um CSV para posterior processamento, tem esse aqui Concatenando data.frames.
ABs

2 curtidas

Disponibilizei no Github um código em Python que escrevi para baixar e salvar em formato .parquet, de forma iterativa, arquivos do sistema SIA (PAUFAAMM.dbc) . Ele está apto para uso no Google Colab e permite salvar os arquivos desejados direto no Drive. As informações também podem ser consumidas diretamente no Notebook, através do Pandas Dataframe que é criado para cada arquivo. Ele utiliza a biblioteca PySUS.

3 curtidas

oi, vc teria um codigo no R para converter o .dbc para .csv ?

Seja bem vinda ao fórum, Alice!

Nas mensagens acima você encontra a resposta para a sua pergunta:

1 curtida

Oii, estou com algumas duvidas…
agora o site do datasus é
https://datasus.saude.gov.br/transferencia-de-arquivos/#
aonde eu teria que alterar pelo seu codigo?
e no caso, por ex, eu quero todos os anos de 2005 a 2010 de leptospirose pro brasil (pra retornar todos os municipios que tiveram casos confirmados). Os parametros mes, UF, ficaria como?
obrigada

@anm.nardoni, esse site cujo link você compartilhou ajuda a obter as variáveis que precisam ser preenchidas: sistema, modalidade, tipo_arquivo, etc. Vá preenchendo o formulário e ao final o site exibe um link para download em FTP. Esse link vem na forma

"ftp://ftp.datasus.gov.br/dissemin/publicos/",sistema,"/","200801","_/",modalidade,"/",tipo_arquivo,UF,ano,mes,".dbc"

Então, no seu caso, acho que o sistema é o SINAN – Sistema de Agravos de Notificação. Selecione Leptospirose, maque os anos desejados, no campo UF escolha “BR” e clique em “enviar”.

Os links aparecerão abaixo.

Pelo visto, parece que os anos disponíveis para esse agravo são de 2007 a 2020.

Daí seria apenas iterar a função para pegar os anos desejados e concatenar os dataframes. Só não consigo ajudar com o código em R pois disso eu não entendo quase nada.

Boa tarde pessoal.
Estou fazendo um trabalho com dados públicos do Inca e
gostaria de saber se é possível realizar uma análise preditiva com esses dados.
Alguém já teve contato e poderia me ajudar?

Os dados são qualitativos e as informações das variáveis transformadas em números 1, 2, 3, 4, etc.
Exemlpo: 1 - fumante, 2 - nunca fumou, 3 - ex fumante, 4 - sem informação, …
Gostaria de analisar as variáveis: álcool, tabaco, histórico familiar, instrução, raça/cor, idade.

Se alguém tiver alguma informação e puder ajudar agradeço!

Olá, @Pmbrie, seja bem vinda ao fórum.

Existem diversas formas de se fazerem análises preditivas. Quando os dados estão representados como uma série temporal, dependendo do seu comportamento, podem-se usar, por exemplo, desde técnicas estatísticas como regressão linear até técnicas de machine learning como as redes neurais recorrentes (RNN).

Porém, pelo que você descreve dos dados me parece mais com um problema de classificação. Existem muitas técnicas de machine learning para classificação. Se você precisa que o seu modelo seja explicável, terá que usar técnicas que lhe deem essa possibilidade, por exemplo um classificador random forest. Já se não houver a necessidade de explicar as decisões do modelo, podem ser usados também outros modelos baseados em redes neurais.

Segue uma referência que, embora esteja sem atualização há algum tempo, ainda tem muita coisa interessante para consultar e aprender:

Olá pessoal.
Passei boa parte do fds lembro o fórum.
Parabéns a todos pelas contribuições.
Infelizmente estou com muita dificuldade para instalar as ferramentas sugeridas.

Minha preferencia era o python, mas dá erro ao rodar o docker proposto nos links.

Em R tentei instalar o microdatasus, não dá certo sequer os pacotes de devtools…

Nem o dbc2csv rodou.
Até instalou super bem e o docker foi legal, mas qdo digito a linha de comando de conversão sempre dá um erro referente ao caminho do diretório criado com os arquivos dbc.

Agradeço muito a ajuda de quem puder me dar uma orientação, especialmente se conseguirmos fazer em python.

Olá, @GuilhermeCrespo, bem vindo!

Não sei de qual docker você está falando. Pesquisei por “docker” neste tópico e a única referência que encontrei foi esta sua própria mensagem.

Acabei de testar o exemplo acima para baixar os dados do SINASC usando o PySUS em Python funcionou. Só precisei antes instalar o pacote fazendo

pip install pysus

Editado: agora entendi de que docker você está falando, é da ferramenta dbc2csv. Mas não é necessário converter para CSV se tudo o que você quer é usar os dados em Python. Basta usar o pacote PySUS citado na seção sobre Python da postagem inicial: ele já te dá um dataframe em Pandas que pode ser utilizado para análises, visualizações, etc. Dá até para gravar em CSV, se você realmente precisar, usando o método df.to_csv() do Pandas.

Oi Herrmann.

Tô num jupyter normal, rodando num Windows.

O pip install pysus não vai nem pelo chapéu.

Dá sempre esse erro no pyreaddbc que coloquei na foto.

Qdo faço pelo command line do windows tb.

Fiz upgrade de pip, de tudo e nada funcionou ainda.

Guilherme, sua mensagem não tem nenhuma foto.

Tente pesquisar em um site de buscas pela mensagem de erro que estiver aparecendo ao instalar o pacote. Eu não tenho como te ajudar com uma instalação no Windows pois fazem quase 20 anos que não utilizo nenhum sistema Windows.

Editado: se você está tendo problemas para instalar pacotes Python no Windows, uma outra ferramenta que poder facilitar a instalação é o Anaconda. Além disso, alguns colegas que usam Windows costumam usar o Python pelo WSL.

Estou fazendo um projeto na empresa que a minha função é apresentar uma api que eu possa extrair dados do DataSus/tabnet, podem me ajudar? e tambem como posso filtrar e extrair os dados somente de produção do SUS de municipios de Alagoas?

Bem vindo, @brunoOmenaa.

Você poderia usar um dos métodos descritos na primeira postagem desse tópico para baixar os dados e carregá-los em um banco de dados (por exemplo, PostgreSQL).

Para filtrar, veja se os arquivos dos quais você precisa já estão divididos por estado/região, para economizar tráfego de rede no download dos dados. Você pode ver nas colunas do banco, na tabela que lhe interessa, se há uma com a definição da UF, e então filtrar por cláusula WHERE na query SQL.

Por fim, usar algum framework de APIs em software livre, como o FastAPI ou PostgREST para criar uma API.

Bom dia! É possivel eu somente extrair dados especificos do SIA? Queria extrair os dados De radioterapia Mas somente de Hospitais do Nordeste, capital, e no periodo de 2012-2022.

In[1]: from pysus.online_data.SIA import download
In[2]: bi, ps = download(‘AC’, 2020, 3, group=[“BI”, “PS”])
In[3]: bi.head()

Estou tentando rodar esse código mas não está funcionando, dá esse erro: not enough values to unpack (expected 2, got 0)

Dataset types — PySUS 0.1.13 documentation ( Tambem estou tentando usando esse link) Mas as vezes os dados vem vazios.

Poderiam me ajudar Baixar dados do SIA?

Bruno, o erro “not enough values to unpack” quer dizer que a função download não está retornando nenhum valor e você está tentando atribui-lo a duas variáveis: bi e ps.

Tentei fazer o download aqui e mesmo assim não deu certo. E já existe um registro de bug no repositório do PySUS relatando esse problema.

Acredito que é possível que os dados não estejam mais disponíveis. O próprio link para download dos dados do DataSUS foi alterado e, ao pesquisar os arquivos de bancos de dados disponíveis na página do DataSUS, não aparece a opção “SIA”. Tem “SIASUS” e dentro dele tem a opção “PA - Produção ambulatorial”. Mas os arquivos “BI” e “PS” não estão disponíveis na página do DataSUS, ou pelo menos não consegui encontrá-los. Acredito que a falta desses arquivos na origem seja o que origina o problema.

Sugiro acompanhar a discussão lá no Github.