What Is a Rolling Baseline and How to Use ?
What Is a Rolling Baseline?
A rolling baseline refers to a flexible approach to defining the baseline time point for each participant, especially when participants are enrolled at different times or when baseline data is collected over a period rather than at a fixed time.
In External Studies:
- External studies often use real-world data or external control arms.
- A rolling baseline allows each subject’s index date (start of observation or treatment) to be defined individually, based on when they meet inclusion criteria or initiate treatment.
- This is especially useful when aligning external data with internal trial data for comparative analysis.
🧠Why Use a Rolling Baseline?
- Variable Enrollment Timing: Participants may enter the study at different times, so a fixed baseline date isn't feasible.
- Real-World Data Integration: When using external data sources (e.g., EHRs, registries), the baseline must be tailored to each subject’s timeline.
- Minimizing Bias: Helps ensure that baseline measurements are truly pre-treatment and not influenced by early intervention effects .
⚠️ Considerations
- Baseline Integrity: Extending the baseline period too far risks including data influenced by treatment, which can bias results .
- Statistical Adjustment: Analyses must account for differences in baseline timing and characteristics to ensure valid comparisons .
- Documentation: Clear definition of how baseline is determined for each subject is essential for transparency and reproducibility .
📊 Example Use Case
In an OLE (Open Label Extension) or external control study, you might:
- Identify when each subject first meets inclusion criteria.
- Define that date as their rolling baseline.
- Use it to anchor follow-up measurements and compare outcomes post-baseline.
SAS Code: Rolling Baseline and Post-Baseline Merge
Step 1: Identify Rolling Baseline per Subject
/* Sort external dataset by SubjectID and date */
proc sort data=external_data;
by SubjectID EventDate;
run;
/* Apply inclusion criteria and select first qualifying record as rolling baseline */
data rolling_baseline;
set external_data;
where Age >= 6 and Age <= 13 and VisitType = "Baseline";
by SubjectID;
if first.SubjectID then do;
IndexFlag = 1;
PostIndexFlag = 0;
rename EventDate = IndexDate;
output;
end;
run;
Step 2: Merge with External Data to Get Post-Baseline Records
/* Sort external data again for merging */
proc sort data=external_data;
by SubjectID EventDate;
run;
/* Merge and filter post-baseline records */
data post_baseline;
merge external_data(in=ext) rolling_baseline(in=idx);
by SubjectID;
if ext and idx and EventDate > IndexDate then do;
IndexFlag = 0;
PostIndexFlag = 1;
output;
end;
run;
Step 3: Combine Baseline and Post-Baseline Records
data combined_rolling_baseline;
set rolling_baseline post_baseline;
run;
Comments
Post a Comment