--- title: "Live Birth Data from SINASC with healthbR" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Live Birth Data from SINASC with healthbR} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ``` ## Overview The **SINASC (Sistema de Informacoes sobre Nascidos Vivos)** is Brazil's national live birth information system, managed by the Ministry of Health through DATASUS. It records individual birth certificates (*Declaracao de Nascido Vivo*) with maternal, delivery, and newborn characteristics. | Feature | Details | |---------|---------| | Coverage | Per state (UF), all 27 states | | Years | 1996--2024 | | Unit | One row per live birth certificate | | Format | .dbc files from DATASUS FTP | ## Getting started ```{r setup} library(healthbR) library(dplyr) ``` ### Check available years ```{r} sinasc_years() # include preliminary data sinasc_years(status = "all") ``` ### Module information ```{r} sinasc_info() ``` ## Downloading data ### Basic download ```{r} births <- sinasc_data(year = 2022, uf = "AC") ``` ### Multiple states and years ```{r} births <- sinasc_data(year = 2020:2022, uf = c("SP", "RJ")) ``` ### Filter by congenital anomaly Use CID-10 code prefixes to filter births with congenital anomalies: ```{r} # Down syndrome (Q90) down <- sinasc_data(year = 2022, uf = "SP", anomaly = "Q90") # All congenital anomalies (Chapter XVII) anomalies <- sinasc_data(year = 2022, uf = "SP", anomaly = "Q") ``` ### Select variables ```{r} births <- sinasc_data( year = 2022, uf = "SP", vars = c("DTNASC", "SEXO", "PESO", "IDADEMAE", "GESTACAO", "PARTO", "CONSULTAS", "CODMUNRES") ) ``` ## Key variables | Variable | Description | |----------|-------------| | DTNASC | Birth date | | SEXO | Sex (1=Male, 2=Female, 0=Unknown) | | PESO | Birth weight (grams) | | IDADEMAE | Mother's age (years) | | GESTACAO | Gestational age (weeks, categorized) | | PARTO | Delivery type (1=Vaginal, 2=Cesarean) | | CONSULTAS | Prenatal consultations (categorized) | | CODANOMAL | Congenital anomaly (CID-10 code) | | CODMUNRES | Municipality of mother's residence (IBGE 6 digits) | | ESCMAE | Mother's education level | | RACACOR | Newborn's race/color | | APGAR1, APGAR5 | Apgar score at 1 and 5 minutes | ### Data dictionary ```{r} sinasc_dictionary() sinasc_dictionary("PARTO") sinasc_dictionary("GESTACAO") ``` ### Explore variables ```{r} sinasc_variables() sinasc_variables(search = "mae") sinasc_variables(search = "peso") ``` ## Example: Low birth weight by state ```{r} births <- sinasc_data(year = 2022, uf = c("SP", "RJ", "MG", "BA", "RS")) lbw <- births |> filter(!is.na(PESO), PESO != "0") |> mutate( weight = as.numeric(PESO), low_weight = weight < 2500 ) |> group_by(uf_source) |> summarise( total = n(), low_weight_n = sum(low_weight), low_weight_pct = low_weight_n / total * 100 ) ``` ## Example: Cesarean rates over time ```{r} births <- sinasc_data(year = 2018:2022, uf = "SP", vars = c("PARTO", "CODMUNRES")) cesarean <- births |> filter(PARTO %in% c("1", "2")) |> group_by(year) |> summarise( vaginal = sum(PARTO == "1"), cesarean = sum(PARTO == "2"), cesarean_rate = cesarean / (vaginal + cesarean) * 100 ) ``` ## Example: Teen pregnancy ```{r} births <- sinasc_data(year = 2022, uf = "SP") teen <- births |> filter(!is.na(IDADEMAE)) |> mutate( mother_age = as.integer(IDADEMAE), teen_mother = mother_age < 20 ) |> summarise( total = n(), teen_n = sum(teen_mother, na.rm = TRUE), teen_pct = teen_n / total * 100 ) ``` ## Smart type parsing ```{r} # parsed types (default) births <- sinasc_data(year = 2022, uf = "AC") class(births$DTNASC) # Date class(births$PESO) # integer # all character births_raw <- sinasc_data(year = 2022, uf = "AC", parse = FALSE) ``` ## Cache and lazy evaluation ```{r} sinasc_cache_status() sinasc_clear_cache() # lazy query lazy <- sinasc_data(year = 2022, uf = "SP", lazy = TRUE) lazy |> filter(PARTO == "2") |> collect() ``` ## Further reading - SINASC on DATASUS (`datasus.saude.gov.br`) - [SIM vignette](sim-mortality.html) for mortality data - [Census vignette](censo-denominadores.html) for population denominators