The goal of clintrialx is to fetch clinical trials data from freely available registries. Currently, it supports querying the
ClinicalTrials.gov registry using its V2 API and
CTTI AACT (Public Access to Aggregate Content of ClinicalTrials.gov).
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")
Setup AACT account
Only if you wish to use AACT as a source for the data
Sign up and create an account. It’s free.
The
username
andpassword
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! 🎉