Skip to contents

O pacote csapAIH foi criado para facilitar a distribuição da função csapAIH(), então sua única função, para a classificação de códigos da Classificação Internacional de Doenças – 10ª Revisão (CID-10) segundo a Lista Brasileira de Condições Sensíveis à Atenção Primária, publicada em Portaria Ministerial em 2008(Brasil. Ministério da Saúde. Secretaria de Atenção à Saúde 2008). A função classifica qualquer vetor com códigos da CID-10, mas é particularmente voltada ao trabalho com os arquivos “RD*.DBC” das Bases de Dados do Sistema de Informação em Saúde (BD-SIH/SUS), com argumentos facilitando a extração e manejo dos dados nesse sentido.(Nedel 2017)

A construção da lista brasileira foi relatada em artigo científico.(Alfradique et al. 2009) Entretanto, a lista publicada na Portaria Ministerial(Brasil. Ministério da Saúde. Secretaria de Atenção à Saúde 2008) difere do artigo pelo agrupamento dos dois primeiros grupos (1. Doenças imunizáveis e 2. Condições evitáveis). Há então duas versões da lista, a da Portaria Ministerial, com 19 grupos, e a que desmembra o primeiro grupo em dois, totalizando então 20 grupos (Tabela). Não há diferença nos códigos considerados. A versão com o desdobramento do primeiro grupo da Portaria e, consequentemente, com 20 grupos ao final, é a recomendada pela Organização Panamericana da Saúde (OPAS).(Organización Panamericana de la Salud (OPS) 2014)

A função csapAIH() permite a classificação segundo as duas versões, definidas pelo argumento “lista”. Esse argumento aparece em desenhaCSAP() para desenhar o gráfico adequado. As funções tabCSAP() e descreveCSAP() identificam a lista utilizada e portanto não têm o argumento. Os grupos em cada lista podem ser citados pela função nomesgruposCSAP(), em português, espanhol ou inglês.

ms <- nomesgruposCSAP()
artigo <- nomesgruposCSAP(lista = "Alfradique")
cbind(ms = c(ms[1], "-", ms[-1]), artigo) |> 
  kableExtra::kable(col.names = c("Portaria Ministerial", "Alfradique et al."), 
                    caption = "Grupos da Lista Brasileira de ICSAP segundo a fonte de publicação.")
Grupos da Lista Brasileira de ICSAP segundo a fonte de publicação.
Portaria Ministerial Alfradique et al.
1. Prev. vacinação e cond. evitáveis 1. Prev. por vacinação
- 2. Outras cond. evitáveis
2. Gastroenterites 3. Gastroenterites
3. Anemia 4. Anemia
4. Defic. nutricionais 5. Defic. nutricionais
5. Infec. ouvido, nariz e garganta 6. Infec. ouvido, nariz e garganta
6. Pneumonias bacterianas 7. Pneumonias bacterianas
7. Asma 8. Asma
8. Pulmonares 9. Pulmonares
9. Hipertensão 10. Hipertensão
10. Angina 11. Angina
11. Insuf. cardíaca 12. Insuf. cardíaca
12. Cerebrovasculares 13. Cerebrovasculares
13. Diabetes mellitus 14. Diabetes mellitus
14. Epilepsias 15. Epilepsias
15. Infec. urinária 16. Infec. urinária
16. Infec. pele e subcutâneo 17. Infec. pele e subcutâneo
17. D. infl. órgãos pélvicos fem. 18. D. infl. órgãos pélvicos fem.
18. Úlcera gastrointestinal 19. Úlcera gastrointestinal
19. Pré-natal e parto 20. Pré-natal e parto

Os “arquivos da AIH” são disponibilizados pelo DATASUS em arquivos nos formatos DBF, CSV e DBC (arquivo DBF comprimido pelo DATASUS). Arquivos nesses formatos são importados por csapAIH(), sem necessidade de importação prévia do arquivo para leitura dos dados. Para os arquivos em CSV deve-se indicar o separador, se vírgula (“,”) ou ponto-e-vírgula (“;”). Os arquivos DBC são lidos pela função read.dbc::read.dbc().

Para os “arquivos da AIH”, não é necessária outra informação que o path do arquivo, ou o nome do data frame, se for um objeto no espaço de trabalho. A função retorna uma mensagem com o número de registros importados, salva como atributo do banco de dados criado.

csapAIH("../../data-raw/RDRS1801.dbf") 
Importados 60.529 registros.
Excluídos 8.240 (13,6%) registros de procedimentos obstétricos.
Excluídos 366 (0,6%) registros de AIH de longa permanência.
Exportados 51.923 (85,8%) registros.

csapAIH("../../data-raw/RDRS1801.csv", sep = ",")
Importados 60.529 registros.
Excluídos 8.240 (13,6%) registros de procedimentos obstétricos.
Excluídos 366 (0,6%) registros de AIH de longa permanência.
Exportados 51.923 (85,8%) registros.

csapAIH("../../data-raw/RDRS1801.dbc")
Importados 60.529 registros.
Excluídos 8.240 (13,6%) registros de procedimentos obstétricos.
Excluídos 366 (0,6%) registros de AIH de longa permanência.
Exportados 51.923 (85,8%) registros.

Não obstante, os arquivos RD* ocupam muito espaço em disco, apesar da grande compressão do formato DBC, e pode ser preferível baixar o arquivo da internet, fazer o processamento desejado e então apagá-lo.

Tamanho do arquivo segundo o formato disponibilizado.
Arquivo Tamanho (MB)
RDRS1801.dbf 40,5
RDRS1801.csv 35,9
RDRS1801.dbc 4,5

Para esses casos foi criada a função fetchcsap(), um “atalho” para fetchdatasus(), do pacote microdatasus(Saldanha 2019), que baixa os arquivos da AIH no DATASUS e então aplica csapAIH() sobre o banco de dados.

Assim, com uma conexão de internet ativa, podemos conhecer as ICSAP do RS no “mês de competência” jan/2018 com o seguinte comando, que retorna os mesmos resultados vistos acima:

options(width = 120)
fetchcsap(2018, mesfim = 1, periodo = "comp", uf = "RS")

[36mℹ
[39m Discovering available files on DataSUS...

[36mℹ
[39m Preparing to download and read 1 DataSUS file...

[36mℹ
[39m Downloading [1/1] 
[34m
[34mRDRS1801.dbc
[34m
[39m...

[36mℹ
[39m Reading [1/1] 
[34m
[34mRDRS1801.dbc
[34m
[39m...

[32m✔
[39m Downloaded and read 1 of 1 DataSUS file.
Importados 60.529 registros.
Excluídos 8.240 (13,6%) registros de procedimentos obstétricos.
Excluídos 366 (0,6%) registros de AIH de longa permanência.
Exportados 51.923 (85,8%) registros.

O argumento periodo = "comp" garante que o data frame resultante contenha todas as internações do(s) arquivo(s) RD considerados e o período se refira, portanto, ao “mês de competência” (i.e., mês em que foi registrado o faturamento) da internação.

Por padrão, esse argumento é periodo = "interna", o que leva ao download dos arquivos RD de até seis meses após o definido em mesfim e então a seleção dos casos pela data de internação, para retornar um banco apenas com as internações ocorridas no período definido e registradas em até seis meses após a internação.

Veja o resultado com periodo = "interna" (que por ser o padrão é desnecessário no comando):

fetchcsap(2018, mesfim = 1, uf = "RS")

[36mℹ
[39m Discovering available files on DataSUS...

[36mℹ
[39m Preparing to download and read 6 DataSUS files...

[36mℹ
[39m Downloading [1/6] 
[34m
[34mRDRS1801.dbc
[34m
[39m...

[36mℹ
[39m Reading [1/6] 
[34m
[34mRDRS1801.dbc
[34m
[39m...

[36mℹ
[39m Downloading [2/6] 
[34m
[34mRDRS1802.dbc
[34m
[39m...

[36mℹ
[39m Reading [2/6] 
[34m
[34mRDRS1802.dbc
[34m
[39m...

[36mℹ
[39m Downloading [3/6] 
[34m
[34mRDRS1803.dbc
[34m
[39m...

[36mℹ
[39m Reading [3/6] 
[34m
[34mRDRS1803.dbc
[34m
[39m...

[36mℹ
[39m Downloading [4/6] 
[34m
[34mRDRS1804.dbc
[34m
[39m...

[36mℹ
[39m Reading [4/6] 
[34m
[34mRDRS1804.dbc
[34m
[39m...

[36mℹ
[39m Downloading [5/6] 
[34m
[34mRDRS1805.dbc
[34m
[39m...

[36mℹ
[39m Reading [5/6] 
[34m
[34mRDRS1805.dbc
[34m
[39m...

[36mℹ
[39m Downloading [6/6] 
[34m
[34mRDRS1806.dbc
[34m
[39m...

[36mℹ
[39m Reading [6/6] 
[34m
[34mRDRS1806.dbc
[34m
[39m...

[32m✔
[39m Downloaded and read 6 of 6 DataSUS files.
Importados 62.748 registros.
Excluídos 8.667 (13,8%) registros de procedimentos obstétricos.
Excluídos 324 (0,5%) registros de AIH de longa permanência.
Exportados 53.757 (85,7%) registros.

O pacote healthbR(Bissoli 2025) é uma nova alternativa para download de dados do SIH/SUS (entre outros). Abaixo é exemplificado seu uso com csapAIH() para jan/2025.

healthbR::sih_data(2025, 1, uf = "RS") |> 
  csapAIH() |> 
  pull(data.inter) |> 
  summary()

[1m
[22m
[36mℹ
[39m Package 
[34marrow
[39m is not installed; using DATASUS directly.

[36mℹ
[39m Install 
[34marrow
[39m to enable the (faster) R2 backend.

[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/01...
Importados 66.998 registros.

Excluídos 6.591 (9,8%) registros de procedimentos obstétricos.

Excluídos 378 (0,6%) registros de AIH de longa permanência.

Exportados 60.029 (89,6%) registros.

healthbR::sih_data(2025, 1:6, uf = "RS") |> 
  filter(DT_INTER >= "2025-01-01", DT_INTER <= "2025-01-31") |>
  csapAIH() |> 
  pull(data.inter) |> 
  summary()

[1m
[22m
[36mℹ
[39m Package 
[34marrow
[39m is not installed; using DATASUS directly.

[36mℹ
[39m Install 
[34marrow
[39m to enable the (faster) R2 backend.

[1m
[22m
[36mℹ
[39m Downloading 6 file(s) (1 UF(s) x 1 year(s) x 6 month(s))...

[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/01...
⠙ Downloading [1/6] 
[32m■■■■■■                          
[39m | ETA:  1m


[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/02...
⠹ Downloading [2/6] 
[32m■■■■■■■■■■■                     
[39m | ETA:  1m


[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/03...
⠸ Downloading [3/6] 
[32m■■■■■■■■■■■■■■■■                
[39m | ETA:  1m


[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/04...
⠼ Downloading [4/6] 
[32m■■■■■■■■■■■■■■■■■■■■■           
[39m | ETA: 37s


[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/05...
⠴ Downloading [5/6] 
[32m■■■■■■■■■■■■■■■■■■■■■■■■■■      
[39m | ETA: 20s


[1m
[22m
[36mℹ
[39m Downloading SIH data: RS 2025/06...
⠴ Downloading [6/6] 
[32m■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 
[39m | ETA:  0s

Importados 69.018 registros.

Excluídos 6.807 (9,9%) registros de procedimentos obstétricos.

Excluídos 437 (0,6%) registros de AIH de longa permanência.

Exportados 61.774 (89,5%) registros.

Referências

Alfradique, Maria Elmira, Palmira de Fátima Bonolo, Inês Dourado, et al. 2009. Internações por condições sensíveis à atenção primária: a construção da lista brasileira como ferramenta para medir o desempenho do sistema de saúde (Projeto ICSAP - Brasil).” Cadernos de Saúde Pública 25 (6): 1337–49. https://doi.org/10.1590/S0102-311X2009000600016.
Bissoli, Sidney. 2025. healthbR: Access Brazilian Public Health Data. https://github.com/SidneyBissoli/healthbR.
Brasil. Ministério da Saúde. Secretaria de Atenção à Saúde. 2008. Portaria Nº 221, de 17 de abril de 2008. Ministério da Saúde. https://bvsms.saude.gov.br/bvs/saudelegis/sas/2008/prt0221_17_04_2008.html.
Nedel, Fúlvio Borges. 2017. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R.” Epidemiologia e Serviços de Saúde 26 (01): 199–209. https://doi.org/10.5123/S1679-49742017000100021.
Organización Panamericana de la Salud (OPS). 2014. Compendio de indicadores del impacto y resultados intermedios. Plan estratégico de la OPS 2014-2019: "En pro de la salud: Desarrollo sostenible y equidad". Edited by OPS. Washington. https://www.paho.org/hq/dmdocuments/2016/ops-pe-14-19-compendium-indicadores-nov-2014.pdf.
Saldanha, Raphael de Freitas. 2019. Microdatasus: Download and Preprocess DataSUS Files. https://github.com/rfsaldanha/microdatasus.