The PHREG Procedure

Example 85.6 Model Using Time-Dependent Explanatory Variables

Time-dependent variables can be used to model the effects of subjects transferring from one treatment group to another. One example of the need for such strategies is the Stanford heart transplant program. Patients are accepted if physicians judge them suitable for heart transplant. Then, when a donor becomes available, physicians choose transplant recipients according to various medical criteria. A patient’s status can be changed during the study from waiting for a transplant to being a transplant recipient. Transplant status can be defined by the time-dependent covariate function $z=z(t)$ as

\[ z(t)=\left\{ \begin{array}{ll} 0 & \mbox{if the patient has not received the transplant at time \Mathtext{t}} \\ 1 & \mbox{if the patient has received the transplant at time \Mathtext{t}} \end{array} \right. \]

The Stanford heart transplant data that appear in Crowley and Hu (1977) consist of 103 patients, 69 of whom received transplants. The data are saved in a SAS data set called Heart in the following DATA step. For each patient in the program, there is a birth date (Bir_Date), a date of acceptance (Acc_Date), and a date last seen (Ter_Date). The survival time (Time) in days is defined as Time = Ter_DateAcc_Date. The survival time is said to be uncensored (Status=1) or censored (Status=0), depending on whether Ter_Date is the date of death or the closing date of the study. The age, in years, at acceptance into the program is Acc_Age = (Acc_DateBir_Date) / 365. Previous open-heart surgery for each patient is indicated by the variable PrevSurg. For each transplant recipient, there is a date of transplant (Xpl_Date) and three measures (NMismatch, Antigen, Mismatch) of tissue-type mismatching. The waiting period (WaitTime) in days for a transplant recipient is calculated as WaitTime = Xpl_DateAcc_Date, and the age (in years) at transplant is Xpl_Age = (Xpl_DateBir_Date) / 365. For those who do not receive heart transplants, the WaitTime, Xpl_Age, NMismatch, Antigen, and Mismatch variables contain missing values.

The input data contain dates that have a two-digit year representation. The SAS option YEARCUTOFF=1900 is specified to ensure that a two-digit year xx is year 19xx.

options yearcutoff=1900;
data Heart;
   input ID
         @5  Bir_Date mmddyy8.
         @14 Acc_Date mmddyy8.
         @23 Xpl_Date mmddyy8.
         @32 Ter_Date mmddyy8.
         @41 Status 1.
         @43 PrevSurg 1.
         @45 NMismatch 1.
         @47 Antigen 1.
         @49 Mismatch 4.
         @54 Reject 1.
         @56 NotTyped $1.;
   label Bir_Date ='Date of birth'
         Acc_Date ='Date of acceptance'
         Xpl_Date ='Date of transplant'
         Ter_Date ='Date last seen'
         Status   =  'Dead=1 Alive=0'
         PrevSurg ='Previous surgery'
         NMismatch= 'No of mismatches'
         Antigen  = 'HLA-A2 antigen'
         Mismatch ='Mismatch score'
         NotTyped = 'y=not tissue-typed';
   Time= Ter_Date - Acc_Date;
   Acc_Age=int( (Acc_Date - Bir_Date)/365 );
   if ( Xpl_Date ne .) then do;
      WaitTime= Xpl_Date - Acc_Date;
      Xpl_Age= int( (Xpl_Date - Bir_Date)/365 );
   end;
   datalines;
  1 01 10 37 11 15 67          01 03 68 1 0
  2 03 02 16 01 02 68          01 07 68 1 0
  3 09 19 13 01 06 68 01 06 68 01 21 68 1 0 2 0 1.11 0
  4 12 23 27 03 28 68 05 02 68 05 05 68 1 0 3 0 1.66 0
  5 07 28 47 05 10 68          05 27 68 1 0
  6 11 08 13 06 13 68          06 15 68 1 0
  7 08 29 17 07 12 68 08 31 68 05 17 70 1 0 4 0 1.32 1
  8 03 27 23 08 01 68          09 09 68 1 0
  9 06 11 21 08 09 68          11 01 68 1 0
 10 02 09 26 08 11 68 08 22 68 10 07 68 1 0 2 0 0.61 1
 11 08 22 20 08 15 68 09 09 68 01 14 69 1 0 1 0 0.36 0
 12 07 09 15 09 17 68          09 24 68 1 0
 13 02 22 14 09 19 68 10 05 68 12 08 68 1 0 3 0 1.89 1
 14 09 16 14 09 20 68 10 26 68 07 07 72 1 0 1 0 0.87 1
 15 12 04 14 09 27 68          09 27 68 1 1
 16 05 16 19 10 26 68 11 22 68 08 29 69 1 0 2 0 1.12 1
 17 06 29 48 10 28 68          12 02 68 1 0
 18 12 27 11 11 01 68 11 20 68 12 13 68 1 0 3 0 2.05 0
 19 10 04 09 11 18 68          12 24 68 1 0
 20 10 19 13 01 29 69 02 15 69 02 25 69 1 0 3 1 2.76 1
 21 09 29 25 02 01 69 02 08 69 11 29 71 1 0 2 0 1.13 1
 22 06 05 26 03 18 69 03 29 69 05 07 69 1 0 3 0 1.38 1
 23 12 02 10 04 11 69 04 13 69 04 13 71 1 0 3 0 0.96 1
 24 07 07 17 04 25 69 07 16 69 11 29 69 1 0 3 1 1.62 1
 25 02 06 36 04 28 69 05 22 69 04 01 74 0 0 2 0 1.06 0
 26 10 18 38 05 01 69          03 01 73 0 0
 27 07 21 60 05 04 69          01 21 70 1 0
 28 05 30 15 06 07 69 08 16 69 08 17 69 1 0 2 0 0.47 0
 29 02 06 19 07 14 69          08 17 69 1 0
 30 09 20 24 08 19 69 09 03 69 12 18 71 1 0 4 0 1.58 1
 31 10 04 14 08 23 69          09 07 69 1 0
 32 04 02 05 08 29 69 09 14 69 11 13 69 1 0 4 0 0.69 1
 33 01 01 21 11 27 69 01 16 70 04 01 74 0 0 3 0 0.91 0
 34 05 24 29 12 12 69 01 03 70 04 01 74 0 0 2 0 0.38 0
 35 08 04 26 01 21 70          02 01 70 1 0
 36 05 01 21 04 04 70 05 19 70 07 12 70 1 0 2 0 2.09 1
 37 10 24 08 04 25 70 05 13 70 06 29 70 1 0 3 1 0.87 1
 38 11 14 28 05 05 70 05 09 70 05 09 70 1 0 3 0 0.87 0
 39 11 12 19 05 20 70 05 21 70 07 11 70 1 0            y
 40 11 30 21 05 25 70 07 04 70 04 01 74 0 1 4 0 0.75 0
 41 04 30 25 08 19 70 10 15 70 04 01 74 0 1 2 0 0.98 0
 42 03 13 34 08 21 70          08 23 70 1 0
 43 06 01 27 10 22 70          10 23 70 1 1
 44 05 02 28 11 30 70          01 08 71 1 1
 45 10 30 34 01 05 71 01 05 71 02 18 71 1 0 1 0 0.0  0
 46 06 01 22 01 10 71 01 11 71 10 01 73 1 1 2 0 0.81 1
 47 12 28 23 02 02 71 02 22 71 04 14 71 1 0 3 0 1.38 1
 48 01 23 15 02 05 71          02 13 71 1 0
 49 06 21 34 02 15 71 03 22 71 04 01 74 0 1 4 0 1.35 0
 50 03 28 25 02 15 71 05 08 71 10 21 73 1 1            y
 51 06 29 22 03 24 71 04 24 71 01 02 72 1 0 4 1 1.08 1
 52 01 24 30 04 25 71          08 04 71 1 0
 53 02 27 24 07 02 71 08 11 71 01 05 72 1 0            y
 54 09 16 23 07 02 71          07 04 71 1 0
 55 02 24 19 08 09 71 08 18 71 10 08 71 1 0 2 0 1.51 1
 56 12 05 32 09 03 71 11 08 71 04 01 74 0 0 4 0 0.98 0
 57 06 08 30 09 13 71          02 08 72 1 0
 58 09 17 23 09 23 71 10 13 71 08 30 72 1 1 2 1 1.82 1
 59 05 12 30 09 29 71 12 15 71 04 01 74 0 1 2 0 0.19 0
 60 10 29 22 11 18 71 11 20 71 01 24 72 1 0 3 0 0.66 1
 61 05 12 19 12 04 71          12 05 71 1 0
 62 08 01 32 12 09 71          02 15 72 1 0
 63 04 15 39 12 12 71 01 07 72 04 01 74 0 0 3 1 1.93 0
 64 04 09 23 02 01 72 03 04 72 09 06 73 1 1 1 0 0.12 0
 65 11 19 20 03 06 72 03 17 72 05 22 72 1 0 2 0 1.12 1
 66 01 02 19 03 20 72          04 20 72 1 0
 67 09 03 52 03 23 72 05 18 72 01 01 73 1 0 3 0 1.02 0
 68 01 10 27 04 07 72 04 09 72 06 13 72 1 0 3 1 1.68 1
 69 06 05 24 06 01 72 06 10 72 04 01 74 0 0 2 0 1.20 0
 70 06 17 19 06 17 72 06 21 72 07 16 72 1 0 3 1 1.68 1
 71 02 22 25 07 21 72 08 20 72 04 01 74 0 0 3 0 0.97 0
 72 11 22 45 08 14 72 08 17 72 04 01 74 0 0 3 1 1.46 0
 73 05 13 16 09 11 72 10 07 72 12 09 72 1 0 3 1 2.16 1
 74 07 20 43 09 18 72 09 22 72 10 04 72 1 0 1 0 0.61 0
 75 07 25 20 09 29 72          09 30 72 1 0
 76 09 03 20 10 04 72 11 18 72 04 01 74 0 1 3 1 1.70 0
 77 08 27 31 10 06 72          10 26 72 1 0
 78 02 20 24 11 03 72 05 31 73 04 01 74 0 0 3 0 0.81 0
 79 02 18 19 11 30 72 02 04 73 03 05 73 1 0 2 0 1.08 1
 80 06 27 26 12 06 72 12 31 72 04 01 74 0 1 3 0 1.41 0
 81 02 21 20 01 12 73 01 17 73 04 01 74 0 0 4 1 1.94 0
 82 08 19 42 11 01 71          01 01 73 0 0
 83 10 04 19 01 24 73 02 24 73 04 13 73 1 0 4 0 3.05 0
 84 05 13 30 01 30 73 03 07 73 12 29 73 1 0 4 0 0.60 1
 85 02 13 25 02 06 73          02 10 73 1 0
 86 03 30 24 03 01 73 03 08 73 04 01 74 0 0 3 1 1.44 0
 87 12 19 26 03 21 73 05 19 73 07 08 73 1 0 2 0 2.25 1
 88 11 16 18 03 28 73 04 27 73 04 01 74 0 0 3 0 0.68 0
 89 03 19 22 04 05 73 08 21 73 10 28 73 1 0 4 1 1.33 1
 90 03 25 21 04 06 73 09 12 73 10 08 73 1 1 3 1 0.82 0
 91 09 08 25 04 13 73          03 18 74 1 0
 92 05 03 28 04 27 73 03 02 74 04 01 74 0 0 1 0 0.16 0
 93 10 10 25 07 11 73 08 07 73 04 01 74 0 0 2 0 0.33 0
 94 11 11 29 09 14 73 09 17 73 02 25 74 1 1 3 0 1.20 1
 95 06 11 33 09 22 73 09 23 73 10 07 73 1 0            y
 96 02 09 47 10 04 73 10 16 73 04 01 74 0 0 2 0 0.46 0
 97 04 11 50 11 22 73 12 12 73 04 01 74 0 0 3 1 1.78 0
 98 04 28 45 12 14 73 03 19 74 04 01 74 0 0 4 1 0.77 0
 99 02 24 24 12 25 73          01 14 74 1 0
100 01 31 39 02 22 74 03 31 74 04 01 74 0 1 3 0 0.67 0
101 08 25 24 03 02 74          04 01 74 0 0
102 10 30 33 03 22 74          04 01 74 0 0
103 05 20 28 09 13 67          09 18 67 1 0
;

Crowley and Hu (1977) have presented a number of analyses to assess the effects of various explanatory variables on the survival of patients. This example fits two of the models that they have considered.

The first model consists of two explanatory variables—the transplant status and the age at acceptance. The transplant status (XStatus) is a time-dependent variable defined by the programming statements between the MODEL statement and the RUN statement. The XStatus variable takes the value 1 or 0 at time $t\  $ (measured from the date of acceptance), depending on whether or not the patient has received a transplant at that time. Note that the value of XStatus changes for subjects in each risk set (subjects still alive just before each distinct event time); therefore, the variable cannot be created in the DATA step. The variable Acc_Age, which is not time dependent, accounts for the possibility that pretransplant risks vary with age. The following statements fit this model:

proc phreg data= Heart;
   model Time*Status(0)= XStatus Acc_Age;
   if (WaitTime = . or Time < WaitTime) then XStatus=0.;
   else  XStatus= 1.0;
run;

Results of this analysis are shown in Output 85.6.1. Transplantation appears to be associated with a slight decrease in risk, although the effect is not significant (p = 0.8261). The age at acceptance as a pretransplant risk factor adds significantly to the model (p = 0.0289). The risk increases significantly with age at acceptance.

Output 85.6.1: Heart Transplant Study Analysis I

The PHREG Procedure

Model Information
Data Set WORK.HEART  
Dependent Variable Time  
Censoring Variable Status Dead=1 Alive=0
Censoring Value(s) 0  
Ties Handling BRESLOW  

Number of Observations Read
Number of Observations Used
103
103

Summary of the Number of Event and Censored
Values
Total Event Censored Percent
Censored
103 75 28 27.18

Convergence Status
Convergence criterion (GCONV=1E-8) satisfied.

Model Fit Statistics
Criterion Without
Covariates
With
Covariates
-2 LOG L 596.651 591.292
AIC 596.651 595.292
SBC 596.651 599.927

Testing Global Null Hypothesis: BETA=0
Test Chi-Square DF Pr > ChiSq
Likelihood Ratio 5.3593 2 0.0686
Score 4.8093 2 0.0903
Wald 4.7999 2 0.0907

Analysis of Maximum Likelihood Estimates
Parameter DF Parameter
Estimate
Standard
Error
Chi-Square Pr > ChiSq Hazard
Ratio
XStatus 1 -0.06720 0.30594 0.0482 0.8261 0.935
Acc_Age 1 0.03158 0.01446 4.7711 0.0289 1.032



The second model consists of three explanatory variables—the transplant status, the transplant age, and the mismatch score. Four transplant recipients who were not typed have no Mismatch values; they are excluded from the analysis by the use of a WHERE clause. The transplant age (XAge) and the mismatch score (XScore) are also time dependent and are defined in a fashion similar to that of XStatus. While the patient is waiting for a transplant, XAge and XScore have a value of 0. After the patient has migrated to the recipient population, XAge takes on the value of Xpl_Age (transplant age for the recipient), and XScore takes on the value of Mismatch (a measure of the degree of dissimilarity between donor and recipient). The following statements fit this model:

proc phreg data= Heart;
   model Time*Status(0)= XStatus XAge XScore;
   where NotTyped ^= 'y';
   if (WaitTime = . or Time < WaitTime) then do;
      XStatus=0.;
      XAge=0.;
      XScore= 0.;
   end;
   else do;
      XStatus= 1.0;
      XAge= Xpl_Age;
      XScore= Mismatch;
   end;
run;

Results of the analysis are shown in Output 85.6.2. Note that only 99 patients are included in this analysis, instead of 103 patients as in the previous analysis, since four transplant recipients who were not typed are excluded. The variable XAge is statistically significant (p = 0.0143), with a hazard ratio exceeding 1. Therefore, patients who had a transplant at younger ages lived longer than those who received a transplant later in their lives. The variable XScore has only minimal effect on the survival (p = 0.1121).

Output 85.6.2: Heart Transplant Study Analysis II

The PHREG Procedure

Model Information
Data Set WORK.HEART  
Dependent Variable Time  
Censoring Variable Status Dead=1 Alive=0
Censoring Value(s) 0  
Ties Handling BRESLOW  

Number of Observations Read
Number of Observations Used
99
99

Summary of the Number of Event and Censored
Values
Total Event Censored Percent
Censored
99 71 28 28.28

Convergence Status
Convergence criterion (GCONV=1E-8) satisfied.

Model Fit Statistics
Criterion Without
Covariates
With
Covariates
-2 LOG L 561.680 551.874
AIC 561.680 557.874
SBC 561.680 564.662

Testing Global Null Hypothesis: BETA=0
Test Chi-Square DF Pr > ChiSq
Likelihood Ratio 9.8059 3 0.0203
Score 9.0521 3 0.0286
Wald 9.0554 3 0.0286

Analysis of Maximum Likelihood Estimates
Parameter DF Parameter
Estimate
Standard
Error
Chi-Square Pr > ChiSq Hazard
Ratio
XStatus 1 -3.19837 1.18746 7.2547 0.0071 0.041
XAge 1 0.05544 0.02263 6.0019 0.0143 1.057
XScore 1 0.44490 0.28001 2.5245 0.1121 1.560