DATA Step, Macro, Functions and more

Unscheduled visits

Reply
Contributor
Posts: 63

Unscheduled visits

How to find the unscheduled visits?

001     01jan2012      10

001     08jan2012       20

001     20jan2012       30

001     27jan2012       40

001     02jan2012       99

001     03jan2012       99

002     02jan2012      10

002     05jan2012      20

002     03jan2012      99

Super User
Posts: 17,828

Re: Unscheduled visits

What's the definition of an unscheduled visit? 

Please post the data as a data step, see examples from your previous questions as well as what the results should look like. Anything you've tried so far would also be helpful. 

 

PS. It seems like you post a question, then try to work on it or continue working on it.  I would highly suggest trying to phrase your questions according to the 'How to Ask a Good Question' guidelines. 80% of the time I find the answer myself before I finish that process. 

 

https://stackoverflow.com/help/how-to-ask

https://stackoverflow.com/help/mcve

Super User
Posts: 17,828

Re: Unscheduled visits

Thanks for the slightly more descriptive subject line Smiley Wink

PROC Star
Posts: 7,363

Re: Unscheduled visits

I am guessing that you want to identify the dates where doses were missed. If that is so, then one possibility would be:

 

data test;
  informat date date9.;
  format date date9.;
  input id $ date dose;
  cards;
001     01jan2012      10
001     08jan2012       20
001     20jan2012       30
001     27jan2012       40
001     02jan2012       99
001     03jan2012       99
002     02jan2012      10
002     05jan2012      20
002     03jan2012      99
;

data want (drop=date last_date dose rename=(missed_date=date));
  set test;
  format missed_date date9.;
  by id;
  last_date=ifn(first.id,date,lag(date));
  if date-last_date gt 1 then do;
    do missed_date=last_date+1 to date-1;
      output;
    end;
  end;
run;

Art, CEO, AnalystFinder.com

Ask a Question
Discussion stats
  • 3 replies
  • 165 views
  • 0 likes
  • 3 in conversation