AdEPro (Animation of Adverse Event Profiles) is a Shiny application for the (audio-)visualization of adverse events during clinical trials. AdEPro allows the user to upload the clinical trial data using the typical Analysis Data Model (ADaM) in Clinical Data Interchange Standards (CDISC). For this, just upload the adverse event dataset (ADAE) to AdEPro by means of the Upload Data panel, either as a sas7bdat file or as comma-separated values (csv).


The database in a clinical trial contains vast information on adverse events, involving hundreds of different adverse event terms with varying severity grades and different start and end dates. Despite this plethora of information, insight into adverse events in a clinical study is usually limited to simple summary tables of absolute and relative numbers of adverse event occurrences. AdEPro, an innovation of Bayer’s Biostatistics Innovation Center, is an unparalleled approach to audio-visualize the safety profile of both the individual patient and the entire study cohort, which enables every study team member to experience the study and empathize with the patients.

The AdEPro Shiny app depicts the temporal progress of all adverse events in every study subject and enables the user to give profound answers to complex questions surrounding adverse events such as the frequency, duration and correlation of adverse events of interest. The incorporated sound component stresses changes in the adverse event profile of the study.

Additionally, to keep an overview of even large trials (>500 patients), intelligent sorting algorithms under the name of ‘AdEPro AI’ (based on seriation techniques from the seriation package by Hahsler) allow to sort the patients in a way that patients with similar adverse event profiles are close to one another and relevant differences between the treatment groups regarding the displayed adverse events remain recognizable at first sight.

As a complete alternative to the patient-by-patient ‘circle view’, an aggregated “barplot view” is implemented which displays the aggregated numbers of subjects with adverse events, which can be especially helpful in case the numbers are too great to be easily counted.

Getting Started

The package AdePro is available on CRAN as well as on Github and may be installed using





After installation AdePRO can be started using



The application will start showing the data upload page. For detailed information on how to upload data see section Functionality.


Via the “Change View” button, the display can be switched from “circle view” to “barplot view” and back.

In the “circle view”, every circle represents one subject.

Each slice inside a circle represents a different adverse event, color-coded according to the legend in the top bar. The size of the slices indicates the intensity of the respective adverse event. Framed unfilled slices indicate adverse events which the patient experienced at a previous time in the study, but are no longer ongoing.

The ‘barplot view’ displays the aggregated numbers for the selected adverse events

The top bar of the app includes several other options which are further explained under Functionality.


Select adverse event and subject level data on the left-hand side of the Upload Data page (start page) and ‘submit.’ For more information on the required data structure see Input Data.

Should the plot size of the app not fit the screen size, the appearance of the app can be altered by changing the plot height (‘Choose Plot height (in pixel)’) and the number of rows (‘Number of Rows’) on the left-hand side in the ‘Modify data’ panel. Here, you can also ‘Select type of Adverse Event’ (such as serious or study drug-related), ‘Sort patients by’ a variable of your choosing and ‘Sort treatments’.
If the button ‘Add AdEPro AI’ is selected, additional intelligent sorting algorithms are offered for use. For more information on this, please see AdEPro AI.

The timeline slider in the top bar indicates the day of the study that is currently displayed. It can be moved manually or played automatically by using the navigation buttons underneath. The number of days by which the slider is moved by using the forward or backward button can be adjusted by changing the number in between. To the left of the timeline slider is a circular slider to set the ‘Animation speed (sec.)’.

The ‘Adverse Events for animation’ panel on the lower left offers additional setting options. Per default, the eight events with most patient days are displayed. Other events can be selected using the ‘Choose Adverse Events for display (max. 12)’ option or the ‘frequency’ option can be used to display the eight most frequent events.

Via ‘Choose Adverse Event for audio’ one specific adverse event can be selected to be rendered audible for up to two treatment groups that have to be selected via the ‘Choose Treatment Group for first sound’ and ‘Choose Treatment Group for second sound’ options. This activates a sound corresponding to the frequency of the selected event. The sound represents a categorized and normalized frequency grade of the chosen adverse event given the size of the treatment group and the overall frequency of this adverse event. There are four different types of sounds. The deepest sound signals that no adverse event has occurred in the selected group. The other three sounds increase in pitch level symbolizing equidistant increases in adverse event frequency. A sound will only be audible if there is a change in frequency grading in any of the treatment groups of the study.

The ‘Subgroup Setting’ panel can be used to split the plot vertically by a subgroup variable in addition to the horizontal split by treatment.

Input Data

AdEPro allows the user to upload the clinical trial data using the standard Analysis Data Model (ADaM) in Clinical Data Interchange Standards (CDISC). For this, just upload the adverse event dataset (ADAE) to AdEPro by means of the ‘Upload Adverse Event Data’ option on the Upload page (start page).
In case the ADAE dataset is not complete (i.e., patients without any adverse events are excluded), there is also an option to ‘Upload Subject Level Data’ (ADSL) with complete subject information for all patients in the safety analysis set. Both datasets should be in sas7bdat- or csv-format.

Please ensure that your datasets contain all the required variables.

Variable Default Format Notes
Subject Identifier SUBJIDN; SUBJID; USUBJIDN; USUBJID num / char Necessary for all uploaded data sets.
Dictionary Derived Term AEDECOD char
Actual Treatment TRT01A; TRT01AN; TRT01P; TRT01PN num / char
Date of First Exposure to Treatment TRTSDT num / char Character Format: %Y-%m-%d
Date of Last Visit LVDT num / char Character Format: %Y-%m-%d
Treatment Emergent Analysis Flag AETREMN; AETRTEM; TRTEMFLN; TRTEMFL num / char Expected values: ‘1’, ‘Y’, ‘Yes’, ‘YES’, ‘yes’, ‘y’
Date of Death DTHDT num / char Character Format: %Y-%m-%d
Safety Population Flag SAFFN; SAFFL num / char Expected values: ‘1’, ‘Y’, ‘Yes’, ‘YES’, ‘yes’, ‘y’
Adverse Event Start Day AESTDY; ASTDY num
Adverse Event End Day AEENDY; AENDY num
Severity / Intensity AESEVN; AESEV num / char Expected values: numeric (1, 2, 3), character (“MILD”, “MODERATE”, “SEVERE”)

Some variables which allow categorization of adverse events are ‘Optional variables’ and do not necessarily need to be included.

Variable Default Format Notes
Serious Event Flag AESERN; AESER num / char Expected values: ‘0’, ‘N’, ‘No’, ‘NO’, ‘no’, ‘n’, ’’
Causality Flag AERELN; AEREL num / char Expected values: ‘1’, ‘Y’, ‘Yes’, ‘YES’, ‘yes’, ‘y’
Causality to Protocol Procedure AERELPRN; AERELPR num / char Expected values: ‘1’, ‘Y’, ‘Yes’, ‘YES’, ‘yes’, ‘y’
Action Taken with Study Treatment AEACNN; AEACN num / char Expected values: ‘1’, ‘DRUG WITHDRAWN’

You may select other than the proposed default variables via drop down menus.

Further optional variables can be attached to ADAE (if not yet included) to enable sorting of the patients in the ‘circle view’. These must be included in ADSL as well, if the decision is made to upload this dataset, but do not need to be specified via drop-down menus. The following variables just serve as some examples:


Animation of Adverse Event Profiles with Artificial Intelligence (in short AdEPro AI) is a feature of AdEPro which allows a column-wise sorting of patients according to similarities in their adverse event patterns to facilitate an easier and more harmonious overview of the complete adverse event data. To use AdEPro AI select ‘Add AdEPro AI’ in the ‘Modify data’ panel.

Euclidean distances between subjects are calculated based on patient days under specific adverse events. Per default, the eight most frequent adverse event variables are selected as sequencing input. These variables can also be further differentiated by severity grade (i.e., as patient days under a specific adverse event with a specific severity). However, the user may also select a completely different set of variables via the ‘Sequencing input’ option.

The sequence and allocation of the patients in the graphic display results from following a seriation technique available in the seriation package by Hahsler and can be chosen via the ‘Sequencing method’ option:

Additional information

Please make sure to use a platform with an audio player to make full use of all functionalities of AdEPro.

A publication with complete details on AdEPro can be found in Mentenich et al. (2020): ‘AdEPro: Animation of Adverse Event Profiles—Presentation of an Easy-to-Use App for Visually Exploring Individual Study Data’, Therapeutic Innovation & Regulatory Science volume 54, pages 1512–1521 (

A video for a quick introduction to AdEPro is available under: