Add a clinical feature (variable) to a therapy or encounter longitudinal table. The feature corresponds to the Ordinary Least Squares (OLS) intercept and slope of clinical observations of interest

clinical_feature_ols_trend(
  x,
  observation_code,
  hours,
  observation_code_system = NULL,
  compute = TRUE
)

# S4 method for RamsesObject
clinical_feature_ols_trend(
  x,
  observation_code,
  hours,
  observation_code_system = NULL,
  compute = TRUE
)

Arguments

x

an object of class TherapyEpisode or Encounter

observation_code

a character vector of clinical investigation codes matching the observation_code field in the inpatient_investigation table (see validate_investigations()

hours

the maximum number of hours the observations should date back from t_start, the starting time of every row in the longitudinal table

observation_code_system

(optional, reserved to situations where observation_code is ambiguous across code systems/vocabularies) a single character string specifying the code system identifier of observation_code (for example: "http://snomed.info/sct").

The default (NULL) filters observations using the observation_code only.

compute

if TRUE (the default), the remote therapy table will be computed on the remote server. This is generally faster.

Value

an object of class TherapyEpisode or Encounter

Details

The feature will be computed exclusively on numeric investigations marked with status "final", "preliminary", "corrected", or "amended".

The returned regression slope coefficient corresponds to the mean change associated with a 1-hour time increment.

The returned regression intercept is defined with respect to time equals zero at t_start. It thus corresponds to the value of the linear (straight line) extrapolation of the trend to t_start.

Examples

if (FALSE) {
fake_db <- create_mock_database("example.duckdb")
temperature_check <- clinical_feature_ols_trend(
   TherapyEpisode(fake_db, "4d611fc8886c23ab047ad5f74e5080d7"),
   observation_code = "8310-5",
   hours = 24
   )
str(longitudinal_table(temperature_check, collect = TRUE))
}