DATA Step, Macro, Functions and more

flagging cases

Accepted Solution Solved
Reply
Occasional Learner
Posts: 1
Accepted Solution

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
Respected Advisor
Posts: 4,651

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

View solution in original post


All Replies
Solution
‎07-02-2016 05:09 PM
Respected Advisor
Posts: 4,651

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.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 167 views
  • 1 like
  • 2 in conversation