Quero abrir aqui uma chamada de contribuição para o pacote microdatasus. Trata-se de um pacote R que possibilita baixar dados do Sistema Único da Saúde (SUS) diretamente do DataSUS e pré-processar os dados (principalmente, atribuir rótulos às variáveis categóricas).
Tenho vontade de refazer todo o pacote. Eu comecei o desenvolvimento a anos atrás e ele tem muito o que melhorar, desde a sintaxe e eficiência do código até a possibilidade de novas funções.
Quem quiser e puder, pode contribuir de várias formas:
Sugestões de funções
Testes com o pacote
Desenvolvimento do código
Quem se interessar, podemos ir conversando por aqui.
Pelo que percebo, o pacote já é conhecido e usado.
Se me permite uma ideia: seria interessante criar os testes antes de refazer as funções. Assim é possível verificar se as mudanças estão “quebrando” alguma função ou alterando o comportamento esperado das funções já existentes, pra evitar dificultar o uso para quem já usa.
Outras sugestões de possíveis atuações da comunidade seria escrever documentação/vignette, mostrando exemplos de uso.
Parabéns pela iniciativa.
Fiz um trabalho acadêmico utilizando as bases de internação, sem dúvida, o pacote me ajudou bastante!
Tive muita dificuldade em encontrar as definições das variáveis, mas acredito que essa lacuna se deve ao próprio DataSus.
Um dos desafios que quero enfrentar. Hoje, as funções de pré-processamento que atribuem rótulos às variáveis categóricas, se baseiam em um código feito manualmente. Eu informo que na variável sexo, 1 = masculino e assim por diante.
O problema disso é que algumas dessas tabelas de código são atualizadas de tempos em tempos, como novos procedimentos, códigos de doença (COVID-19 por exemplo) e outros.
Acho que o ideal é fazer um parser dos arquivos do TabWin em R, esses estão sempre atualizados. Fiz contato com um dos criadores do TabWin (Dr. Ernani Bandarra) para pedir uma ajuda… acho que vai dar certo
Alguém aqui já acessou os arquivos de definição do TabWin?? São eles que precisamos idealmente interpretar no R. Esse é o maior desafio agora: criar um parser desses arquivos.
No link abaixo coloquei os arquivos de help do TabWin (que explicam como esses arquivos funcionam) e os arquivos de definição do SIH. Quem puder ajudar, olhem os arquivos do tipo DEF e CNV em um editor de texto (Sublime ou no RStudio mesmo).
Por enquanto estou focado em ler esses arquivos do TabWin, principalmente os CNV. Os dados que vão para o DBC mudam de tempos em tempos, com novos códigos. Controlar isso manualmente não daria muito certo, mas se conseguirmos ler os CNVs para termos os códigos e rótulos, aí fica tudo certo.
Lembrei de um problema que passei com esses arquivos e possivelmente terá que ser tratado tb: a quantidade de variáveis (colunas) ao longo dos anos foi alterando, o que dificulta analisar longos períodos.
@raphaelsaldanha sobre a tabela de procedimentos do SIA, sei que eles divulgam no FTP um zip que um dos arquivos é o dicionário de procedimentos vigentes em cada mês/ano, certo? Será que não rola fazer um código que baixe todos os .zip que tão nessa pasta, extraia todos os procedimentos distintos e gere um dicionário? E daí poderia programar um Actions pra rodar isso todo mês e deixar o dicionário atualizado na pasta. Só não sei se é a forma mais eficiente de fazer isso… você já tem alguma ideia?
Eu tenho um código que gera um “dicionário” de procedimentos já com base nos arquivos que falei acima. A única diferença é que adiciono uma coluna de “cobertura temporal”, que tem todos os mês/ano que tais procedimentos aparecem, visto que muitos foram criados só mais recentemente. Se quiser mostro depois como fiz, mas é bem simples.
Com o conteúdo das lives e do curso de Pacotes, estou fazendo um “overhauling” do pacote. Criei um branch novo, apaguei tudo e estou revendo todas as funções.