Impact of Antiretroviral Therapy on TB in Patients with AIDS in Rio

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…
Dynamics
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
1.0
Pre-intervention
Post-intervention
0.0
Proportion with no PPD
0.2
0.4
0.6
0.8
0.0
Proportion with no PPD
0.2
0.4
0.6
0.8
1.0
Pre-intervention
Post-intervention
0
20
40
60
Weeks
80
100
0
20
40
60
Weeks
80
100
1.0
1.0
THRio
0.0
0.0
Proportion with no IPT
0.2
0.4
0.6
0.8
Pre-intervention
Post-ntervention
Proportion with no IPT
0.2
0.4
0.6
0.8
Pre-intervention
Post-ntervention
0
20
40
60
Weeks
80
100
0
20
40
60
Weeks
80
100
Proportion with no IPT
0.0
0.4
0.8
Proportion with no IPT
0.0
0.4
0.8
Proportion with no PPD
0.0
0.4
0.8
Proportion with no PPD
0.0
0.4
0.8
THRio
0
0
10
10
20
20
30
30
40
Weeks
40
50
50
60
0
0
20
20
40
Weeks
40
60
60
Weeks
80
Weeks
80
100
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
3
2
1
0
Rates/100 person-years
4
5
Death rates for 1-year periods starting 1 Sep 2003
1Jan2004
1Jul2004
1Jan2005
Start period
2Jul2005
1Jan2006
2Jul2006
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
3
2
1
0
Rates/100 person-years
4
5
Death rates and 95% CIs per 4-month periods since Jan '03
1Jan2004
1Jan2005
Start period
1Jan2006
THRio
0
0
50
1000
2004
2005
Start period
2006
Person-years
100
2000
Deaths
150
3000
200
4000
Deaths
PYs
5000
250
Deaths and person-year contributions
THRio
0.2
0.1
0.0
Mean PYs
0.3
0.4
Person-years contribution per patient
1Jan2004
1Jan2005
Start period
1Jan2006
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
0.5
Person-years contribution per patient for each 4-month period per unit
0.0
0.1
0.2
Mean PYs
0.3
0.4
Last period
10th and 11th periods
Other periods
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Unit
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
14
Death rates and 95% CIs for the first year of study
comparing with the previous 2 years
8
6
4
2
0
Death Rates/100 PYs
10
12
Sep 05-Aug 06
Sep 03-Aug 05
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Unit
THRio
14
Death rates and 95% CIs for the first year of study
comparing with the previous 2 years
8
6
4
2
0
Death Rates/100 PYs
10
12
Jan 06-Aug 06
Sep 03-Aug 05
Sep 05-Dec 05
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Unit
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
8
6
7
6
6
6
7
4
7
6
6
7
6
6
7
6
2
7
6
7
67
6
7
0
Death Rates/100 PYs
10
12
14
Death rates and 95% CIs for the first year of study
comparing with the 6th and 7th periods
6
6
6
6
7
7
7
67
7
6
6
7
76
7
1
7
67
2
3
6 7676
4
5
6
7
8
7
6 7
7
7
6
6
7
9
6
76
6
7
7
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Unit
THRio
Let’s try to see all of them over time…
THRio
8
Death rates per 4-month periods per unit between Sep 03 and Aug 05
and during the fisrt year of the study
4
2
0
Death Rates/100 PYs
6
Sep 05-Aug 06
Sep 03-Aug 05
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Unit
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
0
0
50
1000
2004
2005
Start period
2006
Person-years
100
2000
Deaths
150
3000
200
4000
Deaths
PYs
5000
250
Deaths and person-year contributions
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