derive_vars_last_dose {admiral}R Documentation

Derive Last Dose



This function is deprecated, please use derive_vars_joined() instead.


  filter_ex = NULL,
  by_vars = exprs(STUDYID, USUBJID),
  dose_id = exprs(),
  single_dose_condition = EXDOSFRQ == "ONCE",
  new_vars = NULL,
  traceability_vars = NULL



Input dataset. The variables specified by the by_vars and analysis_date parameters are expected.


Input EX dataset. The variables specified by the by_vars, dose_date, new_vars parameters, and source variables from traceability_vars parameter are expected.


Filtering condition applied to EX dataset. For example, it can be used to filter for valid dose. Defaults to NULL.


Variables to join by (created by rlang::exprs).


Variables to identify unique dose (created by rlang::exprs). Defaults to empty exprs().


The EX dose date variable. A date or date-time object is expected.


The analysis date variable. A date or date-time object is expected.


The condition for checking if dataset_ex is single dose. An error is issued if the condition is not true. Defaults to (EXDOSFRQ == "ONCE").


Variables to keep from dataset_ex, with the option to rename. Can either be variables created by rlang::exprs (e.g. exprs(VISIT)), or named list returned by exprs() (e.g. exprs(LSTEXVIS = VISIT)). If set to NULL, then all variables from dataset_ex are kept without renaming. Defaults to NULL.


A named list returned by exprs() listing the traceability variables, e.g. exprs(LDOSEDOM = "EX", LDOSESEQ = EXSEQ). The left-hand side (names of the list elements) gives the names of the traceability variables in the returned dataset. The right-hand side (values of the list elements) gives the values of the traceability variables in the returned dataset. These can be either strings or symbols referring to existing variables.


Add EX source variables from last dose to the input dataset.

When doing date comparison to identify last dose, date-time imputations are done as follows:

The last dose records are identified as follows:

  1. The dataset_ex is filtered using filter_ex, if provided. This is useful for, for example, filtering for valid dose only.

  2. The datasets dataset and dataset_ex are joined using by_vars.

  3. The last dose is identified: the last dose is the EX record with maximum date where dose_date is lower to or equal to analysis_date, subject to both date values are non-NA. The last dose is identified per by_vars. If multiple EX records exist for the same dose_date, then either dose_id needs to be supplied (e.g. dose_id = exprs(EXSEQ)) to identify unique records, or an error is issued. When dose_id is supplied, the last EX record from the same dose_date sorted by dose_id will be used to identify last dose.

  4. The EX source variables (as specified in new_vars) from last dose are appended to the dataset and returned to the user.

This function only works correctly for EX dataset with a structure of single dose per row. If your study EX dataset has multiple doses per row, use create_single_dose_dataset() to transform the EX dataset into single dose per row structure before calling derive_vars_last_dose().

If variables (other than those specified in by_vars) exist in both dataset and dataset_ex, then join cannot be performed properly and an error is issued. To resolve the error, use new_vars to either keep variables unique to dataset_ex, or use this option to rename variables from dataset_ex (e.g. new_vars = exprs(LSTEXVIS = VISIT)).


Input dataset with EX source variables from last dose added.

See Also

Other deprecated: derive_param_extreme_event(), derive_var_basetype(), derive_var_confirmation_flag(), derive_var_last_dose_amt(), derive_var_last_dose_date(), derive_var_last_dose_grp(), derive_var_merged_cat(), derive_var_merged_character()

[Package admiral version 0.12.1 Index]