1 Introdução

O pacote RHCgen surge como uma ferramenta essencial para a automação e padronização do processamento de dados do Registro Hospitalar de Câncer (RHC) no Brasil, atendendo à crescente demanda por pesquisas oncológicas robustas e reprodutíveis. Atualmente, o Brasil possui bases de dados relevantes como o RHC e o Registros de Câncer de Base Populacional (RCBP), ambos geridos pelo Instituto Nacional do Câncer (INCA). No entanto, a manipulação dos dados do RHC enfrenta desafios devido à complexidade e heterogeneidade das informações. Embora a ferramenta TabWin, desenvolvida pelo DATASUS, seja amplamente utilizada para tabulação desses dados, ela é limitada ao sistema operacional Windows e oferece capacidades analíticas restritas, exigindo que pesquisadores exportem dados para pacotes estatísticos mais robustos.

A linguagem R, amplamente utilizada para análise estatística, oferece uma oportunidade significativa de melhoria ao permitir o processamento eficiente e a manipulação de grandes volumes de dados heterogêneos, típicos em estudos de epidemiologia. Ferramentas como o pacote Microdatasus já facilitam o acesso a dados de saúde pública no Brasil, mas até o momento, não existia um pacote específico para o RHC. O desenvolvimento do RHCgen busca preencher essa lacuna, permitindo que pesquisadores automatizem e padronizem o processamento de dados clínicos e de tratamento de pacientes oncológicos atendidos pelo Sistema Único de Saúde (SUS), tornando o processo de análise de dados mais eficiente, reprodutível e livre de erros.

Com a criação do RHCgen, espera-se uma melhoria significativa na agilidade e precisão da análise dos dados do RHC, promovendo maior reprodutibilidade nas pesquisas e a geração de evidências científicas robustas na área de oncologia. A iniciativa reduz a dependência de ferramentas limitadas e processos manuais, além de proporcionar uma integração mais fluida dos dados em projetos de pesquisa, otimizando o tempo de análise e garantindo resultados mais confiáveis. Esse pacote em R visa facilitar o acesso aberto aos dados e apoiar o desenvolvimento de pesquisas oncológicas no Brasil.

1.1 Pre-requisitos:

Para utilizar o pacote, é necessário primeiro baixar os arquivos no formato DBF com os dados de câncer do IntegradorRHC do INCA. O processo pode ser realizado em alguns passos. Primeiro, o usuário deve acessar o site do IntegradorRHC (https://irhc.inca.gov.br/RHCNet/visualizaTabNetExterno.action). No menu “Tabulador Hospitalar”, acessar o botão de “Download”. Uma nova janela será aberta automaticamente, na qual o usuário deve selecionar o botão “Base de dados de todos os estados” e clicar em “Enviar”. Na próxima janela, deve selecionar “Modelo do arquivo de definição para tabwin* (def)”, escolher todos os anos que deseja incluir no banco de dados e clicar em “Enviar”. Assim, o download dos arquivos será iniciado, com a mensagem: “Seu Download está sendo gerado! Por favor, aguarde…”. Após o download, os arquivos serão salvos na pasta de downloads do computador.

Esses arquivos chegam compactados; o usuário deve descompactar e transferir todos os arquivos com extensão “.dbf” (ex.: rhc18.dbf, rhc19.dbf, rhc20.dbf) para o diretório de trabalho em uso no RStudio. Isso é necessário para que o pacote RHCgen possa ler os arquivos corretamente.

1.2 Instalação

O pacote está disponível no GitHub e pode ser instalado com o seguinte comando:

# Obs.: É necessário ter instalado previamente o pacote "remotes".
# Instalando o "remotes": 
install.packages("remotes")


# Instalar o RHCgen via GitHub

remotes::install_github("andersonlineu/RHCgen")

Para garantir o funcionamento correto, também é necessário ter o pacote foreign instalado para a leitura de arquivos DBF. O RHCgen irá verificar se esse pacote está instalado e, se necessário, fará a instalação automaticamente.

1.3 Carregar o Pacote

Depois de instalar o RHCgen, você pode carregá-lo no R com o seguinte comando:

library(RHCgen)

Use o Help para encontrar outras explicações.


2 Automatizar o Processamento de Dados

A função construir_banco() facilita o processo de manipulação dos dados do RHC ao integrar várias operações em um único comando. Essa função realiza a leitura, combinação, renomeação de colunas, modificação de tipos de variáveis, recodificação, e ajustes de códigos CID-O, CNES e outros. Ela também realiza análises de completude e verifica inconsistências nos dados.

A função construir_banco foi desenvolvida para automatizar a preparação de dados, consolidando diversas etapas essenciais em um único fluxo de execução. Durante sua operação, essa função chama internamente todas as subfunções necessárias para realizar transformações e verificações detalhadas. Essas operações incluem a leitura e fusão de arquivos DBF, padronização de nomes de colunas, conversão de tipos de variáveis, recodificação de variáveis categóricas, mapeamento de siglas de estados, ajustes de códigos CID-O, CNES, tipo histológico, clínicas de atendimento e tratamento, estadiamento clínico, além de realizar uma análise da completude e consistência dos dados.

Caso queira, o usuário tem a flexibilidade de executar cada função subjacente de forma isolada, proporcionando controle granular sobre o pipeline de manipulação dos dados, conforme a necessidade. Alternativamente, a função construir_banco() oferece uma solução integrada, consolidando todas essas operações em um único comando, automatizando o processamento de forma prática e eficiente. Assim, a função se ajusta tanto à conveniência de um processo automatizado quanto à exigência de maior controle nas etapas individuais, adaptando-se a diferentes necessidades analíticas.

A função presume que os arquivos no diretório especificado estão presentes e devidamente nomeados. Eventuais problemas, como ausência ou inconsistência de arquivos, são tratados implicitamente, mas a operação correta depende da correta organização do diretório.

2.1 Exemplo de Uso

# Automatizar a preparação do banco de dados do RHC
banco_RHC <- construir_banco()

Essa função é particularmente útil para simplificar a preparação dos dados e garantir consistência em todo o processo de manipulação.


3 Filtrar os Dados com Base em Vários Critérios

3.1 Descrição

A função filtrar_banco() filtra um dataframe com base em critérios específicos fornecidos pelo usuário, como códigos CID-3, CID-4, anos de triagem, anos de diagnóstico, anos da primeira consulta, idade, tipo de caso, sexo, estado de residência, unidade hospitalar, primeiro tratamento hospitalar, ano de início do tratamento, origem do encaminhamento e anos do banco de dados.

3.2 Sintaxe

filtrar_banco(
  dados = Seu_data_frame_aqui,
  cid3digitos = NULL,
  cid4digitos = NULL,
  ano_inicio_triagem = NULL,
  ano_fim_triagem = NULL,
  ano_inicio_diagnostico = NULL,
  ano_fim_diagnostico = NULL,
  ano_inicio_primeira_consulta = NULL,
  ano_fim_primeira_consulta = NULL,
  idade_inicio = NULL,
  idade_fim = NULL,
  tipo_de_caso = NULL,
  sexo = NULL,
  estado_residencia = NULL,
  uf_unidade_hospital = NULL,
  primeiro_tratamento_hospital = NULL,
  ano_inicio_tratamento = NULL,
  ano_fim_tratamento = NULL,
  origem_do_encaminhamento = NULL,
  ano_do_banco_inicio = NULL,
  ano_do_banco_fim = NULL
)

3.2.1 Argumentos

  • dados: Um dataframe que contém as variáveis a serem filtradas.
  • cid3digitos: Um vetor de códigos CID-3 para filtrar a coluna Localizacao_Primaria_3D. Padrão é NULL.
  • cid4digitos: Um vetor de códigos CID-4 para filtrar a coluna Localizacao_Primaria_4D. Padrão é NULL.
  • ano_inicio_triagem: Ano inicial para filtrar a coluna Ano_Triagem. Padrão é NULL.
  • ano_fim_triagem: Ano final para filtrar a coluna Ano_Triagem. Padrão é NULL.
  • ano_inicio_diagnostico: Ano inicial para filtrar a coluna Ano_Primeiro_Diagnostico. Padrão é NULL.
  • ano_fim_diagnostico: Ano final para filtrar a coluna Ano_Primeiro_Diagnostico. Padrão é NULL.
  • idade_inicio: Idade inicial para filtrar a coluna Idade. Padrão é NULL.
  • idade_fim: Idade final para filtrar a coluna Idade. Padrão é NULL.
  • tipo_de_caso: Filtro para a coluna Tipo_de_Caso (valores possíveis: “Analítico”, “Não Analítico”). Padrão é NULL.
  • sexo: Filtro para a coluna Sexo (valores possíveis: “Masculino”, “Feminino”). Padrão é NULL.
  • estado_residencia: Filtro para a coluna Estado_Residencia com siglas dos estados. Padrão é NULL.
  • uf_unidade_hospital: Filtro para a coluna UF_Unidade_Hospital com siglas dos estados. Padrão é NULL.
  • primeiro_tratamento_hospital: Filtro para a coluna Primeiro_Tratamento_Hospital. Padrão é NULL.
  • ano_inicio_tratamento: Ano inicial para filtrar a coluna Ano_Inicio_Tratamento. Padrão é NULL.
  • ano_fim_tratamento: Ano final para filtrar a coluna Ano_Inicio_Tratamento. Padrão é NULL.
  • origem_do_encaminhamento: Filtro para a coluna Origem_do_Encaminhamento. Padrão é NULL.
  • ano_do_banco_inicio: Ano inicial para filtrar a coluna Ano_do_Banco. Padrão é NULL.
  • ano_do_banco_fim: Ano final para filtrar a coluna Ano_do_Banco. Padrão é NULL.

3.2.2 Valor Retornado

Retorna o dataframe filtrado com base nos critérios fornecidos.

3.2.3 Exemplo de Uso

DADOS_FILTRADOS <- filtrar_banco(
  dados = dados_RHC_combinados,
  cid3digitos = "C44", 
  ano_inicio_triagem = 2018, 
  ano_fim_triagem = 2020,
  idade_inicio = 20, 
  idade_fim = 80,
  tipo_de_caso = "Analítico", 
  estado_residencia = c("RJ", "MG")
)

Neste exemplo, o dataframe será filtrado para incluir apenas os registros com o código CID-3 “C44”, triagem realizada entre 2018 e 2020, pacientes com idades entre 20 e 80 anos, com casos analíticos e residentes nos estados do Rio de Janeiro e Minas Gerais.