## counting encounters

Solved
Regular Contributor
Posts: 182

# counting encounters

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!!

Accepted Solutions
Solution
‎12-10-2015 04:31 PM
Posts: 5,519

## Re: counting encounters

[ Edited ]

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)

PG

All Replies
Regular Contributor
Posts: 161

## Re: counting encounters

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....!!!

Kannan Deivasigamani
Solution
‎12-10-2015 04:31 PM
Posts: 5,519

## Re: counting encounters

[ Edited ]

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)

PG
🔒 This topic is solved and locked.