A repository for analysing ClinicalTrials.gov registered trials with a "Terminated" status, using functions from the terminated-trials-study package.
This part focuses on processing historical entries related to ClinicalTrials.gov registered terminated trials and relies on 'cthist' package developed by BG Carlisle. For following part 1, refer to the 01_analyse-data-terminated.R.
The dataset used for processing should include trial ID (nctid) of ClinicalTrials.gov registered trials with recruitment status ('recruitment_status') specified as "Terminated" in the registry.
- The 'cthist' package is utilised to obtain historical entries for the terminated trials
- The Following Two functions are employed from the 'terminatedtrialsstudy' R package :
- The
duration_of_trial
function calculates the number of days the trial was ongoing until termination, referred to as "trial_days." - The
degree_of_enrollment
function calculates the percentage of enrollment achieved for a particular terminated trial, known as "enrollment_percentage."
The output dataset generated by this script includes the following variables for each terminated trial:
variable | description |
---|---|
nctid | Trial ID |
why_stopped | Reason for trial termination |
has_summary_result_ctgov | Boolean indicating the availability of summary results on ClinicalTrials.gov for the trial |
start_date | Date when the trial was initiated |
stop_date | Date when the trial's overall status was first updated to "Terminated" in the registry |
trial_days | Number of days the trial was ongoing until termination calculated as stop_date - start_date |
anticipated_enrollment | Expected number of participants that the trial aimed to enrol |
actual_enrollment | Observed number of participants actually enrolled |
enrollment_percentage | Percentage of enrollment achieved until termination, (achieved enrollment / anticipated enrollment) * 100 |
- At the dataset level, the total number of
trial days
is calculated by summing the trial days values for all trialstotal_trial_days = sum of trial days for all trials
- At the dataset level, the average degree of enrollment is calculated by summing the degree of enrollment values for all trials and dividing it by the total number of trials:
average_degree_of_enrollment = (Sum of Degree of Enrollment) / (Number of Trials)
Bi-directional cross-registration checks will be performed using two approaches:
-
Cross-registration from ClinicalTrials.gov to EUCTR: The IntoValue dataset will be used to identify cross-registrations between the ctgov (ClinicalTrials.gov) registry and the EUCTR (European Union Clinical Trials Register) registry. The cross-registration dataset will be utilized to find EUCTR cross-registrations for the corresponding NCT IDs.
-
Cross-registration from EUCTR to ctgov: EUCTR IDs associated with German UMC leads will be extracted from a JSON dataset, maintained in the euctr-tracker-data repository. The dataset will further be analyzed to identify additional identifiers in the protocol and result pages of the EUCTR registry. The
combine_info function
, sourced from a forked version of the "euctrscrape" repository by Delwen Franzen and originally created by BG Carlisle, will be used for this purpose. From the extracted additional identifiers, NCT IDs found in the original IntoValue dataset will be identified, thus obtaining cross-registered data from both sources.
Once the cross-registered data is obtained, the EUCTR IDs will be checked to determine if the corresponding trials had results posted in the registry using the get_euctr_results.R
function from the 'terminatedtrialsstudy' package.
The EUCTR trial IDs sourced from bi-directional cross-registration checks
- The forked version of the 'euctrscrape' package is utilised to find additional identifiers in the protocol and results section of EUCTR ids and these identifiers are matched to nctids in the original dataset.
get_euctr_result_link.R
function: This function retrieves the result link if the result were posted for EUCTR entry, otherwise returns 'No result found'.
The output variable generated for each ClinicalTrails.gov registered trial:
variable | description |
---|---|
nctid | Trial ID |
crossreg_euctr_ids | Cross-registered EUCTR ids for ClinicalTrials.gov registered trial |
is_crossreg_euctr | Boolean indicating whether or not the 'nctid' has cross-registration in EUCTR |
has_summary_result_euctr | Boolean indicating the availability of summary results on the EUCTR registry for the trial |
link | Link to available result section page |
Carlisle BG. Analysis of clinical trial registry entry histories using the novel R package cthist. PLoS One. 2022;17(7):e0270909. https://doi.org/10.1371/journal.pone.0270909
DeVito NJ, Goldacre B. Trends and variation in data quality and availability on the European Union Clinical Trials Register: A cross-sectional study. Clinical Trials. 2022;19(2):172-183. https://doi.org/10.1177/17407745211073483