Skip to contents

Create a class of milestone. An milestone means the time point to take an action, e.g., carry out (futility, interim, final) analysis for add/remove arms, or stop 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.

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.

...

arguments for trigger_condition.


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.

...

other arguments.


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.

Examples

##