Tutorials › Population Pharmacokinetics › Carry Forward Longitudinal Covariates Carefully

Dataset Construction and Quality Control · Tutorial 49 of 599

Carry Forward Longitudinal Covariates Carefully

Learn to apply a clinically justified, time-limited carry-forward rule and preserve the distinction between measured and carried covariate values.

Intermediate 10 min read

What You'll Learn

  • Define the conditions for carrying a previous covariate value to a later analysis time.
  • Set a maximum carry-forward interval for each covariate using clinical and measurement considerations.
  • Apply the rule using elapsed time from the source measurement, not from a previously carried value.
  • Give newly observed measurements precedence over carried values.
  • Identify situations in which an event or change makes a previous value unsuitable.
  • Audit carried values by their source, age, interval, and reason for use or non-use.

Why Carrying a Covariate Forward Needs a Rule

A longitudinal covariate is measured repeatedly over time, but its measurement times may not coincide with pharmacokinetic (PK) sample times. A PK record may therefore have no covariate value measured at that exact time. Carrying a previous value forward can provide a practical alignment rule, but it also makes an assumption: the earlier measurement is still a reasonable representation of the covariate at the later time.

That assumption is more credible for some covariates and intervals than for others. A body weight measured recently may be usable for a nearby PK sample if weight is expected to change slowly and there has been no relevant intervening event. A laboratory measure that can change quickly may not be represented well by a result from several weeks earlier. A rule should therefore specify both which values may be carried and how old they may be.

This tutorial focuses on carrying a previous measurement to a later analysis time. It does not make the carried value a new observation, nor does it establish that the covariate truly remained unchanged. The carried value is a data-construction choice with an explicit time limit and assumptions.

Definition: A carried-forward covariate value is a previously observed value assigned to a later analysis time when the covariate has no eligible measurement at that time. The assigned value must come from the same subject and covariate, be measured no later than the analysis time, satisfy the prespecified maximum elapsed-time interval, and have no known intervening event that invalidates its use. A carried value remains distinct from a newly observed value.

Specify Eligibility Before Applying the Rule

For each covariate, define the eligible source measurement, the maximum carry-forward interval, and any events that make a prior value unsuitable. Apply the rule at the time of the PK record or other analysis record that requires the covariate. If a valid measurement is available at that time, use it as observed. Otherwise, consider the most recent eligible directly observed measurement at or before that time.

Let \(t\) be the analysis time, \(s\) the time of the most recent directly observed measurement, and \(\Delta_{\max}\) the maximum carry-forward interval. The elapsed age of that measurement is \(a=t-s\). A previous value is eligible only if \(0\leq a\leq\Delta_{\max}\), and if the covariate-specific validity conditions are met. For a time recorded in days, both \(a\) and \(\Delta_{\max}\) are expressed in days.

$$ \text{Use the previous value at }t \quad\Longleftrightarrow\quad 0\leq t-s\leq\Delta_{\max} \ \text{and no known invalidating event occurred between }s\text{ and }t. $$

This rule is applied to the source measurement date, not the date of an earlier analysis row on which that value may already have been carried. Repeatedly carrying a carried value can otherwise make an old measurement appear more recent than it is. Retaining the original measurement time makes the true age visible and prevents the interval from silently restarting.

The maximum interval is not a universal number. It should be specified for the particular covariate using clinical expectations about how quickly it can change, how it was measured, the study’s measurement schedule, and how important the covariate is to the analysis. It should be set as part of the data-construction rule, not extended after seeing which value gives a preferred model result.

1
Check for a measurement at the analysis time.
If a valid value was measured for this subject and covariate at that time, retain it as observed.
2
Find the previous direct observation.
If no value is available at the analysis time, identify the latest valid measurement no later than that time. Do not treat an already carried record as a new source measurement.
3
Check the age and validity conditions.
Calculate elapsed time from the source measurement, compare it with the prespecified maximum interval, and check whether any relevant event invalidates the earlier value.
4
Assign a value or leave it unavailable.
Carry the source value only if every condition is met. Preserve its observed-versus-carried status and source time for review.

Why the Time Limit Matters

The time limit is a practical safeguard against treating an increasingly stale value as if it were current. A simple justification is available when the covariate’s rate of change can reasonably be bounded over the interval of interest. Suppose \(z(t)\) is the true covariate value and its change satisfies \(|z(t)-z(s)|\leq L|t-s|\), where \(L\) is a plausible upper bound on the rate of change in covariate units per unit time. Carrying \(z(s)\) to \(t\) then gives:

$$ |z(t)-z(s)|\leq L(t-s)\leq L\Delta_{\max}. $$

Thus, under that bound, choosing a smaller \(\Delta_{\max}\) limits the possible discrepancy attributable to elapsed time. This is a conceptual justification, not a claim that the rate bound is known or that all biological changes follow it. If the covariate can change abruptly, a smooth-rate argument may be inappropriate; known events, such as a treatment change or an acute clinical episode, may require a separate validity rule.

The size of a discrepancy also matters in relation to the analysis. In a model where a covariate enters linearly with coefficient \(\beta\), a covariate discrepancy \(z(t)-z(s)\) corresponds to a difference of \(\beta[z(t)-z(s)]\) in the linear predictor. Even a modest difference in covariate units may matter when the covariate effect is large. This is one reason to justify the interval in the context of the covariate and intended model rather than selecting a convenient interval for the whole dataset.

Worked Example: Carrying Body Weight Within a Prespecified Interval

Suppose, hypothetically, that body weight was measured for one subject as 72.4 kg on study day 0 and 71.8 kg on day 28. The study’s documented rule allows a previous weight to be carried for at most 35 days, provided no known event makes it unrepresentative. PK records occur on days 14, 28, 42, and 70.

Day 14: There is no weight measurement on day 14. The latest direct observation is day 0, so \(a=14-0=14\) days. Since \(14\leq35\), carry 72.4 kg to day 14, labelled as carried from day 0.

Day 28: A weight of 71.8 kg was measured on that day. Use 71.8 kg as the observed value; do not substitute the earlier 72.4 kg.

Day 42: No weight was measured on day 42. The latest direct observation is day 28, so \(a=42-28=14\) days. Since \(14\leq35\), carry 71.8 kg from day 28.

Day 70: No weight was measured on day 70. The latest direct observation is still day 28, so \(a=70-28=42\) days. Because \(42>35\), do not carry 71.8 kg. The covariate remains unavailable for that record under this rule. A value carried to day 42 would not reset the source date to day 42.

Worked Applications and Data Checks

Worked Example: A Recent Laboratory Measurement

Consider a hypothetical time-varying renal-function covariate recorded in mL/min. The prespecified rule permits carrying a valid result for no more than 14 days, unless a relevant clinical event makes it unsuitable. A value of 82 mL/min was measured on day 7, and a value of 76 mL/min was measured on day 25. PK records without a same-time result occur on days 18 and 24.

Day 18: The most recent direct observation available by day 18 is 82 mL/min from day 7. Its age is \(18-7=11\) days. Because \(11\leq14\), and assuming no invalidating event is documented, carry 82 mL/min from day 7.

Day 24: The day 25 measurement is not an eligible previous observation for a day 24 record. The most recent measurement no later than day 24 remains the day 7 result, whose age is \(24-7=17\) days. Since \(17>14\), no value is carried to day 24 under this rule.

Day 25: The new result of 76 mL/min is recorded as an observed measurement. The arithmetic demonstrates both the interval check and the reason the later result does not change the source selected for day 24.

Worked Example: An Intervening Change Invalidates a Prior Category

Suppose, hypothetically, that smoking status is recorded as “No” on day 0, with a 30-day maximum carry-forward interval. The study records a participant’s report of starting smoking on day 12. A PK record on day 8 has no same-time status measurement; another occurs on day 20 without a new status measurement.

Day 8: The day 0 status is 8 days old, and no intervening change is known before day 8. Under the stated rule, “No” may be carried from day 0, with its carried status retained.

Day 20: Although the day 0 measurement is only \(20-0=20\) days old and so falls within the 30-day maximum, the reported change on day 12 makes the day 0 value unsuitable as a representation of day 20 status. Do not carry “No.” The value is unavailable unless a suitable measurement or other prespecified source is available.

The age test is necessary but not sufficient: satisfying the maximum interval does not override evidence that the covariate changed.

Diagnostics, Alternatives, and Limitations

A carry-forward rule should produce records that can be audited. For each assigned value, retain enough information to identify whether it was observed or carried, the source measurement and its time, the elapsed age, the applicable maximum interval, and any exclusion reason. This lets reviewers distinguish a genuinely measured value from a value assigned for alignment. It also supports checks by covariate, subject, and study period.

Useful diagnostics include the distribution of ages for carried values, the number and proportion of records carried for each covariate, the number exceeding the interval and left unavailable, and the longest consecutive run that depends on one source observation. Review whether carries cluster in particular subjects or periods, and check whether a large fraction of values are near the maximum interval. Such patterns can point to sparse measurement, inconsistent collection, an overly permissive interval, or a rule that does not match the covariate’s behavior.

Common failure modes include using a value from a different subject, carrying a value across a known change, confusing a recorded zero with a missing value, and measuring the carry interval from an already carried row. The earlier material on classifying covariate missingness is relevant here: carry-forward is a rule for a missing analysis-time value, not a reason to overwrite an observed value or reinterpret what a missing record means.

Carrying forward is only one possible strategy. Using observed covariate values without filling gaps avoids assigning a previous measurement to a later time, but may leave fewer usable analysis records. A model-based treatment of a time-varying covariate may represent its trajectory more directly, but requires additional assumptions and analysis choices. New measurement collection can reduce gaps at their source. These approaches are not interchangeable; the choice depends on the covariate, study design, analysis objective, and consequences of missingness.

The main limitation is that a carried value can be wrong even when the rule is followed. A person’s covariate may change between measurements without a recorded event, and a short interval does not guarantee stability. Conversely, a value outside the maximum interval might happen to remain unchanged, but the prespecified rule still makes it ineligible. Carry-forward should therefore be described as a bounded data-construction assumption, not as evidence that the covariate was constant.

Key takeaway: Carry a previous longitudinal covariate only when it is a valid direct observation for the same subject, its age is within a justified prespecified limit, and no known event invalidates it. Keep its original source time and distinguish it from a newly observed measurement.

Check Your Understanding

For each question, apply the stated rule and compare your reasoning with the solutions.

  1. A covariate was measured at day 5 and has a 10-day maximum carry-forward interval. It is missing at day 15. Is the previous value eligible by age? What source time should be retained?
  2. A measurement is available at the exact PK time, while an earlier value would also satisfy the maximum interval. Which value should be used, and how should it be classified?
  3. A value measured on day 2 is carried to a record on day 12. A later record occurs on day 20 with no new measurement, and the maximum interval is 15 days. Is the original value eligible at day 20?
  4. A covariate value is 6 days old, within its 14-day limit, but a documented event between measurement and PK time is known to change that covariate. Should it be carried? Explain.

Solutions. (1) Yes. The age is \(15-5=10\) days, which equals the allowed maximum; retain day 5 as the source time. (2) Use the value measured at the PK time and classify it as observed, not carried. (3) No. Its age is \(20-2=18\) days, which exceeds 15 days. The day 12 carry does not reset the original measurement time. (4) No. Meeting the age limit is not enough; the documented event invalidates the earlier value for this later time.

Clinical Biostats