csapAIH: Classificar Condições Sensíveis à Atenção Primária

View source: R/csapAIH.R

csapAIHR Documentation

Classificar Condições Sensíveis à Atenção Primária

Description

Classifica códigos da 10ª Revisão da Classificação Internacional de Doenças (CID-10) segundo a Lista Brasileira de Internação por Condições Sensíveis à Atenção Primária e oferece outras funcionalidades, especialmente para o manejo dos "arquivos da AIH" (RD??????.DBC; BD-SIH/SUS).

Usage

csapAIH(
  x,
  lista = "MS",
  grupos = TRUE,
  sihsus = TRUE,
  procobst.rm = TRUE,
  parto.rm = TRUE,
  longa.rm = TRUE,
  cep = TRUE,
  cnes = TRUE,
  arquivo = TRUE,
  sep,
  cid = NULL,
  ...
)

Arguments

x

alvo da função: um arquivo, banco de dados ou vetor com códigos da CID-10 (ver detalhes);

lista

Lista de causas a ser considerada (v. detalhes); pode ser "MS" (padrão) para a lista publicada em portaria pelo Ministério da Saúde do Brasil ou "Alfradique" para a lista publicada no artigo de Alfradique et al.

grupos

argumento lógico, obrigatório; TRUE (padrão) indica que as internações serão classificadas também em grupos de causas CSAP;

sihsus

argumento lógico, obrigatório se x for um arquivo; TRUE (padrão) indica que o arquivo ou banco de dados a ser tabulado tem minimamente os seguintes campos dos arquivos da AIH:

  • DIAG_PRINC diagnóstico principal da internação;

  • NASC data de nascimento;

  • DT_INTER data da internação;

  • DT_SAIDA data da alta hospitalar;

  • COD_IDADE código indicando a faixa etária a que se refere o valor registrado no campo idade;

  • IDADE idade (tempo de vida acumulado) do paciente, na unidade indicada no campo COD_IDADE;

  • MUNIC_RES município de residência do paciente;

  • MUNIC_MOV município de internação do paciente;

  • SEXO sexo do paciente;

  • N_AIH número da AIH;

  • PROC_REA procedimento realizado, segundo a tabela do SIH/SUS.

procobst.rm

argumento lógico, obrigatório se sihsus=TRUE; TRUE (padrão) exclui as internações por procedimento obstétrico (ver detalhes);

parto.rm

argumento lógico, obrigatório se sihsus=TRUE; TRUE (padrão) exclui as internações por parto (ver detalhes);

longa.rm

argumento lógico; TRUE (padrão) exclui as AIH de longa permanência (AIH tipo 5), retornando uma mensagem com o número e proporção de registros excluídos e o total de registros importados; argumento válido apenas se sihsus=TRUE;

cep

argumento lógico, obrigatório se sihsus=TRUE; TRUE (padrão) inclui no banco o Código de Endereçamento Postal do indivíduo; argumento válido apenas se sihsus=TRUE;

cnes

argumento lógico, obrigatório se sihsus=TRUE; TRUE (padrão) inclui no banco o nº do hospital no Cadastro Nacional de Estabelecimentos de Saúde; argumento válido apenas se sihsus=TRUE;

arquivo

argumento lógico, obrigatório; TRUE (padrão) indica que o alvo da função (x) é um arquivo; FALSE indica que x é um objeto no espaço de trabalho; é automaticamente marcado como FALSE quando x é um factor ou data frame; deve ser definido pelo usuário como FALSE apenas quando x contiver em seu nome as sequências "dbc", "dbf" ou "csv" sem que isso seja a extensão do arquivo; apenas arquivos com esses formatos podem ser lidos;

sep

usado para a leitura de arquivos da AIH em formato CSV; pode ser ";" para arquivos separados por ponto-e-vírgula e com vírgula como separador decimal, ou "," para arquivos separados por vírgula e com ponto como separador decimal;

cid

identifica a varivável contendo os códigos da CID-10, em bancos de dados sem a estrutura do SIHSUS; argumento obrigatório nesses casos;

...

permite a inclusão de argumentos das funções read.table e suas derivadas.

Details

  • x pode ser:

    1. um arquivo de dados armazenado num diretório;

    2. um banco de dados, ou um vetor da classe factor presente como objeto no espaço de trabalho do R, em que uma das variáveis, ou o vetor, contenha códigos da CID-10.

    Se for um arquivo, o nome deve ser escrito entre aspas e com a extensão do arquivo (DBC, DBF ou CSV, em minúsculas ou maíusculas). Se não estiver no diretório de trabalho ativo, seu nome deve ser precedido pelo caminho (path) até o diretório de armazenamento. Se estiver em outro formato, podem-se usar os argumentos da função read.table para leitura dos dados.

    Se a função for dirigida a um objeto no espaço de trabalho da classe factor ou data.frame, estes também são reconhecidos e o comando é o mesmo: csapAIH(<objeto>). Se o objeto for de outra classe, como character ou matrix, é necessário definir o argumento "arquivo" como FALSE: csapAIH(<objeto>, arquivo = FALSE), ou, para vetores isolados, defini-lo como fator: csapAIH(as.factor(<objeto>)).

  • lista A Lista Brasileira de ICSAP publicada pelo Ministério da Saúde (Brasil, 2008) se diferencia da lista publicada pelxs construtorxs da lista (Alfradique et al., 2009), em um único aspecto: a Portaria Ministerial uniu os dois primeiros grupos de causa da lista publicada por Alfradique et al. – doenças evitáveis por vacinação e doenças evitáveis por outros meios (sífilis, tuberculose e febre reumática). Não há diferença no total de diagnósticos considerados, ou na distribuição dos diagnósticos entre os demais grupos.

  • procbst.rm = TRUE (padrão) exclui as internações por procedimentos relacionados ao parto ou abortamento. São excluídas as internações pelos seguintes procedimentos obstétricos, independente do diagnóstico:

    • 0310010012 ASSISTENCIA AO PARTO S/ DISTOCIA

    • 0310010020 ATENDIMENTO AO RECÉM-NASCIDO EM SALA DE PARTO

    • 0310010039 PARTO NORMAL

    • 0310010047 PARTO NORMAL EM GESTAÇÃO DE ALTO RISCO

    • 0411010018 DESCOLAMENTO MANUAL DE PLACENTA

    • 0411010026 PARTO CESARIANO EM GESTAÇÃO ALTO RISCO

    • 0411010034 PARTO CESARIANO

    • 0411010042 PARTO CESARIANO C/ LAQUEADURA TUBÁRIA

    • 0411020013 CURETAGEM PÓS-ABORTAMENTO / PUERPERAL

    • 0411020021 EMBRIOTOMIA

  • parto.rm = TRUE (padrão) exclui as internações por parto pelo campo diagnóstico, independente do procedimento. São excluídas as internações com os seguintes diagnósticos (CID-10):

    • O80 Parto único espontâneo

    • O81 Parto único por fórceps ou vácuo-extrator

    • O82 Parto único por cesariana

    • O83 Outros tipos de parto único assistido

    • O84 Parto múltiplo

    É retornada uma mensagem informando o número de registros lidos, o número e proporção de registros excluídos e o total de registros importados.

  • sihsus A própria função define este argumento como FALSE quando "x" (o alvo da função) é um fator. Quando o alvo é um objeto da clase data frame sem a estrutura dos arquivos da AIH, a variável com os códigos da CID-10 deve ser trabalhada como um factor.

Value

A função tem diferentes possibilidades de retorno, segundo a estrutura dos dados lidos e as opções de leitura:

  • Se for um arquivo ou data frame com a estrutura dos arquivos da AIH:

    • um data frame com as variáveis nº da AIH, município de residência, município de internação, sexo, data de nascimento, idade em anos completos, faixa etária detalhada, faixa etária quinquenal, data da internação, data da saída, procedimento realizado, cid, CSAP, grupo csap, CEP e CNES do hospital

      • Nesse caso, o banco resultante tem um argumento "resumo" com o resumo da importação de dados, segundo as opções de seleção

      • Se os argumentos grupo, cep ou cnes forem definidos como FALSE, o banco é construído sem essas variáveis

  • Se um fator ou data frame sem a estrutura dos arquivos da AIH:

    • Se grupos = TRUE: um banco de dados com as variáveis csap (sim ou não), grupo (subgrupo CSAP) e cid (código da CID-10);

    • Se factor e grupos = FALSE: um fator com as observações classificadas como CSAP ou não-CSAP.

Note

A função read.dbf, do pacote foreign, não lê arquivos em formato DBF em que uma das variáveis tenha todos os valores ausentes ('missings'); essas variáveis devem ser excluídas antes da leitura do arquivo pela função csapAIH ou mesmo pela função read.dbf.

References

Alfradique ME et al. 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. 2009; 25(6): 1337-1349. https://doi.org/10.1590/S0102-311X2009000600016.

Brasil. Ministério da Saúde. Secretaria de Atenção à Saúde. Portaria No 221, de 17 de abril de 2008. http://bvsms.saude.gov.br/bvs/saudelegis/sas/2008/prt0221_17_04_2008.html

__________. Departamento de Regulação, Avaliação e Controle. Coordenação Geral de Sistemas de Informação - 2010. Manual técnico operacional do Sistema de Informação Hospitalar: orientações técnicas. Versão 01.2013. Ministério da Saúde: Brasília, 2013.

See Also

read.table, read.csv, read.dbc, descreveCSAP, desenhaCSAP, nomesgruposCSAP

Examples

## Uma lista de códigos da CID-10:
##---------------------------------
cids <- c("I200", "K929", "T16", "I509", "I10",  "I509", "S068")
#
# Se o vetor for da classe 'character', deve-se transformá-lo em fator ou
# mudar o argumento 'arquivo' para 'FALSE':
# teste1 <- csapAIH(cids) # Erro
teste1 <- csapAIH(factor(cids)) ; class(teste1) ; teste1
teste1 <- csapAIH(cids, arquivo=FALSE) ; class(teste1) ; teste1
teste2 <- csapAIH(cids, arquivo=FALSE,  grupo=FALSE) ; class(teste2) ; teste2
teste2 <- csapAIH(factor(cids), grupo=FALSE) ; class(teste2) ; teste2
#

## Um 'arquivo da AIH' armazenado no diretório de trabalho:
##---------------------------------------------------------
## Not run: 
 teste3.dbf <- csapAIH("RDRS1201.dbf")
 str(teste3.dbf)
 teste4.dbc <- csapAIH("data-raw/RDRS1801.dbc")
 str(teste4.dbc)

## End(Not run)

## Um 'data.frame' com a estrutura dos 'arquivos da AIH':
##-------------------------------------------------------
data("aih500")
str(aih500)
teste5 <- csapAIH(aih500)
str(teste5)
levels(teste5$grupo)

# Com a lista de 20 grupos de causa (Alfradique et al.)
teste6 <- csapAIH(aih500, lista = "Alfradique")
str(teste6)
levels(teste6$grupo)

## Uma base de dados com a estrutura dos "arquivos da AIH"
## mas sem as variáveis CEP ou CNES:
##--------------------------------------------------------
aih <- subset(aih500, select = -c(CEP, CNES))
teste7 <- csapAIH(aih, cep = FALSE, cnes = FALSE)
str(teste7)

## Uma base de dados sem a estrutura dos arquivos RD*.dbc:
##--------------------------------------------------------
teste8 <- csapAIH(eeh20, sihsus = FALSE, cid = cau_cie10)
str(teste8)
teste9 <- csapAIH(eeh20, sihsus = FALSE, cid = cau_cie10, parto.rm = FALSE)
str(teste9)

## Uma base de dados com a estrutura dos "arquivos da AIH" mantendo
## todas suas variáveis
##-----------------------------------------------------------------
## Trate como se não fosse um arquivo da AIH e apenas acrescente
## a classificação ao banco:
teste10 <- csapAIH(aih500, sihsus = FALSE, cid = DIAG_PRINC)

## Acrescentar variáveis da AIH ao banco com as CSAP
##---------------------------------------------------------
## É necessário unir o banco da AIH com as variáveis de interesse
## ao banco resultante da função 'csapAIH':
vars <- c('N_AIH', 'RACA_COR', 'INSTRU')
teste11 <- csapAIH(aih500)
teste11 <- merge(teste11, aih500[, vars], by.x = "n.aih", by.y = "N_AIH")
names(teste11)
## Ou, usando o encadeamento ("piping") de funções,
teste12 <- csapAIH(aih500) |>
merge(aih100[, vars], by.x = "n.aih", by.y = "N_AIH")
names(teste12)


fulvionedel/csapAIH documentation built on March 13, 2024, 4:31 p.m.