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.
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.
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.
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.
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.
# Automatizar a preparação do banco de dados do RHC
banco_RHC <- construir_banco()
O processo inicia listando todos os arquivos com extensão “.dbf” no diretório de trabalho, cujos nomes começam com “rhc”. Após essa etapa, o script verifica se todas as colunas desses arquivos possuem a mesma estrutura. Se houver consistência, os arquivos são combinados em um único dataframe. Caso contrário, o usuário será notificado sobre o erro que impediu o processamento, seja pela falta de arquivos ou por inconsistências entre os dados.
Essa função é particularmente útil para simplificar a preparação dos dados e garantir consistência em todo o processo de manipulaçã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.
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
)
Localizacao_Primaria_3D. Padrão é
NULL.Localizacao_Primaria_4D. Padrão é
NULL.Ano_Triagem. Padrão é NULL.Ano_Triagem. Padrão é NULL.Ano_Primeiro_Diagnostico. Padrão é
NULL.Ano_Primeiro_Diagnostico. Padrão é
NULL.Idade. Padrão é NULL.Idade. Padrão é NULL.Tipo_de_Caso (valores possíveis: “Analítico”, “Não
Analítico”). Padrão é NULL.Sexo
(valores possíveis: “Masculino”, “Feminino”). Padrão é
NULL.Estado_Residencia com siglas dos estados. Padrão é
NULL.UF_Unidade_Hospital com siglas dos estados. Padrão é
NULL.Primeiro_Tratamento_Hospital. Padrão é
NULL.Ano_Inicio_Tratamento. Padrão é
NULL.Ano_Inicio_Tratamento. Padrão é NULL.Origem_do_Encaminhamento. Padrão é NULL.Ano_do_Banco. Padrão é NULL.Ano_do_Banco. Padrão é NULL.Retorna o dataframe filtrado com base nos critérios fornecidos.
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.
| Código RHC | Novo nome das variáveis | Descrição | Categorias |
|---|---|---|---|
| TPCASO | Tipo_de_Caso | Tipo de caso (analítico ou não analítico). | 1. Sim (Analítico); 2. Não (Não analítico) |
| SEXO | Sexo | Sexo do paciente. | 1. Masculino; 2. Feminino |
| IDADE | Idade | Idade do paciente. | Idade, em anos; valor igual a zero para crianças menores de 1 ano |
| LOCALNAS | Local_Nascimento | Local de nascimento do paciente. | Sigla da UF de nascimento |
| RACACOR | Raca_Cor | Raça ou cor do paciente. | 1. Branca; 2. Preta; 3. Amarela; 4. Parda; 5. Indígena; 9. Sem informação |
| INSTRUC | Escolaridade | Nível de educação do paciente. | 1. Nenhuma; 2. Fundamental incompleto; 3. Fundamental completo; 4. Nível médio; 5. Nível superior incompleto; 9. Sem informação |
| CLIATEN | Clinica_Atendimento | Clínica onde o paciente foi atendido. | Codificação segundo Tabela de Clínicas do SisRHC |
| Nome_Clinica_Atendimento | Nome da clínica onde o paciente foi atendido. | ||
| CLITRAT | Clinica_Tratamento | Clínica onde o paciente foi tratado. | Codificação segundo Tabela de Clínicas do SisRHC |
| Nome_Clinica_Tratamento | Nome da clínica onde o paciente foi tratado. | ||
| HISTFAMC | Historico_Familiar_Cancer | Histórico de câncer na família. | 1. Sim; 2. Não; 9. Sem informação |
| ALCOOLIS | Consumo_Alcool | Informação sobre o consumo de álcool pelo paciente. | 1. Nunca; 2. Ex-consumidor; 3. Sim; 4. Não avaliado; 8. Não se aplica; 9. Sem informação |
| TABAGISM | Tabagismo | Informação sobre o tabagismo do paciente. | 1. Nunca; 2. Ex-consumidor; 3. Sim; 4. Não avaliado; 8. Não se aplica; 9. Sem informação |
| ESTADRES | Estado_Residencia | Estado de residência do paciente. | Sigla da UF de procedência |
| Nome_Estado_Residencia | Nome do estado de residência do paciente. | ||
| PROCEDEN | Codigo_Municipio_Residencia | Código do município de residência do paciente. | Tabela de municípios do IBGE |
| Nome_Municipio_Residencia | Nome do município de residência do paciente. | ||
| ANOPRIDI | Ano_Primeiro_Diagnostico | Ano do primeiro diagnóstico do paciente. | aaaa |
| ORIENC | Origem_do_Encaminhamento | Origem do encaminhamento para tratamento ou diagnóstico. | 1. SUS; 2. Não SUS; 3. Veio por conta própria; 8. Não se aplica; 9. Sem informação |
| EXDIAG | Exames_Relevantes_para_Diagnostico | Exames relevantes para o diagnóstico do paciente. | 1. Exame clínico e patologia clínica; 2. Exames por imagem; 3. Endoscopia e cirurgia exploradora; 4. Anatomia patológica; 9. Sem informação |
| ESTCONJ | Estado_conjugal | Estado conjugal do paciente. | 1. Solteiro; 2. Casado; 3. Viúvo; 4. Separado judicialmente; 5. União consensual; 9. Sem informação |
| ANTRI | Ano_Triagem | Ano em que a triagem foi realizada. | dd/mm/aaaa |
| DTPRICON | Ano_Primeira_Consulta | Ano da primeira consulta do paciente. | aaaa |
| DIAGANT | Diagnosticos_e_Tratamentos_Anterior | Diagnósticos e tratamentos anteriores. | 1. Sem diag./Sem trat.; 2. Com diag./Sem trat.; 3. Com diag./Com trat.; 4. Outros; 9. Sem informação |
| BASMAIMP | Base_Mais_Importante_Diagnostico | Base de maior importância para o diagnóstico. | 1. Clínica; 2. Exame por imagem; 3. Marcadores tumorais; 4. Histologia do tumor primário; 9. Sem informação |
| LOCTUDET | Localizacao_Primaria_3D | Localização primária do tumor em 3D. | Código da CID-O, 3 dígitos |
| CID3d | Classificação Internacional de Doenças (CID) para a localização primária em 3D. | Código da CID-O, 4 dígitos | |
| Classificacao_CID_O | Classificação do câncer segundo a CID-O (Classificação Internacional de Doenças Oncológicas). | ||
| LOCTUPRI | Localizacao_Primaria_4D | Localização primária do tumor em 4D. | |
| CID4d | Classificação Internacional de Doenças (CID) para a localização primária em 4D. | ||
| TIPOHIST | Tipo_Histologico | Tipo histológico do tumor. | Codificação da morfologia do tumor pela CID-O |
| Tipo_Histologico_Completo | Descrição completa do tipo histológico do tumor. | ||
| LATERALI | Lateralidade | Lateralidade do tumor. | 1. Direita; 2. Esquerda; 3. Bilateral; 8. Não se aplica; 9. Sem informação |
| LOCTUPRO | Local_Provavel_Tumor | Local provável do tumor. | CID-O, 4 dígitos |
| MAISUMTU | Mais_de_Um_Tumor | Indicação de se há mais de um tumor. | 1. Não; 2. Sim; 3. Duvidoso |
| TNM | Classificacao_TNM | Classificação TNM do tumor. | Codificação do estádio clínico segundo classificação TNM |
| ESTADIAM | Estadiamento_Clinico | Estadiamento clínico do câncer. | Codificação do grupamento do estádio clínico segundo classificação TNM |
| Nome_Estadiamento_Clinico | Nome do estadiamento clínico do câncer. | ||
| OUTROESTA | Outro_Estadiamento_Clinico | Outras informações de estadiamento clínico. | Codificação do grupamento do estádio clínico segundo outras classificações que não a TNM |
| PTNM | TNM_Patologico | TNM patológico. | |
| RZNTR | Razao_Nao_Tratamento | Razão pela qual o tratamento não foi realizado. | 1. Recusa do tratamento; 2. Tratamento realizado fora; 3. Doença avançada; 4. Outras razões; 9. Sem informação |
| DTINITRT | Ano_Inicio_Tratamento | Ano de início do tratamento. | aaaa |
| PRITRATH | Primeiro_Tratamento_Hospital | Primeiro tratamento realizado no hospital. | 1. Nenhum; 2. Cirurgia; 3. Radioterapia; 4. Quimioterapia; 5. Hormonioterapia; 9. Sem informação |
| ESTDFIMT | Estado_Doenca_Final_Tratamento | Estado final após o tratamento. | 1. Sem evidência da doença; 2. Remissão parcial; 3. Doença estável; 4. Doença em progressão; 9. Sem informação |
| CNES | CNES_Hospital | Código CNES do hospital. | Codificação segundo tabela do Cadastro Nacional de Estabelecimentos de Saúde |
| Estabelecimento_Hospitalar | Estabelecimento hospitalar onde o paciente foi tratado. | ||
| UFUH | UF_Unidade_Hospital | Unidade federativa do hospital. | Sigla da Unidade da Federação da unidade hospitalar (IBGE) |
| Nome_Estado_Hospital | Nome do estado onde o hospital está localizado. | ||
| MUUH | Municipio_Unidade_Hospital | Município onde o hospital está localizado. | Tabela de municípios do IBGE |
| Nome_Municipio_Hospital | Nome do município onde o hospital está localizado. | ||
| OCUPACAO | Ocupacao_Paciente | Ocupação do paciente. | Codificação pela Tabela da Código Brasileiro de Ocupações |
| DTDIAGNO | Data_Diagnostico | Data do diagnóstico. | dd/mm/aaaa |
| DTTRIAGE | Data_Triagem | Data da triagem. | dd/mm/aaaa |
| DATAPRICON | Data_Primeira_Consulta | Data da primeira consulta. | dd/mm/aaaa |
| DATAINITRT | Data_Inicio_Primeiro_Tratamento | Data de início do primeiro tratamento. | dd/mm/aaaa |
| DATAOBITO | Data_Obito | Data de óbito do paciente. | dd/mm/aaaa |
| VALOR_TOT | Valor_Total | Valor total associado ao tratamento. | |
| BASDIAGSP | Base_Mais_Importante_ Diagnostico_Sem_Patologicas | Base mais importante para o diagnóstico - Sem Patológicas. | 1. Exame clínico; 2. Recursos auxiliares não microscópicos; 3. Confirmação microscópica; 9. Sem informação |
| ESTADIAG | Estadiamento_Clínico_ TNM_grupo_1985_1999 | Estadiamento clínico TNM grupo de 1985 a 1999. | Codificação do grupamento do estádio clínico segundo classificação TNM |
| Ano_do_Banco | Ano em que os dados foram registrados no banco de dados. | aaaa |