400 likes | 460 Views
THRio. Antonio G F Pacheco. THRio. Outline Database setup Creating a master table with main outcomes Mortality recovery with linkage Issues and differences between units. THRio. Database. THRio. We needed to evaluate the intervention
E N D
THRio Antonio G F Pacheco
THRio • Outline • Database setup • Creating a master table with main outcomes • Mortality recovery with linkage • Issues and differences between units
THRio Database
THRio • We needed to evaluate the intervention • Intervention itself is training professionals and facilitate guidelines implementation • Request TST for eligible patients • Give IPT for eligible patients • First approach • Percentages • Given eligible patients for TST • Given eligible patients for IPT • There are problems with this approach
THRio • Issues • There is a lead time between training and following guidelines • That’s variable for each clinic • Frequency with which patients return to clinic • Logistic problems within the clinic • TST is not placed every day • To start IPT, TB has to be ruled out • It could take a long time to get a chest X-ray!!!
THRio • We thought we would have to take time into account! • Instead of percentages, rates • The process a patient goes through is pretty complex • There are dynamics issues involved • We tried to understand the dynamics first
THRio • Understanding the dynamics of patients • Patients may go through several ‘states’ • Events of interest are all dated • It is possible to calculate transition rates • It would be useful for process analysis • Taking time into account • Let’s see it schematically…
THRio • Main table generated by the system • Based on the schematic part only • Takes info from several tables • Lots of programming involved • 9 SQL views • Delphi (Pascal) programming • > 1000 lines of code • Computationally-intensive • About 40 min in a AMD 2 x 1.6 GHz with 2Gb RAM
THRio • Other outcomes included • TB outcomes • IPT outcomes • 20 different codes (with dates) • Long format database • Let’s see an example with some fake data…
THRio • Actually now it is easy to extend it • Implemented in Python • Mainly date functions • Could easily be extended in other languages (e.g. SAS) • Extra info from patients • HAART • CD4 • VL • Extra info from study • Intervention status
THRio • Let’s see one script…
THRio • Now we can calculate rates • Can present data as a survival analysis • Compare pre- and post-intervention • Calendar x non-calendar analysis • Dynamics of the study • Dynamics of the intervention • Can be presented by clinic as well
THRio Death Rates
THRio • Death rates over time in our cohort • How many deaths are we missing? • With linkage we are able to improve the numbers • But how much? • Is our death rate reasonable? • Are there differences over time? • Are there differences across units?
THRio • Patients known to be dead at data abstraction • Between Sep ’03 and Sep ’05 • Abstracted as ‘inactive’ • In the beginning not even after Sep ’05 • We started recovering them • Since Sep ‘03 • No data abstracted if patients did not have a visit after Sep ‘03
THRio • Problem • These patients are not included in the analyses • Potential biases on results • Linkage with main database would fail • If we don’t even have names or DOBs • Main biases • Outcomes unrelated with deaths • Outcomes associated with deaths • Death as an outcome
THRio • Overall death rates: • From Sep ’03-Aug ’05 • 1.95/100 pys • From Sep ’05-Mar ’07 • 3.49/100 pys • The problem is: there is no reason to believe the rates are increasing • If we are missing during the study, it is much worse before it began! • Let’s see the rates per year…
THRio • To better understand what’s going on • Rates per 4-month periods from Jan ’03-Mar ’07 • Number of deaths • Person-years contribution • There are at least 3 things to be explained…
THRio • What about differences among units? • Let’s try to see the issues of person-time and deaths per units • Starting with the person-years…
THRio • The mean contribution is lower for half of the units • This is an operational issue of the way data is collected in this study • For the 10th and 11th periods, it doesn’t seem that bad • For deaths, if we exclude the 1st, 2nd and last periods, we can compare the rates per unit
THRio • Let’s see the death rates • Excluding the 1st, 2nd periods • Using 9th, 10th and 11th periods as the standard death rate • Rates and 95% CIs per unit • A little underestimated • Let’s compare the death rates in the other periods per unit • How it is evolving over time • 6th and 7th periods problem
THRio • In fact some units caught up earlier • Majority did not • Even the ones that are within the CIs are consistently lower than the reference rate • 7 units have similar rates • Problem • Some units remove charts from archives soon after the patient is known to be dead • Let’s look at those periods…
THRio • Let’s try to see all of them over time…
THRio • So far, it looks a bad idea to use the time period before the study began to study mortality • What could be done to improve that? • Run linkage with inactive patients • We wouldn’t have all the info • But could at least learn about vital status • Would help for Sep ’03 to Dec ‘05
THRio • What about the mortality after the study began? • My guess is that we will have about 3.6/100 pys • Let’s see where it comes from
THRio • Further steps • Compare that rate with rates in the literature • Stratify them by HAART use and CD4 counts • See if rates per stratum are reasonable • Also compare with other studies