The PHREG Procedure

Example 86.6 Model Using Time-Dependent Explanatory Variables

(View the complete code for this example.)

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 as

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_Date – Acc_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_Date – Bir_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_Date – Acc_Date, and the age (in years) at transplant is Xpl_Age = (Xpl_Date – Bir_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 (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 86.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 86.6.1: Heart Transplant Study Analysis I

The PHREG Procedure

Model Information
Data SetWORK.HEART 
Dependent VariableTime 
Censoring VariableStatusDead=1 Alive=0
Censoring Value(s)0 
Ties HandlingBRESLOW 

Number of Observations Read
Number of Observations Used
103
103

Summary of the Number of Event and Censored
Values
TotalEventCensoredPercent
Censored
103752827.18

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

Model Fit Statistics
CriterionWithout
Covariates
With
Covariates
-2 LOG L596.651591.292
AIC596.651595.292
SBC596.651599.927

Testing Global Null Hypothesis: BETA=0
TestChi-SquareDFPr > ChiSq
Likelihood Ratio5.359320.0686
Score4.809320.0903
Wald4.799920.0907

Analysis of Maximum Likelihood Estimates
ParameterDFParameter
Estimate
Standard
Error
Chi-SquarePr > ChiSqHazard
Ratio
XStatus1-0.067200.305940.04820.82610.935
Acc_Age10.031580.014464.77110.02891.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 86.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 86.6.2: Heart Transplant Study Analysis II

The PHREG Procedure

Model Information
Data SetWORK.HEART 
Dependent VariableTime 
Censoring VariableStatusDead=1 Alive=0
Censoring Value(s)0 
Ties HandlingBRESLOW 

Number of Observations Read
Number of Observations Used
99
99

Summary of the Number of Event and Censored
Values
TotalEventCensoredPercent
Censored
99712828.28

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

Model Fit Statistics
CriterionWithout
Covariates
With
Covariates
-2 LOG L561.680551.874
AIC561.680557.874
SBC561.680564.662

Testing Global Null Hypothesis: BETA=0
TestChi-SquareDFPr > ChiSq
Likelihood Ratio9.805930.0203
Score9.052130.0286
Wald9.055430.0286

Analysis of Maximum Likelihood Estimates
ParameterDFParameter
Estimate
Standard
Error
Chi-SquarePr > ChiSqHazard
Ratio
XStatus1-3.198371.187467.25470.00710.041
XAge10.055440.022636.00190.01431.057
XScore10.444900.280012.52450.11211.560