Solved
Learner
Posts: 1

flagging cases

I have a dataset like below. There are 3 patients that visited the hospital multiple times, whether planned or unplanned. I would like to flag all the cases as planned = 1 once we find the first planned case.

data tr1;
input ptid\$ day planned;
cards;
a 0 0
a 5 0
a 10 0
a 12 1
a 15 1
a 20 0
a 25 0
a 29 1
b 0 0
b 6 0
b 14 1
c 0 1
c 11 0
c 15 0
c 19 0
;
run;

I would like to have an output as below adding one extra flag. For ear patient (ptid) once it finds the first planed visit, I would like to have all the records after first planned visit as planned visit even if they are unplanned.

Thanks

ptid day planned plflag
a 0 0 0
a 5 0 0
a 10 0 0
a 12 1 1
a 15 1 1
a 20 0 1
a 25 0 1
a 29 1 1
b 0 0 1
b 6 0 1
b 14 1 1
c 0 1 1
c 11 0 1
c 15 0 1

Accepted Solutions
Solution
‎07-02-2016 05:09 PM
Posts: 5,524

Re: flagging cases

Assuming your example is wrong for pationt b :

``````data want;
do until(last.ptid);
set tr1; by ptid;
plFlag = plFlag or planned;
output;
end;
run;``````
PG

All Replies
Solution
‎07-02-2016 05:09 PM
Posts: 5,524

Re: flagging cases

Assuming your example is wrong for pationt b :

``````data want;
do until(last.ptid);
set tr1; by ptid;
plFlag = plFlag or planned;
output;
end;
run;``````
PG
☑ This topic is solved.