library(PNSIBGE)
tipo_de_parto_vars <- c("C008", "C009","C011",  "C01001", "C10A", "C013","C014", 
    "I00102", "I00404", 
    "Q00201","Q00202", "Q03001", "Q03002",
    "R032", "R037", 
    "S065","S066", "S068","S070", "S073", "S074","S080","S111","S112","S113", "S114", 
    "S115","S116","S118","S125","S128","S129", "S06701",  "S06702",  "S06703",
    "V0026","V0001", "VDF004", "V00291", "VDD004A",
    "W00103", "W00203")

#pns2019 <- get_pns(
#   year=2019, 
#   vars=tipo_de_parto_vars,
#   selected=FALSE, 
#   anthropometry=FALSE, 
#   labels=TRUE, 
#   deflator=TRUE, 
#   design=TRUE, 
#   savedir=tempdir()
# )
# save(pns2019, file="pns2019.Rdata")
load("pns2019.Rdata")
library(dplyr)
library(ggplot2)
library(kableExtra)
library(survey)
### Critérios para a subamostra
# S065 == 'Sim'
# S068 == 'Sim'
pns2019$variables$S115=droplevels(pns2019$variables$S115)

Recomendações

Variáveis sociodemográficas da mulher

Abaixo comparamos variáveis sociodemográficas com a escolha do tipo de parto(S115).

C008 - Idade do morador na data de referência

Boxplot

svyboxplot(formula=C008~1, design=subset(pns2019,!is.na(S068)), main="Distribuição da idade dos respondentes em anos", ylab="Idade")

C009 - Cor ou raça

pns2019$variables$cor=ifelse(pns2019$variables$C009 %in% c("Amarela", "Indígena"), "Amarelas e Indígenas", 
                             ifelse(pns2019$variables$C009 == "Branca", "Branca",
                            ifelse(pns2019$variables$C009 == "Preta", "Preta",
                            ifelse(pns2019$variables$C009 == "Parda", "Parda", "Ignorado"))))
table = svyby(~S115, ~cor, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Amarelas e Indígenas 44.1 55.9 20.0 15.8
Branca 37.9 62.1 7.2 4.4
Parda 47.3 52.7 4.4 3.9
Preta 50.1 49.9 8.4 8.4

VDD004A - Escolaridade

table = svyby(~S115, ~VDD004A, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
table
##                                                                     VDD004A
## Sem instrução                                                 Sem instrução
## Fundamental incompleto ou equivalente Fundamental incompleto ou equivalente
## Fundamental completo ou equivalente     Fundamental completo ou equivalente
## Médio incompleto ou equivalente             Médio incompleto ou equivalente
## Médio completo ou equivalente                 Médio completo ou equivalente
## Superior incompleto ou equivalente       Superior incompleto ou equivalente
## Superior completo                                         Superior completo
##                                       S115Parto normal/vaginal S115Cesariana
## Sem instrução                                             44.1          55.9
## Fundamental incompleto ou equivalente                     63.6          36.4
## Fundamental completo ou equivalente                       63.2          36.8
## Médio incompleto ou equivalente                           52.3          47.7
## Médio completo ou equivalente                             43.2          56.8
## Superior incompleto ou equivalente                        30.1          69.9
## Superior completo                                         21.2          78.8
##                                       cv.S115Parto normal/vaginal
## Sem instrução                                                30.3
## Fundamental incompleto ou equivalente                         4.6
## Fundamental completo ou equivalente                           7.4
## Médio incompleto ou equivalente                               8.3
## Médio completo ou equivalente                                 5.6
## Superior incompleto ou equivalente                           17.0
## Superior completo                                            14.1
##                                       cv.S115Cesariana
## Sem instrução                                     23.9
## Fundamental incompleto ou equivalente              8.1
## Fundamental completo ou equivalente               12.7
## Médio incompleto ou equivalente                    9.1
## Médio completo ou equivalente                      4.3
## Superior incompleto ou equivalente                 7.3
## Superior completo                                  3.8

C01001 - Cônjuge ou companheiro(a) mora em nesse domicílio.

table = svyby(~S115, ~C01001, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1)
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 41.7 58.3 4.2 3
Não 52.4 47.6 5.5 6

V0001 - Unidade da Federação

pns2019$variables$regiao=ifelse(pns2019$variables$V0001 %in% c("Acre","Amazonas","Roraima","Pará","Amapá","Tocantins"),"Norte",
                                ifelse(pns2019$variables$V0001 %in% c("Maranhão","Piauí","Ceará","Rio Grande do Norte","Paraíba","Pernambuco","Alagoas","Sergipe","Bahia"),"Nordeste",
                                       ifelse(pns2019$variables$V0001 %in% c("Minas Gerais","Espírito Santo","Rio de Janeiro","São Paulo"),"Sudeste",
                                              ifelse(pns2019$variables$V0001 %in% c("Paraná","Santa Catarina","Rio Grande do Sul"), "Sul","Centro-Oeste"))))
table = svyby(~S115, ~regiao, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Centro-Oeste 0.3688692 0.6311308 0.0844960 0.0493843
Nordeste 0.4931798 0.5068202 0.0457745 0.0445426
Norte 0.5081889 0.4918111 0.0607868 0.0628111
Sudeste 0.4198146 0.5801854 0.0767412 0.0555289
Sul 0.4078804 0.5921196 0.0851253 0.0586384

V0026 - Tipo de situação censitária

table = svyby(~S115, ~V0026, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Urbano 0.4336489 0.5663511 0.0405868 0.0310769
Rural 0.4966279 0.5033721 0.0511373 0.0504521

VDF004 - Faixa de rendimento domiciliar per capita (exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico)”

table = svyby(~S115, ~VDF004, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv") 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Até ¼ salário mínimo 0.5678700 0.4321300 0.0490674 0.0644804
Mais de ¼ até ½ salário mínimo 0.5778110 0.4221890 0.0446601 0.0611222
Mais de ½ até 1 salário mínimo 0.4105856 0.5894144 0.0714817 0.0497941
Mais de 1 até 2 salários mínimos 0.2875616 0.7124384 0.1394908 0.0563027
Mais de 2 até 3 salários mínimos 0.1832435 0.8167565 0.2933419 0.0658128
Mais de 3 até 5 salários mínimos 0.2626830 0.7373170 0.2277297 0.0811330
Mais de 5 salários mínimos 0.1411633 0.8588367 0.4186047 0.0688043

Sistema de saúde

I00102 - tem algum plano de saúde médico particular, de empresa ou órgão público?

table = svyby(~S115, ~I00102, subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 0.2083164 0.7916836 0.1219452 0.0320875
Não 0.5297743 0.4702257 0.0320281 0.0360841

S111 - Quem fez o parto?

Depende da S065- “Alguma vez ficou grávida, mesmo que a gravidez não tenha chegado até o final?”. Como a S068 - “Quando estava grávida fez alguma consulta de pré-natal?” também depende da S065, o filtro abaixo está correto. Todas as análises restantes desse bloco seguem a mesma lógica.

table = svyby(~S115, ~S111 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Médico (a) 0.3679478 0.6320522 0.0423612 0.0246605
Enfermeiro (a) 0.9641599 0.0358401 0.0185434 0.4988488
Outro (a) profissional de saúde 1.0000000 0.0000000 0.0000000 NaN
Parteira 0.9642968 0.0357032 0.0295782 0.7988690
Parentes/amigos 1.0000000 0.0000000 0.0000000 NaN
Outro 0.9745345 0.0254655 0.0200724 0.7681446

S112 - Onde foi realizado o parto?

pns2019$variables$local=ifelse(pns2019$variables$S112 %in% c(
  "Unidade básica de saúde (posto ou centro de saúde ou unidade de saúde da família).   ", 
  "Policlínica pública, PAM (Posto de Assistência Médica) ou Centro de Especialidades público   ",
  "UPA (Unidade de Pronto Atendimento), outro tipo de pronto atendimento público (24 horas), pronto-socorro ou emergência de hospital público.\n    ",
  "Hospital público ou maternidade pública"), "Local de atendimento público", 
                             ifelse(pns2019$variables$S112 %in% c(
                               "Casa de parto",
                               "Consultório particular, clínica privada ou ambulatório de hospital privado.",
                               "Pronto-atendimento ou emergência de hospital privado\n  "), 
                               "Local de atendimento privado", "Outros"))

table = svyby(~S115, ~local , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Local de atendimento privado 18.5 81.5 15.6 3.5
Local de atendimento público 53.7 46.3 3.4 3.9
Outros 45.1 54.9 8.1 6.6

S113 - Pagou algum valor pelo parto?

table = svyby(~S115, ~S113 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 14.8 85.2 22.0 3.8
Não 48.6 51.4 3.4 3.2

S114 - O parto foi feito através do Sistema Único de Saúde (SUS)?

table = svyby(~S115, ~S114 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 55.8 44.2 3.1 3.9
Não 18.7 81.3 11.8 2.7

S128 - O parto foi realizado no estabelecimento de saúde indicado no pré-natal?

table = svyby(~S115, ~S128 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 39.9 60.1 4.6 3.1
Não 55.5 44.5 4.6 5.7

S129 - “Quantos serviços de saúde procurou quando entrou em trabalho de parto para que seu(sua) filho(a) pudesse nascer?”

table = svyby(~S115, ~S129 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Um 0 100 NaN 0
Dois 0 100 NaN 0
Mais de dois 0 100 NaN 0

Estado de saúde da mulher

Q00201 - Algum médico já lhe deu o diagnóstico de hipertensão arterial (pressão alta)?

table = svyby(~S115, ~Q00201 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 32.5 67.5 10.4 5.0
Não 46.0 54.0 3.6 3.1

Q03001 - Algum médico já lhe deu o diagnóstico de diabetes?

table = svyby(~S115, ~Q03001 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 42.8 57.2 18.2 13.6
Não 43.9 56.1 3.6 2.8

R032 - Nos últimos 12 meses, a sra participou de grupo de planejamento familiar?

table = svyby(~S115, ~R032 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 49.1 50.9 11.4 11
Não 43.6 56.4 3.9 3

R037 - A sra e/ou seu companheiro já fizeram ou fazem algum tratamento para engravidar?

table = svyby(~S115, ~R037 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim, fazem atualmente 0.0 100.0 NaN 0
Sim, já fizeram 28.7 71.3 19.8 8
Nunca fizeram 44.8 55.2 3.7 3

S066 - Quantos partos a Sra já teve?

pns2019$variables$quantos_partos=ifelse(pns2019$variables$S066 == '1', '1',
                                ifelse(pns2019$variables$S066 == '2', '2',
                                ifelse(pns2019$variables$S066 == '3', '3',
                                ifelse(pns2019$variables$S066 == '4', '4',">= 5"))))
table = svyby(~S115, ~quantos_partos , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
>= 5 74.2 25.8 7.5 21.5
1 40.8 59.2 6.2 4.3
2 39.0 61.0 6.3 4.0
3 49.1 50.9 6.9 6.7
4 59.0 41.0 9.4 13.6

S070 - Quantas consultas de pré-natal fez durante esta gravidez?

pns2019$variables$quantos_prenatal=ifelse(pns2019$variables$S070 %in% c('Uma', 'Duas', 'Três'), '1-3',
                                ifelse(pns2019$variables$S070 %in% c('Quatro', 'Cinco'), '4-5',
                                ifelse(pns2019$variables$S070 %in% c('Seis', 'Sete ou mais'), '> 6',"Não sabe\\Não lembra")))
table = svyby(~S115, ~quantos_prenatal , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
> 6 40.7 59.3 4.2 2.9
1-3 66.3 33.7 11.8 23.2
4-5 62.5 37.5 6.9 11.6
Não sabelembra 64.1 35.9 9.7 17.3

S073 - “As consultas do pré-natal foram feitas através do Sistema Único de Saúde (SUS)?”

table = svyby(~S115, ~S073 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim, todas 56.4 43.6 3.1 4.0
Sim, algumas 35.4 64.6 16.3 8.9
Não, nenhuma 17.8 82.2 12.3 2.7

S074 - Nesta gravidez, quem a atendeu na maioria das consultas?

table = svyby(~S115, ~S074 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Médico (a) 38.2 61.8 4.9 3.1
Enfermeiro (a) 59.1 40.9 4.3 6.2
Técnino (a)/ Auxiliar de enfermagem 83.4 16.6 11.1 55.7
Outro (a) profissional de saúde 0.0 100.0 NaN 0.0

S080 - Durante o pré-natal de (nome) foi realizado teste∕ exame para sífilis?

table = svyby(~S115, ~S080 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 42.3 57.7 4.2 3.0
Não 54.7 45.3 7.4 8.9
Não sabe/Não lembra 43.0 57.0 11.0 8.3

S116 - Nesta gravidez, entrou em trabalho de parto?

table = svyby(~S115, ~S116 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 0 100 NaN 0
Não 0 100 NaN 0

S118 - Quantas semanas de gravidez tinha no momento do parto?

table = svyby(~S115, ~S118 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Respondeu o número de semanas 42.0 58.0 3.8 2.8
Não sabe/Não lembra 76.4 23.6 4.6 14.8

S125 - Teve alguma complicação durante o parto?

table = svyby(~S115, ~S125 , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Sim 40.8 59.2 9.1 6.3
Não 44.8 55.2 3.8 3.0

IMC

pns2019$variables$IMC = ifelse(pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) < 16.5, 'Peso severamente abaixo do normal',
                                ifelse(pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) >= 16.5 & pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) < 18.5, 'Peso abaixo do normal',
                                ifelse(pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) >= 18.5 & pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) < 24.99, 'Normal',
                                ifelse(pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) >= 25 & pns2019$variables$W00103/((pns2019$variables$W00203/100)^2) < 29.99, 'Pré-obeso',
                                       "Obesidade"))))
table = svyby(~S115, ~IMC , subset(pns2019,!is.na(S068)), na.rm=TRUE, FUN=svymean, vartype="cv")
table[,2:ncol(table)] = round(100*table[,2:ncol(table)], 1) 
kbl(table[,2:ncol(table)], booktabs = T) %>%
    kable_styling(latex_options = "striped")
S115Parto normal/vaginal S115Cesariana cv.S115Parto normal/vaginal cv.S115Cesariana
Normal 50.0 50.0 19.6 19.6
Obesidade 44.5 55.5 19.7 15.8
Peso abaixo do normal 71.9 28.1 31.3 80.2
Pré-obeso 31.9 68.1 26.2 12.3

Aborto espontâneo

A pergunta sobre aborto espontâneo não está na PNS 2019, apenas na edição de 2013

Agregações

Criar um índice de saúde ou usar as variáveis individuais(IMC, diabetes, pressão alta)