PG Stats, Thank you so much for the suggested syntax. This syntax runs much faster on my dataset then K Sharp's PROC SQL syntax, but there seems to be a problem. I deduplicated my data set by PATID and APPT_DATE (so that each ER visit has a unique APPT_DATE). I then ran your suggested syntax (although I dropped the line to delete 'i'): data er_patients_count; array d{0:4} _temporary_; call missing(of d{*}); do i = 1 by 1 until(last.PATID); set er_patients; by PATID; d{mod(i,5)} = APPT_DATE; if i >=5 then /* Note d{mod(i+1,5)} is the oldest date in array d */ if intck("YEAR", d{mod(i+1,5)}, APPT_DATE, "CONTINUOUS") < 1 then output; end; run; The biggest concern is that the variable 'i' is not equal to 5 for each patient's 1st appt_date. I sorted the new table by PATID and APPT_DATE, and created a new variable FIRST_ALL = FIRST.PATID. The syntax and frequency output for my table (N=2,086) follow. proc freq data = er_patients_count; where first_all = 1; tables i; run; SAS Output i Frequency Percent Cumulative Cumulative Frequency Percent 5 1152 55.23 1152 55.23 6 324 15.53 1476 70.76 7 205 9.83 1681 80.58 8 150 7.19 1831 87.78 9 126 6.04 1957 93.82 10 65 3.12 2022 96.93 11 31 1.49 2053 98.42 12 15 0.72 2068 99.14 13 10 0.48 2078 99.62 14 5 0.24 2083 99.86 15 3 0.14 2086 100 Here's sample output for 4 different patients: i PATID APPT_DATE 8 4444444444 5/10/2013 9 4444444444 5/26/2013 10 4444444444 6/27/2013 11 4444444444 11/6/2013 12 4444444444 1/21/2014 13 4444444444 2/23/2014 15 4444444444 9/16/2014 16 4444444444 10/10/2014 17 4444444444 11/25/2014 18 4444444444 12/13/2014 19 4444444444 12/21/2014 20 4444444444 12/27/2014 5 5555555555 7/1/2014 6 5555555555 9/4/2014 10 6666666666 11/12/2014 9 7777777777 4/7/2014 10 7777777777 7/1/2014 11 7777777777 7/6/2014 12 7777777777 8/10/2014 13 7777777777 9/6/2014 14 7777777777 9/15/2014 15 7777777777 10/9/2014 16 7777777777 10/30/2014 17 7777777777 11/7/2014 18 7777777777 11/24/2014 19 7777777777 4/17/2015 20 7777777777 7/31/2015 Patient 4444444444 - 1st event i = 8, no i= 14 Patient 5555555555 - looks perfect Patient 6666666666 - only 1 event, i = 10 Patient 7777777777 - 1st event i = 9, but everything else looks perfect I'm not sure why there's a problem with counting the events. Any suggestions? Thanks so much!
... View more