Hi! Want to create a table that counts the total days weteen first and last patient visit (ENCDATE)..variable 'Diff_Enc' and also a variable that counts total encounters 'Tot_Enc' (one observation per encounter).
data asthma.difference_vist;
set asthma.op_exclusion;
by patssn;
if first.patssn=1 and last.patssn=1 then delete;
Diff_Enc=Encdate-LAG(encdate);
if not (first.patssn=1) then output;
Tot_Enc=encdate+1;
run;
The DIFF_ENC gives forrect information, but the Tot_Enc jsut gives '.' in all values. Can someone please let me know how to properly count the encounters?
Thanks!!
To get a single obs per patssn, do:
data asthma.difference_vist;
Tot_Enc = 0;
do until (last.patssn);
set asthma.op_exclusion; by patssn;
if first.patssn then firstEnc = encDate;
Tot_Enc + 1;
end;
Diff_Enc = intck("DAY", firstEnc, encDate);
drop firstEnc;
run;
(untested)
Can you provide some sample data and what you expect in the output?
With what you have provided so far, I would say, use retain statements to save the first and last dates and then calculate the difference before writing to the output.
Good Luck....!!!
To get a single obs per patssn, do:
data asthma.difference_vist;
Tot_Enc = 0;
do until (last.patssn);
set asthma.op_exclusion; by patssn;
if first.patssn then firstEnc = encDate;
Tot_Enc + 1;
end;
Diff_Enc = intck("DAY", firstEnc, encDate);
drop firstEnc;
run;
(untested)
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.