Skip to contents

The goal of clintrialx is to fetch clinical trials data from freely available registries. Currently, it supports querying the

Installation

Install the package from CRAN with:

install.packages("clintrialx")

You can install this package from GitHub with:

you’ll need the devtools package for this

# install.packages("devtools")
devtools::install_github("ineelhere/clintrialx")

Check installation

Setup AACT account

Only if you wish to use AACT as a source for the data

  • Visit https://aact.ctti-clinicaltrials.org/users/sign_up

  • Sign up and create an account. It’s free.

  • The username and password will be needed to fetch data using this package.

  • Save it in a .Renviron file, for example-

    user =  "random_name"
    password = "random_password"
  • Now that the file is created, load the variable with the command readRenviron("path/to/.Renviron)

  • You’re all set!

Query the ClinicalTrials.gov Registry

Based on NCT IDs

Fetch one or multiple trial records based on NCT IDs. You can opt to fetch some specific fields or all fields available at source (default).

library(clintrialx)
ctg_get_nct(c("NCT02967965", "NCT04000165", "NCT01007279", "NCT02376244", "NCT01179776"),
                          fields = c("NCT Number", "Study Title", "Study Status", "Sponsor"))

Based on fileds

Supports filtering by condition, location, title keywords, intervention, and overall status.

ctg_get_fields(
     condition = "Cancer",
     location = "Kolkata",
     title = NULL,
     intervention = "Drug",
     status = c("ACTIVE_NOT_RECRUITING", "RECRUITING"),
     page_size = 10
)

Based on fields - Bulk download

Download all available data for your query. No limits!

Supports filtering by condition, location, title keywords, intervention, and overall status.

df <- ctg_bulk_fetch(location="india")

Query the CTTI AACT

Run Custom Queries

# Set environment variables for database credentials in .Renviron and load it
# readRenviron(".Renviron")

# Connect to the database
con <- aact_connection(Sys.getenv('user'), Sys.getenv('password'))

# Run a custom query
query <- "SELECT nct_id, source, enrollment, overall_status FROM studies LIMIT 5;"
results <- aact_custom_query(con, query)

# Print the results
print(results)

Trial Data HTML Reports

Currently works for data from ClinicalTrials.Gov

Visit here for an exqample report - https://www.indraneelchakraborty.com/clintrialx/report.html

#first get the data in a R dataframe
my_clinical_trial_data <- ctg_bulk_fetch(condition="cancer")
#now pass it to the reports function
ctg_data_report(
  ctg_data = my_clinical_trial_data,
  title = "Clinical Trials Analysis",
  author = "Indra",
  output_file = "reports/clinical_trials.html",
  theme = "flatly",
  color_palette = c("#4E79A7", "#F28E2B", "#E15759", "#76B7B2", "#59A14F", "#EDC948"),
  include_data_quality = TRUE,
  include_interactive_plots = TRUE,
  custom_footer = "Proprietary report generated by SomeGreatOrg Inc."
)

# Generate a report with static plots and no data quality assessment
ctg_data_report(
  ctg_data = my_clinical_trial_data,
  title = "Quick Clinical Trial Overview",
  include_data_quality = FALSE,
  include_interactive_plots = FALSE
)

Check the path reports/clinical_trials.html on your local. It will have the html report file.

Cool stuff - It also has the codes to the plots!

Data Sources

You can fetch version information directly from the package:

version_info(source = "clinicaltrials.gov")

Get Involved

🚀 Ready to contribute? Let’s make clintrialx even better!

  • Fork the GitHub repo.
  • Check out your development branch from the dev branch.
  • Do your work on a feature (ftr) branch.
  • Raise a PR against the dev branch of the clintrialx repo.
  • Sit back and relax while I review it!

💬 Questions or Feedback? Feel free to open an issue on GitHub Issues page.

🌟 Enjoying clintrialx? Please consider giving it a star on GitHub! Your support helps this project grow and improve.

More updates to come. Happy coding! 🎉