Skip to contents

Provides within-encounter last observation carried forward (LOCF) for vital signs and repeated laboratory measurements, encounter-level missingness indicators (miss_<feature>), and training-set-derived median imputation to prevent cross-validation leakage.

Usage

impute_encounter_observations(
  data,
  features = NULL,
  encounter_col = "visit_occurrence_id",
  time_col = "measurement_datetime",
  order_col = NULL,
  id_col = "person_id",
  imputation_strategy = c("locf_median", "locf", "median"),
  training_medians = NULL,
  median_values = NULL,
  add_missing_indicators = TRUE,
  add_indicators = NULL,
  table_name = NULL,
  feature_table = NULL,
  return_medians = FALSE
)

Arguments

data

A data.frame or active DuckDB/DBI connection holding encounter observations.

features

Optional character vector of feature column names to impute. Defaults to all numeric features.

encounter_col

Name of the encounter identifier column (default "visit_occurrence_id").

time_col

Name of the timestamp or sequential ordering column within encounters (default "measurement_datetime").

order_col

Alias for time_col.

id_col

Patient identifier column name (default "person_id").

imputation_strategy

Imputation strategy: "locf_median" (default), "locf", or "median".

training_medians

Optional named list or vector of medians pre-computed on training data.

median_values

Alias for training_medians.

add_missing_indicators

Whether to append binary miss_<feature> indicator columns (default TRUE).

add_indicators

Alias for add_missing_indicators.

table_name

Name of the table if data is a database connection.

feature_table

Alias for table_name.

return_medians

Logical; if TRUE, returns list(data = df, applied_medians = applied_medians).

Value

A data.frame with imputed values and missingness flags, having an attribute "applied_medians".