Hello!
I need help to flag where admission and discharge dates are within each other.
For example:
MHN ADMITDATE DISCHARGEDATE FLAG
111 1/5/2013 1/10/2013
111 1/7/2013 1/8/2013 1
111 2/3/2013 2/4/2013
222 2/10/2013 2/15/2013
222 2/10/2013 2/10/2013 1
222 2/14/2013 2/14/2013 1
444 5/10/2013 5/11/2013
So I would need a field called flag and I would need to flag the three that I have put a 1 by. Is this possible?
Thank you so much in advance!
DO UNTIL to the rescue:
data have;
input MHN ADMITDATE :mmddyy. DISCHARGEDATE :mmddyy.;
format admitdate dischargedate yymmdd.;
datalines;
111 1/5/2013 1/10/2013
111 1/7/2013 1/8/2013
111 2/3/2013 2/4/2013
222 2/10/2013 2/15/2013
222 2/10/2013 2/10/2013
222 2/14/2013 2/14/2013
444 5/10/2013 5/11/2013
;
data want;
do until(last.mhn);
set have; by mhn;
flag = admitdate < lastdischarge;
output;
lastdischarge = max(lastdischarge, dischargedate);
end;
drop lastdischarge;
run;
proc print data=want noobs; run;
PG
why 111 1/7/2013 1/8/2013 this line has flag 1 and why not 111 2/3/2013 2/4/2013, they also have diff of 1.
or may be you just want to check when admission date and discharge date are same, then you may try below code:
data have;
input MHN ADMITDATE :mmddyy. DISCHARGEDATE :mmddyy.;
format admitdate dischargedate yymmdd.;
if ADMITDATE= DISCHARGEDATE then flag=1;
datalines;
111 1/5/2013 1/10/2013
111 1/7/2013 1/8/2013
111 2/3/2013 2/4/2013
222 2/10/2013 2/15/2013
222 2/10/2013 2/10/2013
222 2/14/2013 2/14/2013
444 5/10/2013 5/11/2013
;
RUN;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.