Documentation Example 6 for PROC PHREG

/****************************************************************/
/*          S A S   S A M P L E   L I B R A R Y                 */
/*                                                              */
/*    NAME: PHREX6                                              */
/*   TITLE: Documentation Example 6 for PROC PHREG              */
/* PRODUCT: STAT                                                */
/*  SYSTEM: ALL                                                 */
/*    KEYS: Cox's Regression, Time-Dependent Covariates,        */
/*          Programming Statements                              */
/*   PROCS: PHREG                                               */
/*    DATA: Crowley and Hu (1977), "Covariance Analysis of      */
/*          Heart Transplant Survival Data," JASA, 72, pp 27-36 */
/* SUPPORT: sasycs                                              */
/*     REF: SAS/STAT User's Guide, PROC PHREG Chapter           */
/*    MISC:                                                     */
/****************************************************************/

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
;

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

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;
      XAge = Xpl_Age;
      XScore = Mismatch;
   end;
run;