350 likes | 668 Views
Using Stata Graphs to Visually Monitor the Progress of Multi-centre Randomized Clinical Trials. Alexandra Whate & Glenn Jones. General Background. Clinical trials are increasingly multi-centre and global
E N D
Using Stata Graphs to Visually Monitor the Progress of Multi-centre Randomized Clinical Trials Alexandra Whate & Glenn Jones
General Background • Clinical trials are increasingly multi-centre and global • Routine meetings about trial status become logistically difficult and expensive to hold • Investigators have different levels of training and motivation in carrying out clinical trials • Monthly performance monitoring reports have traditionally been text and table based -adaptations need to be made
Our Context • In 6 trials Investigators from over 30 countries collect data and submit them to the DMC • Monthly Performance Monitoring Reports are created by the DMC and submitted to Investigators and Technical Officers (TO) • Used to evaluate investigator performance • Used to monitor study progress • Accrual, follow-up, survival, adverse events • Provide investigators with the “big picture” to encourage continued accrual, adherence to protocol and patient follow-up • Detection of emerging issues or bias
Principles to Optimize Monthly Reports: • Visual – to overcome language barriers • Relatively Simple – to match the level of training of Investigators • Discriminating – To easily identify those that are adhering to protocol and those who are not • Efficient – Quick to read and understand • Strategic – Motivating Investigators; minimize bias; ensure patient safety
Applications of Stata • Monitoring Accrual • Monitoring Survival • Monitoring Clinical Trajectories • Monitoring Follow-up
1. Accrual Accrual should be relatively rapid All centres should participate in adding patients to the study on a regular basis
Using Stata To Monitor Accrual • Line plots show total accrual over the time of the study (standard) • Bar graphs show monthly accrual • Bar graphs can also be made ‘by centre’ to show accrual for each centre involved • These can demonstrate • Trends in accrual • Interruptions due to issues with staffing and equipment
Graph bar var, over(monthvar, label(angle(ver))) blabel(total) ytitleylabel(0(2)14) ylabel(,angle(hor)) saving(graphstata) twoway line varvar, clwidth(medthick) ylabel(,angle(hor)) xlabel(,nolabel) xtitle("") saving(graphlinestata) graph combine graphstata.gph graphlinestata.gph, col(1) title(“Total Accrual”)
graph bar var, by(centre) over(month var, label(labsize(vsmall) angle(ver))) ytitle("number of patients accrued") ylabel(0(2)10) ylabel(,angle(hor)) blabel(total, gap(.25)) title(“Accrual by Centre”)
Monitoring Randomization • We must ensure that randomization processes are working • Require by the end of accrual that there are equal number of patients on each treatment arm of the study • Requires that patients are being placed at an equal rate on the study arms – real time randomization
Two-Arm Trial bihistvar, by(var)
Multi-Arm Trial cdfplotvar, by(txarm) legend(col(4)) xlabel(,angle(ver))
2. Monitoring Survival Ethical requirement to monitor patterns of mortality over the span of the study
Monitoring Survival • Kaplan-Meier plots allow us to estimate event rates over time • We create a “survival” variable with date of event or last follow-up minus the date of randomization gen SURV=date of last follow-up – date of randomization stset SURV, failure(death==1) • Stata allows for graphical demonstration of survival estimates for different baseline groups (different disease, stage of disease etc) especially important for sample size
sts graph, cim censored(single) risktable(,title(Risk)) ylabel(,angle(hor)) ylabel(#10) xlabel(#20) xtitle("days from randomization")xlabel(,angle(ver)) 1 sts graph, cim censored(single) risktable(,title(Risk)) ylabel(,angle(hor)) ylabel(#10) xlabel(#20) xtitle("days from randomization")xlabel(,angle(ver))
3. Clinical Trajectory Demonstrates the extent to which protocol-required activities are properly ordered and on time Demonstrates the homogeneity or patterns in clinical trajectories and identifies clear outliers (protocol violation, patient choice)
Clinical Trajectory • In Stata, graphic representations of clinical trajectories can be created by plotting dates of interest: • Date of diagnosis • Dates of imaging/scans/biopsies • Date of surgery • Date of randomization • Dates of treatment • Dates of follow ups • Plot deceased and living patients separately
twoway scatter varvarvarvarvarvarvarvarif deathflag==1, xti("date of randomization")yti("") xlabel(,angle(ver)) ylabel(,angle(hor)) legend(col(4)) ti("Clinical Trajectories of Deceased Patients") || scatter varvarif status==1, msymbol(x) mcolor(gold) legend(lab(8 "Death")) xlabel(#20) ylabel(#10)
twoway scatter varvarvarvarvarvarvar if death==1 , xti("date of randomization")yti("") xlabel(,angle(ver)) ylabel(,angle(hor)) legend(col(4)) || scatter varvar, msymbol(x) mcolor(gold) legend(lab(8 “death")) xlabel(#20) ylabel(#10) by(centre)
Scatter Plots for Living Patients twoway scatter varvarvarvarvarvarvar, msize(small) xti("Date of Randomization") xlabel(,angle(ver)) ylabel(,angle(hor)) legend(col(4) ti("Clinical Trajectories")yline(18048)xlabe(#25)ylabel(#10)
4. Tracking Follow-Up Identify patients that are at risk of being lost to follow-up Follow-up is required by protocol in specific intervals
Ensuring Regular Follow-Up • Each month we are interested in monitoring the date of last follow-up for each patient to determine whether follow-up submission is up to date • We can use a strip plot separated by country to show the date of last follow-up for each patient • Dot plots can be used to isolate patients based on follow-up date (mlabel) • Goal is to inform Investigators about the specific cases that are missing follow-up • Allows synchronization of records
Jul-08 Jul-09 Oct-08 Oct-09 Oct-07 Apr-09 Apr-08 Jan-09 Jan-08 Jun-08 Jun-09 Feb-09 Mar-09 Feb-08 Mar-08 Aug-08 Sep-08 Nov-08 Dec-08 Nov-07 Dec-07 Aug-09 Sep-09 May-08 May-09 DOlfu Country 1 Country 3 Country 5 Country 7 Country 9 Country 2 Country 4 Country 6 Country 8 Strip Plot: Follow-Up stripplotvar, over(var) xlabel(,angle(ver)) xline(18110) separate(centre) legend(col(3))
Dot Plots dotplotvar, ylabel(,angle(hor)) ylabel(#5) mlabel(patid) mlabsize(tiny) xscale(off) yline(18110)
Strategic Monitoring of Follow-up • Scatter plots and strip plots give a visual clue to the proportion of patients that are out of date for follow-up • A more sophisticated look at combined follow-up for the whole trial allows us to determine the proportion exactly • Plotting cumulative date of last follow-up with CDF plots estimates permanent loss to follow-up
CDF Plot - Cumulative Follow-up Line to denote the time since which follow-up forms should have been received cdfplotvar, ylabel(#10) xlabe(#5) xlabel(,angle(ver)) xline(18130) xtitle(date of last follow-up) ytitle (%) legend(col(3))
Determining Contribution • CDF plots can be made by centre to show how each centre is contributing to the global CDF • Then scatter plots can also be modified to list specific patients that are behind on follow-up • We generate cumulative date variables cumulvar, gen(newvar) and scatter these dates to create a “Scatter CDF plot” • By plotting only those patients that are overdue for follow-up we can “zoom in” on the CDF plot to identify the specific patients that are contributing to sections 1 or 2 of the overall CDF plot.
Cumulative Follow-Up by Centre cdfplotvar, by(centre) ylabel(#10) xlabe(#5) xlabel(,angle(ver)) xline(18110) xtitle(date of last follow-up) ytitle (%) legend(col(3))
Scatter CDF twoway (scatter cdfvarif centre==1, mlabel(patid)) (scatter cdfvar if centre==2, mlabel(patid)) (scatter cdfvarif centre==3, mlabel(patid)) (scatter cdfvarif centre==4, mlabel(patid)) (scatter cdfvarif centre==5, mlabel(patid)) (scatter cdfvar if centre==6, xlabel(,angle(ver)) legend(col(6)) xlabel(#5) ylabel(,angle(hor)) mlabel(patid))
Follow-Up Over Time • We can merge serial .dta files (just key variables) to enable simultaneous plotting of each months CDF for dates of last follow-up in patients that are/were alive • This shows the structure of follow-up across the months of the study
Summary • Stata’s graphing capabilities can be used to monitor accrual, survival and follow-up status and other aspects of protocol adherence • The time interval between reports can be short • reports can be produced efficiently using do files • Minimum Investigator training is required to interpret reports about the whole study and their own performance • The trial can be visually monitored by TO’s and the DMC
Summary • Rapid identification of problems by centre and patient can lead to more timely responses • Different patterns of problems can be detected for which different strategies for resolution can be pursued – this can give direction to Investigators as to how to solve problems • Using Stata to visually monitor trails helps to improve patient safety and trial quality