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)
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.