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)
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.