Skip to content

Commit 7e7233c

Browse files
efram2IgorRigolon
andauthored
Arquivo sinasc do datasus (#259)
* DATASUS Amazonia * SINASC codigo joao * exclusao * Sinasc_dados atualizacao * datasus_sinasc atualizacao * Update data_sus * Update datasus_sinasc * Update datasus_sinasc * datasus update SINASC * update datasus sinasc * update datasus sinasc * update sinasc dictionary * update dictionary sinasc * update datasus sinasc * update datasus sinasc * datasus apdate * update datasus_sinasc * update datasus sinasc * update datasus sinasc * Update datasus.R * update datasus_sinasc * update datasus sinasc * Inclusão locnasc dicionario do datasus * local_nascimento corrigido dicionario sinasc * Update dictionary.R * Corrigindo dicionario da sinasc datasus * finalizacao do dicionario sinasc datasus * mais atualizacao ao dicionario do sinasc datasus * correcao dos itens duplicados dicionario sinasc datasus * add lubridate e terra no description * correcao dictionary caracteres especiais * correcao dictionary caracter especial * variáveis nao declaradas sinasc datasus * update dictionary * Update datasus * Update mencion joao how author * Add datasus sinasc no GITHUB * Update datasus * small adjustments --------- Co-authored-by: IgorRigolon <77173467+IgorRigolon@users.noreply.github.com>
1 parent 52e5ee6 commit 7e7233c

File tree

8 files changed

+312
-28
lines changed

8 files changed

+312
-28
lines changed

DESCRIPTION

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
Package: datazoom.amazonia
22
Title: Simplify Access to Data from the Amazon Region
3-
Version: 1.1.2.9000
3+
Version: 1.1.3.9000
44
Authors@R: c(
5-
person("Igor", "Rigolon Veiga", email = "igor.rilave@hotmail.com", role = c("aut", "cre")),
6-
person("DataZoom (PUC-Rio)", email = "datazoom@econ.puc-rio.br", role = "fnd"),
5+
person("Igor", "Rigolon Veiga", , "igor.rilave@hotmail.com", role = c("aut", "cre")),
6+
person("DataZoom (PUC-Rio)", , , "datazoom@econ.puc-rio.br", role = "fnd"),
77
person("Gustavo", "Gonzaga", email = "gonzaga@econ.puc-rio.br", role = "aut"),
8-
person("Guilherme", "Jardim", email = "gnjardim1@gmail.com", role = "aut"),
9-
person("Daniel", "AC Barbosa", email = "daniel.adrianocb@gmail.com", role = "aut"),
10-
person("Bruno", "Alcantara Duarte", email = "brunoalcanduarte@gmail.com", role = "aut"),
11-
person("Fredie", "Didier", email = "fdidier@terra.com.br", role = "aut"),
12-
person("Tito", "Bruni", email = "titonico.bruni@gmail.com", role = "aut"),
13-
person("Luiz Guilherme", "Lopes Moussatche", email = "luizguilherme.lopesm@gmail.com", role = "aut"),
14-
person("Victor", "Aliende da Matta", email = "victor.al.matta@gmail.com", role = "aut"),
15-
person("Anna Carolina", "Dutra Saraiva", email = "annadutrasaraiva@gmail.com", role = "aut"),
16-
person("Arthur", "Carvalho Brito", email = "arthurcbps@gmail.com", role = "aut"),
17-
person("Francisco", "de Lima Cavalcanti", email = "francisco.lima.cavalcanti@gmail.com", role = "aut"),
18-
person("Maria", "Mittelbach", email = "mariamittelbach@gmail.com", role = "aut"),
19-
person("Felipe", "de Moraes Nunes", , "felipedmoraesn@gmail.com", role = "aut")
8+
person("Guilherme", "Jardim", , "gnjardim1@gmail.com", role = "aut"),
9+
person("Daniel", "AC Barbosa", , "daniel.adrianocb@gmail.com", role = "aut"),
10+
person("Bruno", "Alcantara Duarte", , "brunoalcanduarte@gmail.com", role = "aut"),
11+
person("Fredie", "Didier", , "fdidier@terra.com.br", role = "aut"),
12+
person("Tito", "Bruni", role = "aut"),
13+
person("Luiz Guilherme", "Lopes Moussatche", , "luizguilherme.lopesm@gmail.com", role = "aut"),
14+
person("Victor", "Aliende da Matta", , "victor.al.matta@gmail.com", role = "aut"),
15+
person("Anna Carolina", "Dutra Saraiva", , "annadutrasaraiva@gmail.com", role = "aut"),
16+
person("Arthur", "Carvalho Brito", , "arthurcbps@gmail.com", role = "aut"),
17+
person("Francisco", "de Lima Cavalcanti", , "francisco.lima.cavalcanti@gmail.com", role = "aut"),
18+
person("Maria", "Mittelbach", , "mariamittelbach@gmail.com", role = "aut"),
19+
person("Felipe", "de Moraes Nunes", , "felipedmoraesn@gmail.com", role = "aut"),
20+
person("Joao","Santos P. Barbosa",,"joao.31582129@gmail.com", role = "aut")
2021
)
2122
Description: Functions to download and treat data regarding the Brazilian
2223
Amazon region from a variety of official sources.
@@ -40,7 +41,8 @@ Imports:
4041
tibble,
4142
tidyr,
4243
utils,
43-
XML
44+
XML,
45+
lubridate
4446
Suggests:
4547
foreign,
4648
googledrive,

R/datasus.R

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#'
33
#' @description Loads DATASUS data on health establishments, mortality, access to health services and several health indicators.
44
#'
5-
#' @param dataset A dataset name, can be one of ("datasus_sim_do", "datasus_sih", "datasus_cnes_lt"), or more. For more details, try \code{vignette("DATASUS")}.
5+
#' @param dataset A dataset name, can be one of ("datasus_sim_do", "datasus_sih", "datasus_cnes_lt", "datasus_sinasc), or more. For more details, try \code{vignette("DATASUS")}.
66
#' @inheritParams load_baci
77
#' @param states A \code{string} specifying for which states to download the data. It is "all" by default, but can be a single state such as "AC" or any vector such as c("AC", "AM").
88
#' @param keep_all A \code{boolean} choosing whether to aggregate the data by municipality, in turn losing individual-level variables (\code{FALSE}) or to keep all the original variables. Only applies when raw_data is \code{TRUE}.
@@ -72,6 +72,12 @@ load_datasus <- function(dataset,
7272
legal_amazon <- link <- month <- name_muni <- qt_exist <- qt_nsus <- value <- NULL
7373
var_code <- year <- qt_sus <- causabas <- available_time <- NULL
7474

75+
origem <- locnasc <- estcivmae <- escmae <- semagestac <- gravidez <- parto <- NULL
76+
consprenat <- sexo <- racacor <- idanomal <- escmae2010 <- dtnascmae <- NULL
77+
racacormae <- dtultmenst <- tpmetestim <- tpapresent <- sttrabpart <- NULL
78+
stcesparto <- tpnascassi <- codmunnasc <- NULL
79+
80+
7581
#############################
7682
## Define Basic Parameters ##
7783
#############################
@@ -125,7 +131,7 @@ load_datasus <- function(dataset,
125131
file_years <- NULL
126132
file_years_yy <- NULL
127133

128-
if (param$dataset == "datasus_sim_do") {
134+
if (param$dataset %in% c("datasus_sim_do", "datasus_sinasc")) {
129135
file_years <- filenames %>%
130136
substr(5, 8)
131137
}
@@ -151,7 +157,7 @@ load_datasus <- function(dataset,
151157

152158
file_state <- NULL
153159

154-
if (param$dataset %in% c("datasus_sim_do", "datasus_sih") | stringr::str_detect(param$dataset, "datasus_cnes")) {
160+
if (param$dataset %in% c("datasus_sim_do", "datasus_sih", "datasus_sinasc") | stringr::str_detect(param$dataset, "datasus_cnes")) {
155161
file_state <- filenames %>%
156162
substr(3, 4)
157163
} else if (paste0(param$states, collapse = "") != "all") {
@@ -275,7 +281,40 @@ load_datasus <- function(dataset,
275281
)
276282
}
277283

278-
if (param$dataset != "datasus_sih") {
284+
if( param$dataset == "datasus_sinasc" ) {
285+
286+
dat <- dat %>%
287+
288+
# Documentando as colunas
289+
dplyr::mutate(
290+
origem = dplyr::recode(origem, '1' = "oracle", '2' = "ftp", '3' = "sead"),
291+
locnasc = dplyr::recode(locnasc, '1' = "hospital", '2' = "outros estabelecimentos de saude", '3' = "domicilio", '4' = "outros", '5' = "aldeia indigena", '9' = "ignorado"),
292+
estcivmae = dplyr::recode(estcivmae, '1' = "solteira", '2' = "casada", '3' = "viuva", '4' = "divorciada", '5' = "uniao estavel", '9' = "ignorada"),
293+
escmae = dplyr::recode(escmae, '1' = "nenhuma", '2' = "1 a 2 anos", '3' = "4 a 7 anos", '4' = "8 a 11 anos", '5' = "12 e mais", '9' = "ignorado"),
294+
semagestac = dplyr::recode(semagestac, '1' = "menos de 22 semanas", '2' = "22 a 27 semanas", '3' = "28 a 31 semanas", '4' = "32 a 36 semanas", '5' = "37 a 41 semanas", '6' = "42 semanas e mais", '9' = "ignorado"),
295+
gravidez = dplyr::recode(gravidez, '1' = "unica", '2' = "dupla", '3' = "tripla ou mais", '9' = "ignorado"),
296+
parto = dplyr::recode(parto, '1' = "vaginal", '2' = "cesario", '9' = "ignorado"),
297+
consprenat = dplyr::recode(consprenat, '1' = "nenhuma", '2' = "de 1 a 3", '3' = "de 4 a 6", '4' = "7 e mais", '9' = "ignorado"),
298+
sexo = dplyr::recode(sexo, '0' = "ignorado", '1' = "masculino", '2' = "feminino"),
299+
racacor = dplyr::recode(racacor, '1' = "branca", '2' = "preta", '3' = "amarela", '4' = "parda", '5' = "indigena"),
300+
idanomal = dplyr::recode(idanomal, '9' = "ignorado", '1' = "sim", '2' = "nao"),
301+
escmae2010 = dplyr::recode(escmae2010, '0' = "sem escolaridade", '1' = "fundamental 1", '2' = "fundamental 2", '3' = "medio", '4' = "superior incompleto", '5' = "superior completo", '9' = "ignorado"),
302+
dtnascmae = lubridate::dmy(as.character(dtnascmae)),
303+
racacormae = dplyr::recode(racacormae, '1' = "branca", '2' = "preta", '3' = "amarela", '4' = "parda", '5' = "indigena"),
304+
dtultmenst = lubridate::dmy(as.character(dtultmenst)),
305+
tpmetestim = dplyr::recode(tpmetestim, '1' = "exame fisico", '2' = "outro metodo", '9' = "ignorado"),
306+
tpapresent = dplyr::recode(tpapresent, '1' = "cefalica", '2' = "pelvica ou podalica", '3' = "transversa", '9' = "ignorado"),
307+
sttrabpart = dplyr::recode(sttrabpart, '1' = "sim", '2' = "nao", '9' = "ignorado"),
308+
stcesparto = dplyr::recode(stcesparto, '1' = "sim", '2' = "nao", '3' = "nao se aplica", '9' = "ignorado"),
309+
tpnascassi = dplyr::recode(tpnascassi, '1' = "medico", '2' = "enfermeira obstetriz", '3' = "parteira", '4' = "outros", '9' = "ignorado")
310+
)
311+
312+
dat <- dat %>%
313+
dplyr::mutate(codmunnasc = as.numeric(as.character(codmunnasc))) %>%
314+
dplyr::rename("code_muni_6" = "codmunnasc")
315+
}
316+
317+
if (!(param$dataset %in% c("datasus_sih"))) {
279318
# Adding municipality data
280319

281320
geo <- datazoom.amazonia::municipalities %>%
@@ -360,7 +399,7 @@ load_datasus <- function(dataset,
360399
dplyr::relocate(code_muni, name_muni, code_state, abbrev_state, legal_amazon, dtobito) %>%
361400
tibble::as_tibble()
362401
}
363-
if (stringr::str_detect(param$dataset, "datasus_cnes")) {
402+
if (stringr::str_detect(param$dataset, "datasus_cnes|datasus_sinasc")) {
364403
dat_mod <- dat %>%
365404
dplyr::relocate(code_muni, name_muni, code_state, abbrev_state, legal_amazon) %>%
366405
tibble::as_tibble()

0 commit comments

Comments
 (0)