Hostname: page-component-6898cfcb55-zsp5v Total loading time: 0 Render date: 2026-11-11T18:27:35.335Z Has data issue: false hasContentIssue false

Aggregating and analysing clinical trials data from multiple public registers using R package ctrdata

Published online by Cambridge University Press:  04 December 2025

Ralf Herold*
Affiliation:
Regulatory Science and Innovation Taskforce, European Medicines Agency, Netherlands
Rights & Permissions [Opens in a new window]

Abstract

The ctrdata package has been created to boost the use of data available in public registers of clinical trials. It enables user-friendly, reproducible workflows to identify trials of interest, download protocol- and results-related data, and conduct sophisticated analyses, across multiple registers and trials. ctrdata works in the widely used R environment, and its databases can be used with other tools. The package is open source with a permissive licence, to facilitate collaboration.

This report provides an overview of ctrdata, including its implementation, cases of interest to researchers in public health, medicines, and regulatory science, as well as potential limitations and further developments. At this time, ctrdata works with the European Union (EU) Clinical Trials Information System (CTIS), the EU Clinical Trials Register (EUCTR), the US Clinicaltrials.Gov (CTGOV), and the ISRCTN—the UK’s Clinical Study Registry. The registers are complementary in scope and scientific value, yet differences in data models, variable definitions, search parametrisations, and retrieval options hamper efficient scientific workflows, calling for a scientific-technical, programmatic solution and driving the development of ctrdata.

By employing ctrdata to comprehensively use and easily leverage trial register data, researchers can effectively address a variety of questions, gain useful insights into evolving policies and practices of drug development, and inform further clinical research. Patients and their organisations, developers, policymakers, and other interested parties can build on ctrdata to create solutions for their use cases.

Information

Type
Software Focus
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Open Practices
Open materials
Copyright
© The Author(s), 2025. Published by Cambridge University Press on behalf of The Society for Research Synthesis Methodology
Figure 0

Figure 1Overview on using R package ctrdata. The arrow means ‘makes use of’. The user can execute functions in package ctrdata that query clinical trial registers (CTRs) and load data of trials of interest. Such functions include ‘ctrGenerateQueries()’, ‘ctrLoadQueryIntoDb()’, and ‘ctrFindActiveSubstanceSynonyms()’. These functions make use of the application programming interfaces (APIs) and web interfaces of four CTRs. The user can inspect trials with ctrdata function ‘ctrShowOneTrial()’ and select fields with ‘dbFindFields()’. Package ctrdata uses package nodbi for storing clinical trial data in SQLite, DuckDB, MongoDB, or PostgreSQL. Data of interest are generated using ctrdata functions ‘dbGetFieldsIntoDf()’ (which extracts data from the database, combines data from different registers into a data set, and calculates concepts across trials), ‘dfTrials2Long()’, and ‘dfName2Value()’ (which reshape a data set and select nested fields based on field identifiers).

Figure 1

Table 1Overview of registers supported by ctrdata (numbers rounded to three significant digits; XML, extensible markup language; JSON, JavaScript Object Notation; ‘other types of clinical studies’ refers to studies of medical devices, behavioural and other health interventions, observational, non-interventional, and other studies)

Figure 2

Table 2Main functions in ctrdata in order of a potential workflow

Figure 3

Table 3Overview on clinical trial concept functions implemented in ctrdata

Figure 4

Figure 2Boxplot of sample size by phase of trial.

Figure 5

Figure 3Cumulative density of reported p-values (dotted line, p = 0.05).

Figure 6

Figure 4Completion of phase 3 trials and authorisation of medicines.

Figure 7

Table 4Selected issues when using trial registers for research, and how package ctrdata can help

Supplementary material: File

Herold supplementary material

Herold supplementary material
Download Herold supplementary material(File)
File 33.8 KB