Pacote csapAIH: a Lista Brasileira de Internações por Condições Sensíveis à Atenção Primária no programa R

Paquete csapAIH: la Lista Brasileña de Condiciones Sensibles a la Atención Primaria en el programa R

Fúlvio Borges Nedel Sobre o autor

Resumo

Objetivo:

apresentar a versão 0.0.3 do pacote csapAIH para automatizar a classificação e descrição das Condições Sensíveis à Atenção Primária (CSAP) segundo a Lista Brasileira de CSAP.

Métodos:

a função csapAIH foi modificada e foram criadas funções para listagem, tabulação e gráficos dos grupos de causa.

Resultados:

a função csapAIH agora lê arquivos comprimidos no formato DBC; nomesgruposCSAP lista os grupos de causa; descreveCSAP apresenta uma tabela com a frequência absoluta dos grupos de causa e a frequência relativa quanto ao total de internações e ao total de CSAP; desenhaCSAP cria um gráfico de barras horizontais com os grupos de causa.

Conclusão:

o pacote csapAIH permite a leitura de arquivos na extensão .dbc e tem funções para gerar tabelas e gráficos dos grupos de causa, facilitando a análise e apresentação de resultados de pesquisas e a construção de relatórios de monitoramento das CSAP segundo a Lista Brasileira.

Palavras-chave:
Hospitalização; Atenção Primária à Saúde; Pesquisa sobre Serviços de Saúde; Sistemas de Informação em Saúde; Processamento Automatizado de Dados

Resumen

Objetivo:

presentar la versión 0.0.3 del paquete csapAIH, para automatizar la clasificación y la descripción de las Condiciones Sensibles a la Atención Primaria (CSAP) según la Lista Brasileña de CSAP.

Métodos:

la función csapAIH fue modificada y se crearon funciones para el listado, tabulación y gráfico de los grupos de causa.

Resultados:

la función csapAIH ahora lee ficheros comprimidos (.DBC) del Ministerio de Salud de Brasil; nombresgruposCSAP lista los grupos de causa; describeCSAP presenta una tabla con la frecuencia absoluta de los grupos de causa y relativa cuanto al total de ingresos y de CSAP; diseñaCSAP diseña un gráfico de barras horizontales con los grupos de causa.

Conclusión:

el paquete csapAIH actualmente permite la lectura de ficheros .DBC, y tiene funciones para diseñar tablas y gráficas de los grupos de causa, facilitando el análisis y la presentación de resultados de investigación y de informes periódicos de las CSAP según la Lista Brasileña.

Palabras clave:
Hospitalización; Atención Primaria de Salud; Investigación sobre Servicios de Salud; Sistemas de Información en Salud; Procesamiento Automatizado de Datos

Introdução

A evolução da informática e a filosofia do ‘código aberto’ - programas de uso, difusão e modificação livres - disponibilizam ferramentas poderosas e de muito baixo custo para o manejo e análise estatística de dados. No Brasil, também é possível o acesso às bases de dados de diferentes sistemas de informações em saúde do Sistema Único de Saúde (SUS), além de ferramentas de tabulação criadas pelo Departamento de Informática do SUS (Datasus) especialmente para seu manejo, como o TABNET e o TabWin.11. Ministério da Saúde [BR]. Departamento de Informática do SUS - Datasus. Tab para Windows - TabWin [Internet]. Brasília: Ministério da Saúde; 2010 [citado 2019 maio 7]. Disponível em: Disponível em: http://datasus.saude.gov.br/apresentacao
http://datasus.saude.gov.br/apresentacao...
Essa conjuntura facilita o cálculo e o monitoramento de indicadores pelas Secretarias de Saúde, bem como a realização de pesquisas por estudantes de graduação e pós-graduação.

O R,22. R Core Team. R: a language and environment for statistical computing [Internet]. Vienna, Austria: R Foundation for Statistical Computing; 2018 [cites 2019 May 7]. Disponível em: Disponível em: https://www.R-project.org/
https://www.R-project.org/...
programa de código aberto para o manejo e análise estatística de dados, com seus diversos ‘pacotes’ - conjunto de funções para a execução de comandos -, permite a leitura de bases de dados e a produção de relatórios e artigos com a análise desses dados, em diversos formatos de publicação (apresentações em PDF, HTML e outros formatos; ou documentos em PDF, HTML, DOCX e outros formatos). O R é um programa de aprendizagem gradual, pelas características de sua linguagem voltada ao trabalho em linha de comando, e pela interface básica, pouco amigável e de recursos limitados. Apesar disso, mediante interfaces como RStudio33. RStudio Team. RStudio: integrated development environment for R [Internet]. Boston, MA: RStudio; 2015 [citado 2019 May 7]. Disponível em: Disponível em: http://www.rstudio.com/
http://www.rstudio.com/...
e R Commander,44. Fox J. The R commander: a basic statistics graphical user interface to R. J Stat Softw [Internet]. 2005 Sep [citado 2019 May 7];14(i09):1-42. Disponível em: Disponível em: https://www.jstatsoft.org/article/view/v014i09 . doi: 10.18637/jss.v014.i09
https://www.jstatsoft.org/article/view/v...
,55. Moriña D, Utzet M, Nedel FB, Martín M, Navarro A. Introducción a la estadística con R-Commander para las ciencias de la salud. Cerdanyola del Vallès: Universitat Autònoma de Barcelona; 2016. entre outros programas, é bastante fácil gerar relatórios automáticos pelo R, a partir de um arquivo de comandos pré-elaborado.

A criação de ferramentas que facilitem esse processo pode ser útil tanto para a pesquisa em saúde quanto para o monitoramento de indicadores pelas Secretarias de Saúde dos municípios e estados brasileiros.66. Rocha TAH, Silva NC, Amaral PVM, Barbosa ACQ, Vissoci JRN, Thomaz EBAF, et al. Geolocalização de internações cadastradas no Sistema de Informações Hospitalares do Sistema Único de Saúde: uma solução baseada no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2018 [citado 2019 maio 7];27(4):e2017444. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v27n4/2237-9622-ress-27-04-e2017444.pdf . doi: 10.5123/s1679-49742018000400016
http://www.scielo.br/pdf/ress/v27n4/2237...
Há alguns pacotes do R nesse sentido, como o read.dbc77. Petruzalek D. Read.dbc: read data stored in dbc (compressed dbf) files [Internet]. 2016 [citado 2019 May 7]. Disponível em: Disponível em: https://CRAN.R-project.org/package=read.dbc
https://CRAN.R-project.org/package=read....
,88. Petruzalek D. READ. DBC: um pacote para importação de dados do datasus na linguagem R. In: Anais do XV Congresso Brasileiro de Informática em Saúde [Internet]; 2016 nov 27-30; Goiânia, Brasil. Goiânia: J Health Inform; 2016 [citado 2019 maio 7] Disponível em: Disponível em: http://www.sbis.org.br/biblioteca_virtual/cbis/Anais_CBIS_2016_Artigos_Completos.pdf
http://www.sbis.org.br/biblioteca_virtua...
para leitura de bases de dados comprimidas em formato .DBC pelo Datasus; os homônimos datasus99. Petruzalek D. Datasus: an interface for the Brazilian public healthcare datasets (Datasus) [Internet]. 2016 [citado 2019 May 7]. Disponível em: Disponível em: https://rdrr.io/github/danicat/datasus/
https://rdrr.io/github/danicat/datasus/...
,1010. Prado Siqueira R. Datasus: an interface to datasus system [Internet]. 2017 [citado 2019 May 7]. Disponível em: Disponível em: https://CRAN.R-project.org/package=datasus
https://CRAN.R-project.org/package=datas...
e o microdatasus,1111. Freitas Saldanha R. Microdatasus: download and preprocess datasus files [Internet]. 2019 [citado 2019 May 7]. Disponível em: Disponível em: https://github.com/rfsaldanha/microdatasus
https://github.com/rfsaldanha/microdatas...
para o download de arquivos com bases de dados de alguns sistemas de informações brasileiros; e o csapAIH,1212. Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2016 [citado 2019 maio 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/v0.0.1/csapAIH-manual.pdf
https://sourceforge.net/projects/csapAIH...
para a classificação das Condições Sensíveis à Atenção Primária (CSAP) segundo a Lista Brasileira de CSAP.1313. Brasil. Ministério da Saúde. Portaria MS/GM nº 221, de 17 de abril de 2008. Publica, na forma do anexo desta portaria, a lista brasileira de internações por condições sensíveis à atenção primária [Internet]. Diário Oficial da União, Brasília (DF), 2008 abr 18 [citado 2019 maio 7]; Seção 1:70. Disponível em: Disponível em: http://bvsms.saude.gov.br/bvs/saudelegis/sas/2008/prt0221_17_04_2008.html
http://bvsms.saude.gov.br/bvs/saudelegis...

As CSAP são um indicador indireto da efetividade da Atenção Primária à Saúde (APS), medido pelas hospitalizações por condições de saúde que não evoluiriam a ponto de exigir a internação se a APS funcionasse sem falhas.1414. Caminal Homar J, Casanova Matutano C. La evaluación de la atención primaria y las hospitalizaciones por ambulatory care sensitive conditions. Marco conceptual. Aten Prim [Internet]. 2003 jan [citado 2019 maio 7];31(1):61-5. Disponível em: Disponível em: https://www.elsevier.es/es-revista-atencion-primaria-27-articulo-la-evaluacion-atencion-primaria-las-13042583
https://www.elsevier.es/es-revista-atenc...

15. Ansari Z. The concept and usefulness of ambulatory care sensitive conditions as indicators of quality and access to primary health care. Aust J Prim Health [Internet]. 2007 Dec [citado 2019 May 7];13(3):91-110. Disponível em: Disponível em: https://www.publish.csiro.au/PY/PY07043 . doi: 10.1071/PY07043
https://www.publish.csiro.au/PY/PY07043...
-1616. Nedel FB, Facchini LA, Bastos JL, Martín-Mateo M. Conceptual and methodological aspects in the study of hospitalizations for ambulatory care sensitive conditions. Ciênc Saúde Coletiva [Internet]. 2011 [citado 2019 May 7];16(Suppl 1):1145-54. Disponível em: Disponível em: http://www.scielo.br/pdf/csc/v16s1/a46v16s1.pdf . doi: 10.1590/S1413-81232011000700046
http://www.scielo.br/pdf/csc/v16s1/a46v1...
A Lista Brasileira de Internações por Condições Sensíveis à Atenção Primária não pode ser tabulada pelo TABNET, salvo algumas exceções como o TABNET da Secretaria de Estado da Saúde de Santa Catarina (SES/SC), e apenas para os arquivos da Autorização de Internação Hospitalar (AIH) pelo SUS naquele estado; o TabWin, entretanto, já apresenta as CSAP entre suas opções preestabelecidas de tabulação. Com a finalidade de, além da tabulação dos casos ocorridos em uma região determinada, classificar cada internação segundo os grupos de CSAP, permitindo trabalhar essa informação como uma variável na base de dados de internação, foi criado em 2016 o pacote em R csapAIH, com uma única função de mesmo nome.1212. Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2016 [citado 2019 maio 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/v0.0.1/csapAIH-manual.pdf
https://sourceforge.net/projects/csapAIH...
,1717. Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf . doi: 10.5123/s1679-49742017000100021
http://www.scielo.br/pdf/ress/v26n1/2237...
Desde então, foram realizadas mudanças para otimizar o trabalho com os arquivos da AIH e gerar tabelas e gráficos da distribuição por grupos de CSAP, facilitando a publicação de resultados de pesquisa e relatórios sobre o indicador.

Este artigo teve como objetivo apresentar a versão 0.0.3 do pacote csapAIH, seu modo de instalação e uso, e exemplos das novas funcionalidades.

Métodos

Os registros de AIH utilizados neste artigo são os das internações ocorridas nos hospitais do Rio Grande do Sul e faturadas (mês de referência) em janeiro de 2018, armazenados no arquivo RDRS1801.DBC, que contém 60.529 registros e 113 variáveis. O arquivo pode ser baixado do sítio eletrônico do Datasus e lido pelo programa R mediante os seguintes comandos:

# install.packages("read.dbc") # instala o pacote read.dbc

download.file(url="ftp://ftp.datasus.gov.br/dissemin/publicos/SIHSUS/200801_/Dados/RDRS1801.dbc", destfile = "RDRS1801.dbc")

aih <- read.dbc::read.dbc("RDRS1801.dbc")

O desenvolvimento do pacote csapAIH tem por premissas:1717. Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf . doi: 10.5123/s1679-49742017000100021
http://www.scielo.br/pdf/ress/v26n1/2237...

  1. seu foco principal é o manejo dos arquivos reduzidos da AIH (RD??????.DBC); portanto, o comportamento-padrão de suas funções presume trabalhar com esses bancos de dados; porém, o usuário pode estar interessado em analisar outras bases de dados ou, simplesmente, tabular uma série de diagnósticos; nesse sentido, o pacote permite a classificação de qualquer lista de códigos da Décima Revisão da Classificação Estatística Internacional de Doenças e Problemas Relacionados com a Saúde (CID-10);

  2. por padrão, o pacote exclui as internações obstétricas atribuídas a eventos como parto e abortamento e AIHs de longa permanência - embora permita o contrário;

  3. o banco de dados resultante da classificação das internações deve conter uma seleção, não demasiado extensa, de variáveis sobre o paciente e sua internação, uma vez que sempre é possível acionar a função csapAIH para adicionar ao banco de dados uma variável com a classificação CSAP da internação.

A seguir, é apresentada a situação atual do pacote, com as modificações realizadas a partir da versão 0.0.1;1717. Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf . doi: 10.5123/s1679-49742017000100021
http://www.scielo.br/pdf/ress/v26n1/2237...
a versão 0.0.2, lançada em fevereiro de 2018, não foi publicada pela literatura científica. O foco deste artigo se encontra na utilização do pacote, especialmente para o trabalho com os arquivos da AIH. Detalhes sobre as funções e modificações no código podem ser consultados no manual do pacote,1818. Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2019 [citado 2019 May 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/csapAIH_0.0.3.pdf/download
https://sourceforge.net/projects/csapAIH...
além da inspeção dos scripts das funções.

Modificações realizadas

Na função csapAIH:

  1. através do pacote read.dbc77. Petruzalek D. Read.dbc: read data stored in dbc (compressed dbf) files [Internet]. 2016 [citado 2019 May 7]. Disponível em: Disponível em: https://CRAN.R-project.org/package=read.dbc
    https://CRAN.R-project.org/package=read....
    ,88. Petruzalek D. READ. DBC: um pacote para importação de dados do datasus na linguagem R. In: Anais do XV Congresso Brasileiro de Informática em Saúde [Internet]; 2016 nov 27-30; Goiânia, Brasil. Goiânia: J Health Inform; 2016 [citado 2019 maio 7] Disponível em: Disponível em: http://www.sbis.org.br/biblioteca_virtual/cbis/Anais_CBIS_2016_Artigos_Completos.pdf
    http://www.sbis.org.br/biblioteca_virtua...
    a função agora identifica e lê arquivos da AIH em formato comprimido (RD??????.DBC);

  2. foi criado o argumento lógico parto.rm (cujo padrão é “TRUE”) para remoção dos registros com diagnóstico principal de parto (CID-10: códigos O80 a O84), independentemente do procedimento realizado; o argumento foi adicionado porque há um pequeno número de casos (no banco de exemplo, 0,02% das internações após a exclusão dos procedimentos obstétricos) com diagnóstico principal da internação como parto mas com registro de procedimento diferente dos selecionados para exclusão por procobst.rm = TRUE, razão pela qual esses casos permaneciam na base mesmo quando excluídos os procedimentos obstétricos;

  3. a informação sobre o número de registros no banco de dados de origem e o número de internações de longa permanência ou por procedimento obstétrico excluídas agora é guardada, como atributo da base de dados resultante; isto permite sua recuperação em relatórios automatizados e a soma dos valores resultantes da leitura de mais de um arquivo reduzido da AIH (arquivo RD, que contém registros mensais das AIHs); e

  4. outras modificações realizadas no código, de menor interesse para o usuário final, portanto fora do escopo deste artigo.

Novas funções do pacote csapAIH são apresentadas a seguir:

descreveCSAP

Esta função tabula um vetor da classe “factor” ou “character”, presente como objeto no espaço de trabalho ou como variável em um banco de dados com os grupos de CSAP; ela gera uma tabela com a frequência absoluta de internações por grupos de causa e as porcentagens sobre o total de internações e sobre o total de CSAP. Os grupos de CSAP são apresentados com nomes abreviados; e os valores, com um ponto ( . ) como separador de milhar e a vírgula ( , ) como separador decimal, consoante as normas latinas. A função tem dois argumentos. O primeiro argumento (grupos) é obrigatório e serve para indicar a variável com os grupos da Lista Brasileira de CSAP, rotulados na mesma forma que os resultantes da função csapAIH: g01, g02, … , g19. Se, em um banco de dados, esse vetor for uma variável chamada ‘grupos’, o usuário pode indicar tanto a variável como o banco de dados. O segundo argumento (digits) serve para definir o número de decimais nas porcentagens apresentadas (por padrão, digits = 2).

desenhaCSAP

Esta função gera um gráfico da frequência absoluta ou relativa de internações por grupo de CSAP. Seu primeiro argumento, dados, é obrigatório e pode ser (i) um banco de dados gerado pela função csapAIH, (ii) uma variável com os grupos de causa ordenados segundo a Lista Brasileira de CSAP, ou (iii) uma tabela com a frequência dos grupos de causa. Se ggplot22. R Core Team. R: a language and environment for statistical computing [Internet]. Vienna, Austria: R Foundation for Statistical Computing; 2018 [cites 2019 May 7]. Disponível em: Disponível em: https://www.R-project.org/
https://www.R-project.org/...
estiver instalado no sistema, será usado por padrão; se não, ou se o argumento tipo.graf for definido como = “base”, será gerado um gráfico do número absoluto de casos (independentemente do argumento contagem) com as funções básicas do R. O argumento título facilita a definição de um título: pode ser um texto digitado pelo usuário ou “auto” (de automatico), o que torna obrigatório o argumento onde e gera um título a partir da combinação (i) de um texto predefinido (‘Hospitalização por Condições Sensíveis à Atenção Primária’), (ii) do texto indicado em ‘onde’ e (iii) do mês de referência das AIHs, identificado pelo nome do arquivo. Esta última parte do título automático pode ser modificada pelo argumento quando. Os demais argumentos definem o layout do gráfico; alguns aplicam-se apenas a gráficos gerados por tipo.graf = ggplot; limsup define a largura do eixo x, o que pode ser útil para visualizar as porcentagens apresentadas sobre as barras, nos gráficos desse tipo, ou para incluir texto adicional no gráfico.

idadeSUS

Esta função calcula a idade do paciente na internação, a partir dos campos IDADE e COD_IDADE da AIH. É o mesmo script usado em csapAIH na versão 0.0.1 do pacote,1717. Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf . doi: 10.5123/s1679-49742017000100021
http://www.scielo.br/pdf/ress/v26n1/2237...
agora extraído para uma função isolada, conforme explicado anteriormente. Ela é útil quando se propõe a analisar a idade nos arquivos da AIH, sem a necessidade de classificar as CSAP. Seu único argumento (x) espera o nome do banco de dados (um objeto da classe “data.frame” no espaço de trabalho do R) com as variáveis IDADE e COD_IDADE, da mesma forma que nos arquivos da AIH, qual seja: IDADE contendo o tempo de vida do indivíduo, na unidade de tempo definida por COD_IDADE.

nomesgruposCSAP

Esta função, sem argumentos, gera um vetor com os nomes dos grupos de CSAP. É útil para a rotulação em tabelas e gráficos criados pelo usuário, além dos gerados pelas citadas funções.

Mais informações sobre as funções são encontradas no manual do pacote.1818. Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2019 [citado 2019 May 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/csapAIH_0.0.3.pdf/download
https://sourceforge.net/projects/csapAIH...

Instalação do pacote

Embora passe por um teste de erros (devtools::check)) sem erros, avisos ou notas, o pacote csapAIH não passa por todos os testes para submissão à CRAN, o repositório oficial do R. Todavia, ele pode ser encontrado e instalado a partir de seus repositórios nas plataformas GitHub (https://github.com/fulvionedel/csapAIH) e SourceForge (https://sourceforge.net/p/csapAIH/).

A última versão do pacote pode ser instalada de dois modos diferentes:

  1. a) a partir de arquivos locais, pelo menu de instalação de pacotes do R (ou RStudio, etc.), uma vez feito o download do arquivo de instalação (csapAIH_0.0.3.tar.gz para os sistemas operacionais Linux e Macintosh; csapAIH_0.0.3.zip para Windows) a partir do endereço https://sourceforge.net/projects/csapAIH/files/; ou

  2. b) pelo console do R, a partir dos repositórios na internet:

  3. install.packages("https://sourceforge.net/projects/csapaih/files/csapAIH-v.0.0.3.tar.gz/down load", type = "source", repos = NULL) # para Linux e Mac

  4. # ou

  5. install.packages("https://sourceforge.net/projects/csapaih/files/csapAIH-v.0.0.3.zip/downlo ad", type = "source", repos = NULL) # para Windows

A versão de desenvolvimento pode ser instalada de seu repositório no GitHub, por meio do pacote devtools:

install.packages("devtools") # instala o pacote devtools

devtools::install_github("fulvionedel/csapAIH") # instala o pacote csapAIH

Os arquivos reduzidos da AIH (RD*.dbc) não permitem a identificação do paciente e são disponibilizados ao público no portal do Datasus, em ‘Transferência de Arquivos >> SIHSUS’,1919. Ministério da Saúde (BR). Departamento de Informática do SUS - Datasus. Transferência de arquivos [Internet]. Brasília: Ministério da Saúde; 2018 [citado 2019 maio 7]. Disponível em: Disponível em: http://www2.datasus.gov.br/DATASUS/index.php?area=0901&item=1&acao=25
http://www2.datasus.gov.br/DATASUS/index...
ou em seu repositório ftp, como se viu anteriormente, nos comandos do programa R. No banco de dados de exemplo que acompanha o pacote, o número da AIH foi substituído pelo número de ordem do registro na base de dados de amostra.

O pacote é distribuído sob a licença GPLv3 (General Public License, version 3/Projeto GNU), o que permite seu uso, distribuição e modificação desde que se mantenha de código aberto. Seu repositório no GitHub (https://github.com/fulvionedel/csapAIH) é público. Contribuições são bem-vindas.

Resultados

O arquivo usado como exemplo contém 60.529 internações realizadas pelo SUS nos hospitais do estado do Rio Grande do Sul e faturadas em janeiro de 2018. Dessas, 10.864 foram por CSAP, representando 21% das internações, excluídos os partos e procedimentos obstétricos. No total de internações, o sexo feminino aparece com frequência 28% maior que a do sexo masculino, enquanto para as CSAP, a relação se inverte: as mulheres aparecem em proporção 3% menor que os homens. A média de idade entre as internações por CSAP (53,8 anos) é sete anos maior que entre as demais (46,7 anos) causas, excluídas as internações obstétricas. Das cinco principais causas de internação por CSAP, quatro são crônicas. A distribuição das CSAP por grupos de causa pode ser vista nas tabelas e gráficos das Figuras 1 a 5.

Figura 1
- Internações por Condições Sensíveis à Atenção Primária, tabela em aspecto “bruto”, tal como apresentada no console, Rio Grande do Sul, mês de competência 01/2018

Figura 2
- Internações por Condições Sensíveis à Atenção Primária, aplicação da função kable sobre a tabela “bruta” (apresentada na Figura 1), em relatório gerado no formato HTML, Rio Grande do Sul, mês de competência 01/2018

Figura 3
- Internações por Condições Sensíveis à Atenção Primária, tabela no arquivo na extensão .docx após “copiar e colar” de um documento no formato HTML (ver Figura 2), Rio Grande do Sul, mês de competência 01/2018

Figura 4
- Gráfico gerado pela função desenhaCSAP, segundo a opção (função ggplot; ou “base”) no argumento tipo.graf

Figura 5
- Exemplo do resultado de aplicação da função facet_grid para a apresentação de gráfico das CSAP por estratos de outro fator no banco de dados

Como agora a função csapAIH reconhece e lê os arquivos DBC do Datasus, o passo que realizamos anteriormente para a leitura do arquivo da AIH (aih <- read.dbc::read.dbc(“RDRS1801.dbc”)) pode ser abreviado, lendo o arquivo de dados e classificando as CSAP com um só comando: csap <- csapAIH(“RDRS1801.dbc”), da mesma forma que se o arquivo de dados estiver no diretório de trabalho:

csap <- csapAIH(“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.

O número de registros manipulados em cada etapa da importação dos dados é apresentado em tela, durante o processo de leitura de dados, e pode ser recuperado chamando-se o atributo ‘resumo’:

attributes(csap)$resumo

acao freq perc objeto

1 Importados 60529 100 registros.

2 Excluídos 8240 13.6 registros de procedimentos obstétricos.

3 Excluídos 366 0.6 registros de AIH de longa permanência.

4 Exportados 51923 85.8 registros.

class(attributes(csap)$resumo)

[1] “data.frame”

csaptudo <- csapAIH(“RDRS1801.dbc”, procobst.rm = FALSE, parto.rm = FALSE, longa.rm = FALSE)

Importados 60.529 registros.

Exportados 60.529 (100%) registros.

attr(csaptudo, which = “resumo”) # outra forma de ler os atributos

acao freq perc objeto

1 Importados 60529 100 registros.

2 Exportados 60529 100 registros.

Na mensagem de retorno da leitura de dados, os números são formatados com separador de milhar como ponto ( . ) e separador decimal como vírgula ( , ), embora, nos atributos, sejam guardados em formato numérico, com decimal como ponto, permitindo operações matemáticas.

A função descreveCSAP retorna uma tabela com as frequências absolutas e relativas das internações por grupo de causa. O comando para a apresentação “bruta” dos resultados é simples e, por intermédio de funções como xtable, kable ou pander, a tabela pode ser preparada para publicação. O parágrafo seguinte apresenta os comandos para gerar a tabela “bruta” e uma tabela mais elaborada, passível de ser apresentada em um documento HTML ou exportada para um documento Word. As Figuras 1 e 2 apresentam as diferenças gráficas entre esses resultados, enquanto a Figura 3 mostra a forma como que se vê o resultado de “copiar e colar” a tabela de um documento HTML em um documento .docx (no caso, no programa LibreOffice).

descreveCSAP(csap) # gera a tabela “bruta”

knitr::kable(descreveCSAP(csap), align = 'r', caption = “Internações por Condições Sensíveis à Atenção Primária. Rio Grande do Sul, mês de competência 01/2018.”) # gera uma tabela para impressão

A função desenhaCSAP desenha, por padrão, um gráfico de barras horizontais com a porcentagem de casos por grupo de causa, em ordem decrescente. Se o pacote ggplot2 estiver instalado, será usado para criar o gráfico; se não, ou se o argumento tipo.graf for definido como “base”, desenha-se um gráfico da contagem de casos com as funções básicas (Figura 4).

library(ggplot2)

library(grid)

desenhaCSAP(csap, titulo = “auto”, onde = “RS”, colorir = “cinza”,

y.size = 10, limsup = .14)

desenhaCSAP(csap, titulo = “auto”, onde = “RS”, colorir = “cinza”,

tipo.graf = “base”, cex.main=.8, cex.names=.8, xlab = “Casos”,

font.lab = 2, adj = 1)

Com o ggplot2 instalado, pode-se estratificar o gráfico por outras variáveis do banco. Por exemplo, o comando desenhaCSAP(csap) + facet_grid(~sexo) gera uma figura sem título, com um gráfico para cada sexo, possível de ser salva em formato vetorial (necessário para algumas publicações) pelos menus do RStudio. Mantendo-se o argumento ordenar = TRUE, as barras dos gráficos de cada estrato são ordenadas pela frequência global. O output apresenta, ademais, um efeito colateral do argumento limsup (mensagem de sobreposição de escalas no eixo do gráfico):

desenhaCSAP(csap, titulo = “auto”, onde = “RS”, y.size = 10, limsup = .2, colorir = “cinza”) +

facet_wrap(~ munres == “431490”, labeller = as_labeller(c("FALSE" = "Interior", "TRUE" = “Capital”))) +

labs(caption = “Distribuição percentual segundo a residência no interior ou capital do estado.”)

Scale for 'y' is already present. Adding another scale for 'y', which will replace the existing scale.

A função idadeSUS não precisa ser usada pelo usuário no trabalho com CSAP, porque é invocada pela função csapAIH para criar as variáveis de idade no banco de dados resultante; porém, ela é útil quando se trabalha com os arquivos da AIH sem interesse em tabular CSAP. Por exemplo, para saber rapidamente que a média de idade das internações no Rio Grande do Sul com mês de faturamento em janeiro de 2018 foi de 45,2 anos (e não 45,3), pode-se escrever o seguinte comando:

mean(idadeSUS(read.dbc::read.dbc("RDRS1801.dbc"))[,1])

[1] 45.1962

A simples leitura do campo IDADE, sem considerar COD_IDADE, daria a seguinte informação:

mean(read.dbc::read.dbc(“RDRS1801.dbc”)$IDADE)

[1] 45.3023

Se há interesse em análises detalhadas, é melhor unir idade e faixas etárias como variáveis no banco de dados:

banco <- read.dbc::read.dbc("RDRS1801.dbc")

113 variáveis no banco:

UF_ZI, ..., TPDISEC9

banco <- cbind(banco, idadeSUS(banco))

116 variáveis no banco:

UF_ZI, ..., TPDISEC9, idade, fxetar.det, fxetar5

A função nomesgruposCSAP também tem menor importância de modo isolado; contudo, pode ser útil para rotular tabelas e gráficos que não foram criados pelas funções descreveCSAP ou desenhaCSAP:

# a função csapAIH sobre um vetor com cinco códigos da CID-10

csap <- csapAIH(as.factor(c("A01", "B19", "C10", "D42", "E11")))

table(droplevels(csap$grupo))

g02 g13 não-CSAP

1 1 3

# muda as categorias da variável "grupo" com a função nomesgruposCSAP()

levels(csap$grupo)[1:19] <- nomesgruposCSAP()

table(droplevels(csap$grupo))

2.Gastroenterite 13.Diabetes mellitus não-CSAP

1 1 3

Discussão

A incorporação da função read.dbc88. Petruzalek D. READ. DBC: um pacote para importação de dados do datasus na linguagem R. In: Anais do XV Congresso Brasileiro de Informática em Saúde [Internet]; 2016 nov 27-30; Goiânia, Brasil. Goiânia: J Health Inform; 2016 [citado 2019 maio 7] Disponível em: Disponível em: http://www.sbis.org.br/biblioteca_virtual/cbis/Anais_CBIS_2016_Artigos_Completos.pdf
http://www.sbis.org.br/biblioteca_virtua...
permite que o csapAIH leia os arquivos comprimidos do Datasus (formato DBC), uma das principais limitações notadas na primeira versão do pacote.1717. Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf . doi: 10.5123/s1679-49742017000100021
http://www.scielo.br/pdf/ress/v26n1/2237...
A independência de outros programas para a expansão dos arquivos na extensão .dbc garante a reprodutibilidade das ações de leitura, manejo e análise de dados com um só script de comandos - ainda que eventualmente longo, ou dividido em vários arquivos que podem ser chamados a partir de outro. No caso do R e com as facilidades do RStudio33. RStudio Team. RStudio: integrated development environment for R [Internet]. Boston, MA: RStudio; 2015 [citado 2019 May 7]. Disponível em: Disponível em: http://www.rstudio.com/
http://www.rstudio.com/...
(entre outros44. Fox J. The R commander: a basic statistics graphical user interface to R. J Stat Softw [Internet]. 2005 Sep [citado 2019 May 7];14(i09):1-42. Disponível em: Disponível em: https://www.jstatsoft.org/article/view/v014i09 . doi: 10.18637/jss.v014.i09
https://www.jstatsoft.org/article/view/v...
), é possível, ademais, a reprodutibilidade dos resultados apresentados, em conteúdo e forma. A reprodutibilidade é desejável não apenas no âmbito científico; ela também facilita a organização de relatórios de monitoramento periódico para as Secretarias de Saúde.

As novas funções descreveCSAP e desenhaCSAP foram pensadas, sobretudo, para o monitoramento das CSAP pelas Secretarias e Conselhos de Saúde, no intuito de facilitar esse trabalho e, assim, promover a prática do monitoramento das CSAP para a gestão da Atenção Básica. Outrossim, podem ser úteis para subsidiar debates acadêmicos e publicações científicas. Quanto a este último objetivo, foi criado o argumento colorir e, particularmente, a opção de colorir as barras em escala de cinza. As demais funções acrescentadas são de menor interesse para a maioria das análises, uma vez que são chamadas internamente pelas funções principais, sem a participação do usuário; no entanto, podem ser úteis para a apresentação automática de resultados ao longo do texto, uma das vantagens de escrever os relatórios de pesquisa diretamente no R. Dessa maneira, facilitam o trabalho e poupam tempo em análises e apresentações, podendo ainda ser utilizadas por outras funções, o que justifica sua separação em funções independentes.

A inclusão do argumento parto.rm na função csapAIH permite, agora, a exclusão completa dos partos independentemente do procedimento realizado, ao mesmo tempo que facilita quando, eventualmente, se deseja excluir apenas os partos, mantendo os demais procedimentos obstétricos. Entretanto, a proporção de internações com diagnóstico principal de parto e procedimento obstétrico diferente dos excluídos por procobst.rm = TRUE é pequena, e pode ser de interesse da análise manter, por exemplo, os casos de procedimento ‘03.03.10.004-4 - Tratamento de intercorrências clínicas na gravidez’ mesmo com diagnóstico de parto, considerando-se que, por serem ‘intercorrências clínicas’, não foram eventos fisiológicos motivadores do parto.

Entre as limitações do pacote, pode-se mencionar a redução no número de formatos de arquivos de dados reconhecidos, agora restritos a DBC, DBF e CSV. Essa limitação é reduzida, uma vez que arquivos de dados em outros formatos podem ser lidos previamente, e então ser objeto da função csapAIH. Há ainda um efeito adverso, gerado ao se usar o argumento limsup na função desenhaSCAP: uma mensagem de aviso de que uma nova escala foi sobreposta à anterior. Não é difícil evitar tal mensagem nos relatórios, basta com incluir a opção message=FALSE no quadro de comandos (“chunk”) do gráfico no arquivo-fonte do relatório (justamente o que foi feito para que nos outputs acima a mensagem aparecesse em apenas um dos gráficos). Porém, ao tentar evitá-la na própria função, ocorriam outros problemas no resultado, razão pela qual permanece a mensagem, considerada desnecessária.

O csapAIH é uma ferramenta a mais para o estudo das CSAP no Brasil. Em sua versão atual, o pacote lê arquivos DBC do Datasus, gera gráficos e tabelas com qualidade de publicação mediante comandos simples, oferece uma função para o cálculo da idade nos arquivos da AIH e outra para a listagem dos grupos de causa, segundo a Lista Brasileira de Internações por Condições Sensíveis à Atenção Primária. Usuários com algum conhecimento de R podem se utilizar dessas ferramentas e criar scripts para análises de interesse local e monitoramento da situação municipal ou de áreas/divisões administrativas da Saúde internas a um município.66. Rocha TAH, Silva NC, Amaral PVM, Barbosa ACQ, Vissoci JRN, Thomaz EBAF, et al. Geolocalização de internações cadastradas no Sistema de Informações Hospitalares do Sistema Único de Saúde: uma solução baseada no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2018 [citado 2019 maio 7];27(4):e2017444. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v27n4/2237-9622-ress-27-04-e2017444.pdf . doi: 10.5123/s1679-49742018000400016
http://www.scielo.br/pdf/ress/v27n4/2237...
Tais scripts podem funcionar como templates e, com ligeiras modificações, serem utilizados em outros locais. Usuários sem nenhum conhecimento do programa podem, por sua vez, seguir instruções para a leitura desses arquivos e a geração automática de relatórios. Espera-se que, assim, o pacote csapAIH contribua tanto para o ensino e pesquisa quanto para o controle social e gestão da Atenção Básica no SUS.

Referências

  • 1
    Ministério da Saúde [BR]. Departamento de Informática do SUS - Datasus. Tab para Windows - TabWin [Internet]. Brasília: Ministério da Saúde; 2010 [citado 2019 maio 7]. Disponível em: Disponível em: http://datasus.saude.gov.br/apresentacao
    » http://datasus.saude.gov.br/apresentacao
  • 2
    R Core Team. R: a language and environment for statistical computing [Internet]. Vienna, Austria: R Foundation for Statistical Computing; 2018 [cites 2019 May 7]. Disponível em: Disponível em: https://www.R-project.org/
    » https://www.R-project.org/
  • 3
    RStudio Team. RStudio: integrated development environment for R [Internet]. Boston, MA: RStudio; 2015 [citado 2019 May 7]. Disponível em: Disponível em: http://www.rstudio.com/
    » http://www.rstudio.com/
  • 4
    Fox J. The R commander: a basic statistics graphical user interface to R. J Stat Softw [Internet]. 2005 Sep [citado 2019 May 7];14(i09):1-42. Disponível em: Disponível em: https://www.jstatsoft.org/article/view/v014i09 doi: 10.18637/jss.v014.i09
    » https://doi.org/10.18637/jss.v014.i09» https://www.jstatsoft.org/article/view/v014i09
  • 5
    Moriña D, Utzet M, Nedel FB, Martín M, Navarro A. Introducción a la estadística con R-Commander para las ciencias de la salud. Cerdanyola del Vallès: Universitat Autònoma de Barcelona; 2016.
  • 6
    Rocha TAH, Silva NC, Amaral PVM, Barbosa ACQ, Vissoci JRN, Thomaz EBAF, et al. Geolocalização de internações cadastradas no Sistema de Informações Hospitalares do Sistema Único de Saúde: uma solução baseada no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2018 [citado 2019 maio 7];27(4):e2017444. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v27n4/2237-9622-ress-27-04-e2017444.pdf doi: 10.5123/s1679-49742018000400016
    » https://doi.org/10.5123/s1679-49742018000400016» http://www.scielo.br/pdf/ress/v27n4/2237-9622-ress-27-04-e2017444.pdf
  • 7
    Petruzalek D. Read.dbc: read data stored in dbc (compressed dbf) files [Internet]. 2016 [citado 2019 May 7]. Disponível em: Disponível em: https://CRAN.R-project.org/package=read.dbc
    » https://CRAN.R-project.org/package=read.dbc
  • 8
    Petruzalek D. READ. DBC: um pacote para importação de dados do datasus na linguagem R. In: Anais do XV Congresso Brasileiro de Informática em Saúde [Internet]; 2016 nov 27-30; Goiânia, Brasil. Goiânia: J Health Inform; 2016 [citado 2019 maio 7] Disponível em: Disponível em: http://www.sbis.org.br/biblioteca_virtual/cbis/Anais_CBIS_2016_Artigos_Completos.pdf
    » http://www.sbis.org.br/biblioteca_virtual/cbis/Anais_CBIS_2016_Artigos_Completos.pdf
  • 9
    Petruzalek D. Datasus: an interface for the Brazilian public healthcare datasets (Datasus) [Internet]. 2016 [citado 2019 May 7]. Disponível em: Disponível em: https://rdrr.io/github/danicat/datasus/
    » https://rdrr.io/github/danicat/datasus/
  • 10
    Prado Siqueira R. Datasus: an interface to datasus system [Internet]. 2017 [citado 2019 May 7]. Disponível em: Disponível em: https://CRAN.R-project.org/package=datasus
    » https://CRAN.R-project.org/package=datasus
  • 11
    Freitas Saldanha R. Microdatasus: download and preprocess datasus files [Internet]. 2019 [citado 2019 May 7]. Disponível em: Disponível em: https://github.com/rfsaldanha/microdatasus
    » https://github.com/rfsaldanha/microdatasus
  • 12
    Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2016 [citado 2019 maio 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/v0.0.1/csapAIH-manual.pdf
    » https://sourceforge.net/projects/csapAIH/files/v0.0.1/csapAIH-manual.pdf
  • 13
    Brasil. Ministério da Saúde. Portaria MS/GM nº 221, de 17 de abril de 2008. Publica, na forma do anexo desta portaria, a lista brasileira de internações por condições sensíveis à atenção primária [Internet]. Diário Oficial da União, Brasília (DF), 2008 abr 18 [citado 2019 maio 7]; Seção 1:70. Disponível em: Disponível em: http://bvsms.saude.gov.br/bvs/saudelegis/sas/2008/prt0221_17_04_2008.html
    » http://bvsms.saude.gov.br/bvs/saudelegis/sas/2008/prt0221_17_04_2008.html
  • 14
    Caminal Homar J, Casanova Matutano C. La evaluación de la atención primaria y las hospitalizaciones por ambulatory care sensitive conditions. Marco conceptual. Aten Prim [Internet]. 2003 jan [citado 2019 maio 7];31(1):61-5. Disponível em: Disponível em: https://www.elsevier.es/es-revista-atencion-primaria-27-articulo-la-evaluacion-atencion-primaria-las-13042583
    » https://www.elsevier.es/es-revista-atencion-primaria-27-articulo-la-evaluacion-atencion-primaria-las-13042583
  • 15
    Ansari Z. The concept and usefulness of ambulatory care sensitive conditions as indicators of quality and access to primary health care. Aust J Prim Health [Internet]. 2007 Dec [citado 2019 May 7];13(3):91-110. Disponível em: Disponível em: https://www.publish.csiro.au/PY/PY07043 doi: 10.1071/PY07043
    » https://doi.org/10.1071/PY07043» https://www.publish.csiro.au/PY/PY07043
  • 16
    Nedel FB, Facchini LA, Bastos JL, Martín-Mateo M. Conceptual and methodological aspects in the study of hospitalizations for ambulatory care sensitive conditions. Ciênc Saúde Coletiva [Internet]. 2011 [citado 2019 May 7];16(Suppl 1):1145-54. Disponível em: Disponível em: http://www.scielo.br/pdf/csc/v16s1/a46v16s1.pdf doi: 10.1590/S1413-81232011000700046
    » https://doi.org/10.1590/S1413-81232011000700046» http://www.scielo.br/pdf/csc/v16s1/a46v16s1.pdf
  • 17
    Nedel FB. csapAIH: uma função para a classificação das condições sensíveis à atenção primária no programa estatístico R. Epidemiol Serv Saúde [Internet]. 2017 jan-mar [citado 2019 maio 7];26(1):199-209. Disponível em: Disponível em: http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf doi: 10.5123/s1679-49742017000100021
    » https://doi.org/10.5123/s1679-49742017000100021» http://www.scielo.br/pdf/ress/v26n1/2237-9622-ress-26-01-00199.pdf
  • 18
    Nedel FB. CsapAIH: classificar condições sensíveis à atenção primária [Internet]. 2019 [citado 2019 May 7]. Disponível em: Disponível em: https://sourceforge.net/projects/csapAIH/files/csapAIH_0.0.3.pdf/download
    » https://sourceforge.net/projects/csapAIH/files/csapAIH_0.0.3.pdf/download
  • 19
    Ministério da Saúde (BR). Departamento de Informática do SUS - Datasus. Transferência de arquivos [Internet]. Brasília: Ministério da Saúde; 2018 [citado 2019 maio 7]. Disponível em: Disponível em: http://www2.datasus.gov.br/DATASUS/index.php?area=0901&item=1&acao=25
    » http://www2.datasus.gov.br/DATASUS/index.php?area=0901&item=1&acao=25

Datas de Publicação

  • Publicação nesta coleção
    22 Ago 2019
  • Data do Fascículo
    2019

Histórico

  • Recebido
    09 Mar 2019
  • Aceito
    10 Abr 2019
Secretaria de Vigilância em Saúde e Ambiente - Ministério da Saúde do Brasil Brasília - Distrito Federal - Brazil
E-mail: ress.svs@gmail.com