Protocol and Measures

  • updated 1 yr ago


What it is

A protocol is a simple way to test different experimental conditions, for example different doses of a drug. There is no randomization at this stage: Each protocol arm will be applied to all the patients in your virtual population. In other words, the virtual patients are cloned across each arm allowing for unbiased comparisons. So these are not your traditional real-life trial arms, and, for instance, applying 5 protocol arms to 1,000 patients will lead to 5,000 simulation runs.

What it does

Whereas the virtual population brings variability across patients, with potentially different descriptor values (like weight, age etc…) from one patient to the next, the protocol brings certainty. Indeed, all the patients on one arm will all have the same values for the protocol inputs on that arm. If a descriptor varies from patient to patient in the virtual population but is also set by the protocol arm, the protocol arm takes precedence and all the patients on that arm will have the same value for that descriptor. For instance if the age varies from patient to patient but you set the age in your protocol, then all patients will have the same age on each arm.

Assigning a control arm

Each arm can have its own control arm allowing for multiple comparisons. This comes in handy when coupled with measures to be able to easily create Quantities of Interest (QoIs) comparing a result on one arm versus its control. For instance if you want to compare the maximum tumor size across two treatment regimens, select one arm as the control of the other.

See the how-to on the help center. Other examples are available in the onboarding tutorial


What it is

The output of the model solving is a set of time series (morally a vector of timepoints and solutions at those timepoints). Those vectors represent the dynamic of the biological entities present in the model, for instance, the tumor size or the treatment concentration through time. The Measure design provides a simple interface to extract a value of interest from a time series, we call that extract a scalar result. Such a value can be for instance the maximum across time, the Area Under the Curve (AUC) or simply a value at a certain time.

The measure type

The measure type lets you control how the measure will be computed. If you select "OnEachArm" then it will generate one scalar result per patient and per arm; on the other hand if you select "DifferenceVsControl" (resp. "RatioVsControl") it will compute, for each patient, the difference (resp. the ratio) of that measure on each arm vs. the same measure on its control arm. This implies that for this measure to be computed on a given arm, this arm needs to have designated control.


Assuming one of your model output is the time series "tumorRadius" you can create the following measures:

  • Value of "tumorRadius" at 2Y on each arm
  • DifferenceVsControl of the Max of "tumorRadius" over the period [0,2Y]: to measure the overall treatment effect
  • RatioVsControl of the MinSlope of "tumorRadius" over the period [0,2Y]: to measure the ratio of instantaneous treatment effect between arms.

See the how-to on the help center. Other examples are available in the onboarding tutorial

Reply Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
Like1 Follow
  • 1 yr agoLast active
  • 29Views
  • 1 Following