Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save fernandobarbalho/0cf27d994e39700663551b2d14387b08 to your computer and use it in GitHub Desktop.
Save fernandobarbalho/0cf27d994e39700663551b2d14387b08 to your computer and use it in GitHub Desktop.
Com essa função é possível programaticamente baixar todos os dados que se queira do datasus apenas alterando os parâmetros de uma função.
hack_datasus <- function(sistema, modalidade, tipo_arquivo, ano, UF, mes){
#Função gera dataframe a partir de ftp feita na página do datasus
#sistema ex:'SIHSUS' Verificar os sistemas disponíveis em http://www2.datasus.gov.br/DATASUS/index.php?area=0901&item=1
#modalidade 'dados'
#tipo_arquivo ex: 'RD'#Varia conforme o sistema
#ano ex: 17 Dois últimos dígitos do ano
#UF ex:'AL' Sigla de UF Brasileira
#mes ex:'12' strings entre 01 e 12
dest_file<- paste0(tipo_arquivo,UF,ano,mes,".dbc")
str_download <- paste0("ftp://ftp.datasus.gov.br/dissemin/publicos/",sistema,"/","200801","_/",modalidade,"/",tipo_arquivo,UF,ano,mes,".dbc")
download.file(str_download,destfile = dest_file, mode='wb')
library(read.dbc)
datasus<- read.dbc(dest_file)
}
sistema <- 'SIASUS' #Verificar os sistemas disponíveis em http://www2.datasus.gov.br/DATASUS/index.php?area=0901&item=1
modalidade <- 'dados'
tipo_arquivo<- 'ACF'#Varia conforme o sistema
ano <- 18 #Dois últimos dígitos do ano
UF <- 'SP' #Siglas das UFs Brasileiras
mes<- '01' #strings entre 01 e 12
#Carrega em df_datasus os dados relativos à base de dados montada a partir dos parãmetros
df_datasus<- hack_datasus(sistema, modalidade, tipo_arquivo, ano, UF, mes)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment