Giter Site home page Giter Site logo

microdatasus's Introduction

microdatasus

R-CMD-check

O pacote para o R microdatasus apresenta funções para download dos arquivos de microdados do DataSUS (formato DBC), leitura dos arquivos através do pacote read.dbc e pré-processamento para utilização. Nesta última etapa, os rótulos e formato das variáveis são atribuídos e tratados.

Instalação

# install.packages("remotes")
remotes::install_github("rfsaldanha/microdatasus")

Utilização

A utilizaço do pacote consiste, em geral, no uso de duas funções: uma realiza o download dos dados e outra o pré-processamento dos mesmos.

Exemplo

library(microdatasus)
dados <- fetch_datasus(year_start = 2013, year_end = 2014, uf = "RJ", information_system = "SIM-DO")
dados <- process_sim(dados)

O manual para a utilização do pacote encontra-se na Wiki do projeto.

Sistemas de Informação em Saúde suportados

  • Download: SIM, SINASC, SIH, CNES, SIA, SINAN-DENGUE, SINAN-CHIKUNGUNYA, SINAN-ZIKA, SINAN-MALARIA.
  • Pré-processamento: SIM, SINASC, SIH-RD, CNES-ST, CNES-PF, SINAN-DENGUE, SINAN-CHIKUNGUNYA, SINAN-ZIKA, SINAN-MALARIA.

Agradecimento

O desenvolvimento deste pacote não seria possível sem a função read.dbc criada por Daniela Petruzalek, através do pacote read.dbc.

Como citar

Peço aos usuários que citem o pacote sempre que ele for utilizado.

SALDANHA, Raphael de Freitas; BASTOS, Ronaldo Rocha; BARCELLOS, Christovam. Microdatasus: pacote para download e pré-processamento de microdados do Departamento de Informática do SUS (DATASUS). Cad. Saúde Pública, Rio de Janeiro , v. 35, n. 9, e00032419, 2019. Available from http://ref.scielo.org/dhcq3y.

Dúvidas e sugestões

Crie uma issue no projeto ou envie um e-mail para [email protected]

microdatasus's People

Contributors

beamilz-ensino avatar clente avatar filipemsc avatar lucasxteixeira avatar maxbiostat avatar nattrigo avatar rafapereirabr avatar rfsaldanha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microdatasus's Issues

Issue with the function `process_cnes_st`

Using the code below you cannot process the dataset with the function process_cnes_st

    CNES_ST_m <- fetch_datasus(year_start = 2019, 
                                year_end = 2019,
                                month_start = 1,
                                month_end = 1,
                                information_system = "CNES-ST")
    
    CNES_ST_BR_m = process_cnes_st(CNES_ST_m, municipality_data = T)

The code results in the following error:

Error in dplyr::left_join(data, cadger, by = c(CNES = "CNES")) : 
  object 'cadger' not found

[bug] Erro na instalação do pacote

Acabei de instalar a nova versão do pacote, utilizando os comandos sugeridos na documentação:

install.packages("remotes")
remotes::install_github("rfsaldanha/microdatasus")

No entanto, quando vou usar o pacote ele não contém as funções principais (fetch_datasus e as funções de processamento).

Por exemplo, quando vou rodar o código sugerido na documentação, ele retorna um erro de que não foi possível encontrar a função fetch_datasus

Traceback:

> library(microdatasus)
> dados <- fetch_datasus(year_start = 2013, year_end = 2014, uf = "RJ", information_system = "SIM-DO")
Error in fetch_datasus(year_start = 2013, year_end = 2014, uf = "RJ",  : 
  não foi possível encontrar a função "fetch_datasus"

Quando eu tento ver as funções do pacote, realmente não aparecem essas funções lá:
bug1
(Não é possível deslizar para baixo, isso é a totalidade de objetos dentro do pacote)

Quando eu tento escrever o "fet..." e clico no tab, para ele autocompletar com "fetch_datasus", também aparece que não há matches
image

fetch_datasus CNES baixa somente um estado, na opção uf="all"

Boa Noite,

O arquivo fetch_datasus não está baixando os demais arquivos da base CNES independente de ser ST, PF, LT ou EQ, quando a opção de todos os estados é selecionada.
por Exemplo:
df.CNES.LT <- fetch_datasus(year_start = 2022,month_start=10,month_end = 10,
year_end = 2022, uf="all", information_system = "CNES-LT")

CNES - variaveis como factor

Rafael,

quando eu baixo tabelas do CNES (equipamento - EQ e estabelecimentos - ST), as variáveis estão vindo como fatores. Você sabe como eu posso solucionar isso?

Problema na instalação

Oi, Rafael. Não consigo instalar o pacote microdatasus. Aparece a seguinte mensagem de erro:

Erro: Failed to install 'microdatasus' from GitHub: (convertido do aviso) cannot remove prior installation of package ‘rlang’

Tentei desinstalar o pacote "rlang", mas aparece outra mensagem de erro:

Warning message:
In (function (pkg, lib, ...) :
Package {rlang}, was not installed in C:/Users/usuario/Documents/R/win-library/4.0

Minha versão do R é a 4.0.3 (2020-10-10)
Minha versão do RStudio é a 1.3.10.93

Poderia me ajudar?

Problem with different column type in `process_sim`

Hi!

The function process_sim return an error when process "OCUP" column. The error is:

Error in dplyr::left_join():
! Can't join on x$OCUP x
y$OCUP because of incompatible
types.
x$OCUP is of type >.
y$OCUP is of type >.
Backtrace:

  1. microdatasus::process_sim(dados)
  2. dplyr:::left_join.data.frame(data, tabOcupacao, by = "OCUP")

I identify the problem here:

if ("OCUP" %in% variables_names) {
if (!("DTOBITO" %in% variables_names))
stop("The variable DTOBITO is needed to preprocess the variable OCUP.")
data$OCUP <- as.character(data$OCUP)
colnames(tabOcupacao)[1] <- "OCUP"
colnames(tabCBO)[1] <- "OCUP"
ano <- lubridate::year(data$DTOBITO)
data$OCUP <-
factor(ifelse(
ano <= 2005,
dplyr::left_join(data, tabOcupacao, by = "OCUP")$nome,
dplyr::left_join(data, tabCBO, by = "OCUP")$nome
))
}

When the code do
colnames(tabOcupacao)[1] <- "OCUP"
colnames(tabCBO)[1] <- "OCUP"

The type of these columns is integer, not character, and this causes the above error. I propose a Pull request to change this.

Thanks

NAT_JUR missing field for early years

I am using fetch_datasus function with information_system as CNES-EQ, CNES-LT, CNES-ST and CNES-PF.

From June 2012 to May 2020 there is a field NAT-JUR, whose categories I found at https://github.com/rfsaldanha/microdatasus/wiki/Convenções-SIH-RD.

However, from August 2005 to May 2012 the field NAT_JUR does not exist and NATUREZA is defined by categories (levels) from 1 to 13.
I found 13 categories that make sense to NATUREZA here, but I don't know which one matches each number.

Does the package microdatasus deliver NAT_JUR information for years 2005-2012? If so, where/how?
Or even if there is a correspondence table between NATUREZA and NAT_JUR.

Professional CPF number

I've found some issues concerning the variable "CPF_PROF" when reading CNES data. For some reason, the rows came up with encoding issues like in "{}\177\x81\177}\177\x80~}| ". I looked for regex patterns but I couldn't solve this. Please let me know how can I proceed. Thanks in advance.

Acesso ao dados do SISCAN

Rafael, parabéns pelo desenvolvimente desta aplicação. É de grande utilidade.

Tenho um dúvida quanto ao acesso aos bancos de dados. É possível acessar os dados do SISCAN (colo do útero e mama)?

Download File Timeout

Estou tentando baixar dados do SIA-PA, porém a todo momento os erros abaixo são reportados:

1: In utils::download.file(file, temp, mode = "wb", method = "libcurl") :
downloaded length 15526138 != reported length 116580110
2: In utils::download.file(file, temp, mode = "wb", method = "libcurl") :
URL 'ftp://ftp.datasus.gov.br/dissemin/publicos/SIASUS/200801_/Dados/PAPR2211.dbc': Timeout of 60 seconds was reached

Acredito que o problema seja apenas a questão do TIMEOUT, visto que conseguido baixar outros arquivos menores, como o SIH-SP.
De acordo com a pagina do pacote "Download File", tem como definir um tempo para TIMEOUT e o padrão é definido em 60 segundos.

The timeout for many parts of the transfer can be set by the option timeout which defaults to 60 seconds. This is often insufficient for downloads of large files (50MB or more) and so should be increased when download.file is used in packages to do so. Note that the user can set the default timeout by the environment variable R_DEFAULT_INTERNET_TIMEOUT in recent versions of R, so to ensure that this is not decreased packages should use something like

options(timeout = max(300, getOption("timeout")))

``process_sim(.)`` pra 2010 quebrado

Não sei se isso acontece também para outros anos (tentei só 2000 e 2010, pra 2000 funcionou normalmente). Aqui está como reproduzir o erro:

remotes::install_github("rfsaldanha/microdatasus")
library(microdatasus)

data_10 = fetch_datasus(year_start = 2010, year_end = 2010, information_system = "SIM-DO")
data_10 = process_sim(data_10)

Error in `$<-.data.frame`(`*tmp*`, "NATURAL", value = c(126L, 2L, 2L,  : 
  replacement has 1136968 rows, data has 1136947

Problem when you ask 1994-1995 SINASC data

Hi Rafael, how are you? Could you fix an issue on the current state of your package?

When I download SINASC data from 1994-1995, ti gives an error because your package is searching in the wrong FTP directory. The directory for 94-95 data is:

ftp://ftp.datasus.gov.br/dissemin/publicos/SINASC/1994_1995/Dados/DNRES/

Thank you so much. Your package is awesome.

Erro em process_sim() para SIM-DOEXT 2010 e 2011

Bom dia. Excelente pacote.

Durante um processamento de dados do SIM-DOEXT, me deparei com erros na função process_sim(). Ocorre para os anos de 2010 e 2011. Testei no estado CE e MG com mesmo resultado. Segue abaixo cópia do processamento. Entre 2012 e 2019, não ocorre problema.

df <- fetch_datasus(year_start = 2010, year_end = 2010, uf = "CE", information_system = "SIM-DOEXT")
Your local Internet connection seems to be ok.
DataSUS FTP server seems to be up. Starting download...
tentando a URL 'ftp://ftp.datasus.gov.br/dissemin/publicos/SIM/CID10/DOFET/DOEXT10.dbc'
downloaded 9.4 MB

Warning message:
In utils::download.file(file, temp, mode = "wb") :
the 'wininet' method is deprecated for ftp:// URLs
df <- process_sim(df) Error in $<-.data.frame(*tmp*, "NATURAL", value = c(NA, NA, 95L, 83L, :
replacement has 143260 rows, data has 143256_

Erro no Download dos dados

Na atualização do R da versão 4.1.1 o method padrão para ‘⁠ftp://⁠’ URIs foi depreciado.

Com isso o ocorre o erro:
"Something went wrong with this URL: ...
This can be a problem with the Internet or the file does not exist yet."

Esse erro pode ser corrigido inserindo o parametro "method = "libcurl"" na linha de download dos dados.

Testing download SINAN

Dear Rapha,
thank you for this package and all your work.

These days I was testing the new features to download files from SINAN, and I got some error when a variable has one format in Year XX and other format in Year YY. So, there was an error when bind_rows was trying to append them.

My suggestion would be two:

1 - Add the option in read.dbc to keep the variable "as is" instead of allowing to convert factors
(NB: this did not solve all problems, because after I have the same problem when it was character in year XX and integer on year YY)

2 - Changing all of them to character hard coding
(NB: the read.dbc -> foreign::read.dbf did not accept reading all as character function col_types = cols(.default = 'c'))

So, basically change this line of the function:

partial <- read.dbc::read.dbc(temp)

to:

partial <- read.dbc::read.dbc(temp, as.is=TRUE) %>% mutate(across(everything(), as.character))

Another option is to change to character only if it is not date format (since dates were unexpectedly doing well), but usually in my pipeline I have started to import/read almost everything as character upon first reading.

Hope it helps,
Thanks,
Otavio

Erro

Olá, encontro este erro ao instalar o microdatasus:
Erro: Failed to install 'microdatasus' from GitHub:
create process 'C:/R/R-41~1.0/bin/x64/Rcmd.exe' (system error 267, O nome do diretório é inválido.
) @win/processx.c:1040 (processx_exec)

Vocês poderiam me ajudar?

Correções SINASC

  • Idade da mãe: também tem o mesmo problema do Apgar, quando recodifica a menina de 10 anos vira de 1 ano, o que é meio incompatível com a gestação. Eu resolvi assim: st$idademae<-as.numeric(as.character(dadosst$IDADEMAE)).
  • Acredito que o problema se repete em idadepai;
  • codocupmae: as palavras acentuadas ficam esquisitas (ex: Psicólogo clínico - Psicólogo clínico). Dá para entender, mas se tiver como resolver ficaria melhor.
    Dicionario_de_Dados_SINASC_tabela_DN.pdf

Sugestões de melhorias para passar no devtools::check()

(anotações da live de 18/08/2021)

  • o @rfsaldanha quer submeter ao CRAN, então é importante resolver as questões do devtools::check()

Algumas coisas que apareceram no check:

  • adicionar @export nas funções exportadas, para não precisar alterar o NAMESPACE manualmente

  • Caracteres especiais - ASCII

  • documentar bases de dados

Problema com encoding no SINAN-CHIKUNGUNYA em 2021

Olá.
Baixando os dados do SINAN-CHIKUNGUNYA , para 2021, algumas colunas aparecem com erro de encoding a partir de CS_SEXO. Com isso, não dá pra utilizar a função process_sinan_chikungunya.
Obrigado!

Erro de instalação

remotes::install_github("rfsaldanha/microdatasus")

Using github PAT from envvar GITHUB_PAT
Error: Failed to install 'unknown package' from GitHub:
HTTP error 401.
Bad credentials

Rate limit remaining: 59/60
Rate limit reset at: 2023-03-11 23:32:28 UTC

Como posso resolver isso?

Erro durante instalação do pacote: "there is no package called ‘fansi’"

Olá, Raphael!

Seguindo as etapas para a utilização do microdatasus deparei-me com o seguinte problema:
Primeiro, durante a instalação do pacote o console retorna:
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
there is no package called ‘fansi’

Parabéns pelo trabalho!! Peço desculpas caso a questão seja demasiada simples, estou aprendendo R à pouco tempo.

Respeitosamente,
Fabiano Rocha.

Função Process_cnes

Boa Tarde Saldanha.
A função process_cnes não funciona mais? Com posso trazer o nome do estabelecimento de saúde usando as bases do CNES_ST?
Desde já agradecendo.
Att.

NAT_JUR CNES

Estou usando a função fetch_datasus com information_system como CNES-EQ, CNES-LT, CNES-ST e CNES-PF.
De junho de 2012 a maio de 2020, existe um campo NAT-JUR, cujas categorias encontrei em https://github.com/rfsaldanha/microdatasus/wiki/Convenções-SIH-RD.
No entanto, de agosto de 2005 a maio de 2012, o campo NAT_JUR não existe e NATUREZA é definido por categorias (níveis) de 1 a 13.
Encontrei 13 categorias que fazem sentido para o NATUREZA aqui, mas não sei qual corresponde a cada número.
O microdatasus do pacote fornece informações NAT_JUR para os anos de 2005 a 2012? Se sim, onde / como? Ou mesmo se houver uma tabela de correspondência entre NATUREZA e NAT_JUR.

Warning ao instalar

Pacote {microdatasus} está dando esse warning ao instalar no R 4.0.

(vamos fazer uma PR)

NB: this package now depends on R (>= 3.5.0)
     WARNING: Added dependency on R >= 3.5.0 because serialized objects in  serialize/load version 3 cannot be read in older versions of R.  File(s) containing such objects: ‘microdatasus/data/cadger.RData’  ‘microdatasus/data/cbo02.RData’  WARNING: Added dependency on R >= 3.5.0 because serialized objects in  serialize/load version 3 cannot be read in older versions of R.  File(s) containing such objects: ‘microdatasus/data/vinculo.RData’

[erro] função `process_sia`

Acho que tem um erro na função process_sia.

Código original:

  # PA_NIVCPL
    if("PA_NIVCPL" %in% variables_names){
      data$PA_NIVCPL <- as.character(data$PA_NIVCPL)
      data$PA_NIVCPL[data$PA_NIVCPL=="0"] <- "N\u00e3o se Aplica"
      data$PA_NIVCPL[data$PA_NIVCPL=="1"] <- "Aten\u00e7\u00e3o B\u00e1sica"
      data$PA_NIVCPL[data$PA_NIVCPL=="2"] <- "M\u00e9dia Complexidade"
      data$PA_NIVCPL[data$PA_NIVCPL=="2"] <- "Alta Complexidade"
      data$PA_NIVCPL <- factor(data$PA_NIVCPL)
    }

Note que alta e média complexidade estão sob o mesmo indicador ("2")

Problema com "process_sim"

Oi Rafa,
tudo certo?

Não consegui trabalhar com a fnção process_sim.
Segue o output:

dados <- process_sim(dados)
Error in $<-.data.frame(*tmp*, "NATURAL", value = c(NA, NA, NA, 115L, :
replacement has 276981 rows, data has 276980

Obrigado pela atenção !
Seu pacote é incrível

SIM files before 1996

Raphael,
muito obrigado por construir esse pacote.

Tentei fazer o download de dados do SIM-DO antes de 1996, e ocorre um erro, pois o nome do arquivo/endereço não existe:
"
(trying URL 'ftp://ftp.datasus.gov.br/dissemin/publicos/SIM/CID10/DORES/DOAC1979.dbc'
Something went wrong with this URL: ftp://ftp.datasus.gov.br/dissemin/publicos/SIM/CID10/DORES/DOAC1979.dbc
This can be a problem with the Internet or the file does not exist yet.
Error in vars %in% names(partial) : object 'partial' not found
In addition: Warning message:
In download.file(file, temp, mode = "wb") :
cannot open URL 'ftp://ftp.datasus.gov.br/dissemin/publicos/SIM/CID10/DORES/DOAC1979.dbc': FTP status was '550 Requested action not taken; file unavailable'"

Acho que é esperado, pois antes de 1996 os dados de causa básica eram codificados em CID9, e estão armazenados em outro diretório e o nome dos arquivos têm a adição de um "R" e os anos estão com 2 dígitos:

SIM/CID9/DORES/DORAC79.dbc

Espero ter ajudado,
Obrigado,
Otavio

Erro na importação

Olá!

Ocorreu um erro na importação dos dados: "Error in $<-.data.frame(*tmp*, "CODMUNRES", value = integer(0)) : replacement has 0 rows, data has 3321"

Abaixo o código:

dados_brutos <- fetch_datasus(year_start = 2019, month_start = 1,
year_end = 2019, month_end = 1,
uf = "RS",
information_system = "CNES-LT")

dados <- process_sim(data = dados_brutos)

Código dos municípios incompativel com IBGE

Olá,

Estou fazendo download de dados do SIM-DOEXT para o estado de SC entre 2010 e 2020. Estou tentando fazer um left_join a partir dos dados do pacote geobr. Aparentemente os códigos de municipio para o Estado de SC não são os mesmos que os códigos do IBGE. Alguém sabe qual poderia ser o problema? Valeu!

Diferença dados microdatasus vs Tabnet

Fala pessoal, estou com uma dúvida relacionada a fonte de dados nessas duas bases. Quando pesquiso utilizando os mesmos critérios obtenho resultados diferentes.

No tabnet utilizando as características abaixo para Minas Gerais obtenho 759 internações aprovadas:
AIH aprovadas segundo Município
Lista Morb CID-10: Asma
Período: Mar/2019

Já utilizando o pacote no R com os comandos abaixo obtenho 744 internações:

` datasus_aprovadas <- microdatasus::fetch_datasus(information_system = "SIH-RD",
year_start = 2019,year_end = 2019,
month_start = 03,month_end = 03,
uf="MG")
datasus_aprovadas <- microdatasus::process_sih(datasus_aprovadas)

datasus_aprovadas2 <- datasus_aprovadas %>%
filter(grepl("J45",DIAG_PRINC) | grepl("J45",DIAG_SECUN) | grepl("J45",DIAGSEC1)
| grepl("J45",DIAGSEC2) | grepl("J45",DIAGSEC3) | grepl("J45",DIAGSEC4)
| grepl("J45",DIAGSEC5) | grepl("J45",DIAGSEC6) | grepl("J45",DIAGSEC7)
| grepl("J45",DIAGSEC8) | grepl("J45",DIAGSEC9)) `

Sinto que devo estar cometendo algum erro mas não consigo identificar, ou essa diferença entre as duas bases já é esperada?
At.te

microdatasus version 1.4.1

[sugestão/feature] Função para obter dicionário de procedimentos

Na minha opinião, uma das partes mais difíceis de analisar dados do SIA/SIH é identificar quais os códigos dos procedimentos de interesse.

Minha sugestão é ter uma função no pacote que retorne uma tabela com os respectivos códigos de procedimento + nome do procedimento + ano/mês em que os procedimentos estão disponíveis. Acho importante ter essa última informação uma vez que procedimentos muitas vezes são extintos ou criados ao longo do tempo.

A minha dúvida é se a melhor forma de fazer isso é simplesmente upando essa base no Github mensalmente, ou se criando uma função que faz o download de arquivos do FTP do Datasus e cria essa base.

Mas, para exemplificar como isso poderia ser feito a partir de código, dou um exemplo abaixo:

get_proc = function(file){
  txt = read.delim(unzip(file, "tb_procedimento.txt"), header = FALSE)
  
  id_proc = purrr::as_vector(substring(purrr::as_vector(txt),1,10))
  proc = purrr::as_vector(substring(purrr::as_vector(txt), first= 11,last = 260))
  
  data.frame(id_proc, proc)
}

link <- "ftp://ftp2.datasus.gov.br/pub/sistemas/tup/downloads/"

arqs <- RCurl::getURLContent(link)

temp_names <- stringr::str_extract_all(arqs,"TabelaUnificada.*zip")[[1]]

links <- paste0(link,temp_names)

data <- NULL

for(link in links){
  
  yearmo <- stringr::str_extract(link, "_([0-9]+)") |> stringr::str_remove("_")
  temp <- tempfile()
  
  utils::download.file(link, temp, mode = "wb")
  partial <- get_proc(temp)
  partial <- cbind(yearmo, partial)
  data <- dplyr::bind_rows(data, partial)
  unlink(temp)
}

dicionario <- data |>
  dplyr::group_by(id_proc) |>
  dplyr::summarise(proc = dplyr::first(proc), yearmo = paste(yearmo, collapse=","))

Se não tiver nenhum erro, este código deve retornar uma base conforme descrevi anteriormente. Assim:
image
Note que alguns procedimentos foram criados ao longo do tempo.

Se quiser posso escrever como uma função exportável e abrir um PR. Esse é só um rascunho que fiz mesmo.

Download dos dados do SIH-RD antes de 2008

Olá @rfsaldanha ,

Parabéns pelo pacote! Tentei baixar os dados de hospitalizações da SIH-RD pelo microdatasus e notei que os dados anteriores à 2008 não são baixados pois o padrão da url é diferente para esse período. Deste modo, fiz a seguinte alteração na função fetch_datasus:

else if(information_system == "SIH-RD") {
    if(year_start >= 2008)  url <- "ftp://ftp.datasus.gov.br/dissemin/publicos/SIHSUS/200801_/dados/" 
    else url <- "ftp://ftp.datasus.gov.br/dissemin/publicos/SIHSUS/199201_200712/dados/" 
    files_list <- paste0(url,"RD", file_extension)
}

O que viabiliza o download desses dados. Este raciocínio está correto? Aparentemente essa mudança não afeta a função process_sih.

Obrigado.

Erro na instalação

Erro: Failed to install 'microdatasus' from GitHub:
(convertido do aviso) cannot remove prior installation of package ‘glue’

library(microdatasus)
Error in library(microdatasus) :
there is no package called ‘microdatasus’

Problemas na instalação do pacote

Olá meus caros,

Estou tendo problemas na instalação do pacote.

> remotes::install_github("rfsaldanha/microdatasus") Downloading GitHub repo rfsaldanha/microdatasus@HEAD Error in utils::download.file(url, path, method = method, quiet = quiet, : cannot open URL 'https://api.github.com/repos/rfsaldanha/microdatasus/tarball/HEAD'

Alguma ideia ?

[erro/bug] lista de etnias nas funções de processamento

As funções de processamento consideram que a variável de etnia é numérica, indo de 1 a 264. Em algumas bases, entretanto, percebi que existiam etnias "X265", "X266", etc. Achei estranho, visto que os CNV de dicionário realmente só catalogam as etnias de 1 a 264. No entanto, acho que existem evidências de que essas entradas não configuram erro, e sim alguma atualização na base de etnias do SUS, conforme pode ser visto neste site:

https://integracao.esusab.ufsc.br/ledi/documentacao/referencias/dicionario.html

Minha sugestão, por ora: não classificar esses códigos como nulos, como faz o código atual, por provavelmente não serem casos nulos de fato.

Dados de ambulância

É possível obter os dados de ambulância a partir do pacote microdatasus? Se sim, poderia me orientar como fazê-lo, pois não achei nada nesse sentido na wiki do GitHub.
O que consegui foi localizar nas bases dos dados do SCNES (http://cnes.datasus.gov.br/pages/downloads/arquivosBaseDados.jsp) quais tabelas me interessam (rlEstabSamu e tbEstabelecimento), mas aqui só consigo dados de Junho/2017 em diante pelo que vi...

Código CNES

Olá! Boa tarde!
Tenho usado muito o microdatasus! Que pacote maravilhoso! Obrigada
No momento, baixando os dados do CNES - "CNES-ST"e ao fazer o processamento usando o process_cnes chego em um problema envolvendo o código dos estabelecimentos.
Quando há zeros à esquerda no código CNES o processamento não é feito de maneira adequada e surgem muitos NAs no banco.
Há como resolver esse problema?
Grata, Rafael!

MISSING SIH SP 2020 06-12

Oi Rafael!
Parabéns pelo pacote, ele é incrível e muito completo.

Notei que após o apagão de dados não consigo exportar mais esse período para o estado de SP. Esse erro ocorre para vc também?

Obrigado pela atenção.

PA_UFDIF e PA_MNDIF

Raphael, primeiramente parabéns pelo pacote microdatasus, ele tem me ajudado muito em minhas aulas e pesquisas.

Uma dúvida: ao aplicar o process_sia percebi que para as variáveis PA_UFDIF e PA_MNDIF o rótulo saiu Não houve invasão ou Sim (houve invasão), porém, no informe técnico do SIA elas significam, respectivamente, UF de residência diferente da UF de localização do estabelecimento e município de residência diferente do município de localização do estabelecimento, trazendo inclusive o seguinte rótulo: 0 = mesma e 1 = diferente.

Grato pela atenção,

Health informaton system unknown for SINAN-DENGUE-FINAL/PRELIMINAR

Olá!
Estava tentando baixar os dados de casos da dengue usando 'SINAN-DENGUE-FINAL' e 'SINAN-DENGUE-PRELIMINAR' como information_system na função fetch datasus. Porém, tive o seguinte erro: 'Health information system unknown.'. Os dois aparecem como sistemas implementados na descrição ao inicio do arquivo da função.
Esse é o código que estava usando:
dengue_list <-fetch_datasus(year_start = 2020, year_end = 2021, information_system = 'SINAN-DENGUE-FINAL')
Parece funcionar usando o argumento ‘SINAN-DENGUE’, mas não sei se tem alguma diferença com os dados com esses argumentos.
Desde já, muito obrigada pela sua atenção e pelo maravilhoso pacote.
Denise.

`process_sim(.)` reportando erro para anos entre 1999 e 2001

Estou tentando importar dados de declaração de óbito para todas as UF's, entre 1999 e 2001. O código que estou usando é o seguinte:

dados_sim_00 <- fetch_datasus(year_start = 1999,
                           year_end = 2001,
                           information_system = "SIM-DO")

dados_sim_00 <- process_sim(dados_sim_00, municipality_data = FALSE)

Entretanto, é retornado o seguinte erro no momento de processar os dados:

Error in process_sim(dados_sim_00, municipality_data = FALSE) : 
  invalid multibyte string at '<b2>'

Fiz alguns testes rodando para somente uma UF aleatória para o mesmo intervalo de anos calendários e o erro não é retornado na função process_sim(.).

Até onde consegui entender, parece ser um erro associado a algum dos caracteres relacionados aos dados de alguma UF em específico, imagino. Entretanto, não consegui identificar onde ele se encontra.

Alguém tem alguma ideia ou alternativa para este erro? Ele já ocorreu outras vezes?

Process SIM entre 2010 e 2013 para SP, RJ e GO

Problema

Preciso trabalhar com dados do SIM de 2010 à 2020, consegui coletar com sucesso usando o fetch_datasus, porém ao tentar processar esse dados usando process_sim recebi o seguinte erro Error in $<-.data.frame(*tmp*, "NATURAL", value = c(101L, 74L, 120L, : replacement has 270384 rows, data has 270367.
Após alguns debugs percebi que isso acontece com dados de SP, GO, RJ para os anos de 2010, 2011, 2012, 2013. Posteriormente, realizei mais alguns debugs e percebi que esse erro é acontece na nessa linha que faz o processamento do campo NATURALIDADE pois o left_join está retornando um número maior de registro do que o original.
Depois, realizei mais uns debugs para entender o porquê do left_join está retornando mais registro que o o original, então percebi que a tabela tabNaturalidade tem os seguintes campos cod duplicados:

  • 44 para CAMBOJA e LAOS;
  • 73 para EIRE e IRLANDA;
  • 81 para FALKLAND, ILHAS e MALVINAS, ILHAS;
    E nos dados desse período para esses locais existem registro que usam esses códigos e então o processamento quebra

Minhas questões são:

  • Essa tabela tabNaturalidade deveria ter o campo cod duplicado?
  • Deveria ter alguma condição para manipular esse campo duplicado?

Para eu conseguir seguir o meu trabalho eu fiz a seguinte manipulação antes de executar o process_sim:

load("tabNaturalidade.rda")
tabNaturalidade <- subset(tabNaturalidade, nome!="LAOS" & nome!="EIRE" & nome!="FALKLAND, ILHAS")

Porém, não sei se essa é a melhor solução para o problema.

Fico a disposição para mais informações.

Something went wrong with this URL: ..... This can be a problem with the Internet or the file does not exist yet.

Olá, inicialmente parabéns pelo desenvolvimento do projeto!

Estou tentando utilizar a biblioteca, mas a seguinte notificação ocorre:

Your local Internet connection seems to be ok.
DataSUS FTP server seems to be up. Starting download...
tentando a URL 'ftp://ftp.datasus.gov.br/dissemin/publicos/CNES/200508_/Dados/SR/SRRJ2001.dbc'
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... ....
downloaded 464 KB

Something went wrong with this URL: ftp://ftp.datasus.gov.br/dissemin/publicos/CNES/200508_/Dados/SR/SRRJ2001.dbc
This can be a problem with the Internet or the file does not exist yet.

Como eu poderia solucionar o problema?

Problema ao processar idade da mãe do SINASC

Ao utilizar a função process_sinasc a variável IDADEMAE mostra uma idade 10 anos mais jovem do que a registrada no sistema, o que não condiz com os arquivos de conversão:

Exemplo: Nascidos Vivos do RJ em 2018:

Antes do Processamento:

head(nvrj2018$IDADEMAE)
[1] 19 23 15 32 30 43

summary(as.numeric(as.character(nvrj2018$IDADEMAE)))
Min. 1st Qu. Median Mean 3rd Qu. Max.
11.00 22.00 27.00 27.18 32.00 99.00

Pós Processamento:

head(nvrj2018_proc$IDADEMAE)
[1] 9 13 5 22 20 33

summary(as.numeric(as.character(nvrj2018_proc$IDADEMAE)))
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 12.00 17.00 17.18 22.00 49.00

Erro na instalação

Olá!

estou tentando instalar o microdatasus porém aparece o seguinte erro:
Error: Failed to install 'microdatasus' from GitHub:
create process 'C:/PROGRA1/R/R-411.0/bin/x64/Rcmd.exe' (system error 267, O nome do diretório é inválido.

No Rcloud consigo instalar sem problemas.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.