Milestones: Class of Milestones

MilestonesR Documentation

Class of Milestones

Description

Create a class of milestone. A milestone means the time point to take an action, e.g., carrying out (futility, interim, final) analysis for adding/removing arms, or stopping a trial early. It can also be any more general time point where trial data is used in decision making or adaptation. For example, one can define a milestone for changing randomization scheme, sample size re-assessment, trial duration extension etc.

Public methods in this R6 class are used in developing this package. Thus, we have to export the whole R6 class which exposures all public methods. However, none of the public methods on this page is useful to end users. Instead, refer to the vignette to learn how to define milestones when performing simulation using TrialSimulator.

Methods

Public methods


Method new()

initialize milestone

Usage
Milestones$new(name, type = name, trigger_condition, action = doNothing, ...)
Arguments
name

character. Name of milestone.

type

character vector. Milestone type(s) (futility, interim, final), a milestone can be of multiple types. This is for information purpose so can be any string.

trigger_condition

function to check if this milestone should trigger. See vignette Condition System for Triggering Milestones in a Trial.

action

function to execute when the milestone triggers.

...

(optional) arguments of action.


Method get_name()

return name of milestone

Usage
Milestones$get_name()

Method get_type()

return type(s) of milestone

Usage
Milestones$get_type()

Method get_trigger_condition()

return trigger_condition function

Usage
Milestones$get_trigger_condition()

Method get_action()

return action function

Usage
Milestones$get_action()

Method set_dry_run()

set if dry run should be carried out for the milestone. For more details, refer to Controller::run.

Usage
Milestones$set_dry_run(dry_run)
Arguments
dry_run

logical.


Method execute_action()

execute action function

Usage
Milestones$execute_action(trial)
Arguments
trial

a Trial object.


Method get_trigger_status()

return trigger status

Usage
Milestones$get_trigger_status()

Method reset()

reset an milestone so that it can be triggered again. Usually, this is called before the controller of a trial can run additional replicates of simulation.

Usage
Milestones$reset()

Method trigger_milestone()

trigger an milestone (always TRUE) and execute action accordingly. It calls Trial$get_data_lock_time() to lock data based on conditions implemented in Milestones$trigger_condition. If time that meets the condition cannot be found, Trial$get_data_lock_time() will throw an error and stop the program. This means that user needs to adjust their trigger_condition (e.g., target number of events (target_n_events) is impossible to reach).

Usage
Milestones$trigger_milestone(trial)
Arguments
trial

a Trial object.


Method mute()

mute all messages (not including warnings)

Usage
Milestones$mute(silent)
Arguments
silent

logical.


Method clone()

The objects of this class are cloneable with this method.

Usage
Milestones$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


TrialSimulator documentation built on Nov. 5, 2025, 7:22 p.m.