<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Flag all observations on the first visit date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845240#M334131</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a patient dataset with observations across many years. I would like to flag all the observations on the first visit date. If there are multiple diagnoses on the first visit date I would like to also flag those but only if the diagnoses are different. I would like to create a second flag for those with multiple different diagnoses on the first date. See below for an example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;FID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;diagnosis&lt;/TD&gt;&lt;TD&gt;flag (want)&lt;/TD&gt;&lt;TD&gt;Multi (want)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-05-05&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-05-05&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-07-13&lt;/TD&gt;&lt;TD&gt;ADHD&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-07-18&lt;/TD&gt;&lt;TD&gt;Conduct&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2017-05-29&lt;/TD&gt;&lt;TD&gt;conduct&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2017-08-16&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2017-10-18&lt;/TD&gt;&lt;TD&gt;adhd&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-11-16&lt;/TD&gt;&lt;TD&gt;conduct&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-11-16&lt;/TD&gt;&lt;TD&gt;adhd&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-12-10&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Sat, 19 Nov 2022 02:14:49 GMT</pubDate>
    <dc:creator>JLang055</dc:creator>
    <dc:date>2022-11-19T02:14:49Z</dc:date>
    <item>
      <title>Flag all observations on the first visit date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845240#M334131</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a patient dataset with observations across many years. I would like to flag all the observations on the first visit date. If there are multiple diagnoses on the first visit date I would like to also flag those but only if the diagnoses are different. I would like to create a second flag for those with multiple different diagnoses on the first date. See below for an example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;FID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;diagnosis&lt;/TD&gt;&lt;TD&gt;flag (want)&lt;/TD&gt;&lt;TD&gt;Multi (want)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-05-05&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-05-05&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-07-13&lt;/TD&gt;&lt;TD&gt;ADHD&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2016-07-18&lt;/TD&gt;&lt;TD&gt;Conduct&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2017-05-29&lt;/TD&gt;&lt;TD&gt;conduct&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2017-08-16&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2017-10-18&lt;/TD&gt;&lt;TD&gt;adhd&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-11-16&lt;/TD&gt;&lt;TD&gt;conduct&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-11-16&lt;/TD&gt;&lt;TD&gt;adhd&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2017-12-10&lt;/TD&gt;&lt;TD&gt;anxiety&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 19 Nov 2022 02:14:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845240#M334131</guid>
      <dc:creator>JLang055</dc:creator>
      <dc:date>2022-11-19T02:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: Flag all observations on the first visit date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845242#M334133</link>
      <description>&lt;P&gt;I am not sure I understand what the flags mean clinically but here is a method.&lt;/P&gt;
&lt;P&gt;Basically you need to count the number of dates per FID to be able to tell if the diagnosis is on the first date for that FID.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input FID Date :yymmdd. diagnosis :$upcase. flag_want multi_want ;
  format date yymmdd10.;
cards;
1 2016-05-05 anxiety 1 0
1 2016-05-05 anxiety 0 0
1 2016-07-13 ADHD 0 0
1 2016-07-18 Conduct 0 0
2 2017-05-29 conduct 1 0
3 2017-08-16 anxiety 1 0
3 2017-10-18 adhd 0 0
4 2017-11-16 conduct 1 1
4 2017-11-16 adhd 1 0
4 2017-12-10 anxiety 0 0
;

proc sort;
 by fid date diagnosis ;
run;

data want ;
  set have;
  by fid date diagnosis  ;
  if first.fid then dateno=0;
  dateno+first.date;
  flag=first.diagnosis and dateno=1;
  multi=first.diagnosis and dateno=1 and not first.date ;
run;

proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;                                         flag_    multi_
Obs    FID          Date    diagnosis     want     want     dateno    flag    multi

  1     1     2016-05-05     ANXIETY       1         0         1        1       0
  2     1     2016-05-05     ANXIETY       0         0         1        0       0
  3     1     2016-07-13     ADHD          0         0         2        0       0
  4     1     2016-07-18     CONDUCT       0         0         3        0       0
  5     2     2017-05-29     CONDUCT       1         0         1        1       0
  6     3     2017-08-16     ANXIETY       1         0         1        1       0
  7     3     2017-10-18     ADHD          0         0         2        0       0
  8     4     2017-11-16     ADHD          1         0         1        1       0
  9     4     2017-11-16     CONDUCT       1         1         1        1       1
 10     4     2017-12-10     ANXIETY       0         0         2        0       0

&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 Nov 2022 03:52:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845242#M334133</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-11-19T03:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: Flag all observations on the first visit date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845256#M334144</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input FID Date :yymmdd. diagnosis :$upcase.   ;
  format date yymmdd10.;
cards;
1 2016-05-05 anxiety 1 0
1 2016-05-05 anxiety 0 0
1 2016-07-13 ADHD 0 0
1 2016-07-18 Conduct 0 0
2 2017-05-29 conduct 1 0
3 2017-08-16 anxiety 1 0
3 2017-10-18 adhd 0 0
4 2017-11-16 conduct 1 1
4 2017-11-16 adhd 1 0
4 2017-12-10 anxiety 0 0
;

proc sql;
create table temp as
select *,count(*) as a,count(distinct diagnosis) as b
 from have
   group by fid,date  ;
quit;
data want; 
 set temp;
 by fid date;
 flag=0;Multi=0;
 if first.fid then n=0;
 if first.date then n+1;
 if n=1 then flag=1;
 if flag=1 and a&amp;gt;b and not first.date then flag=0;
 if first.fid and b&amp;gt;1 then Multi=1;
 drop n a b ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 Nov 2022 09:11:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-all-observations-on-the-first-visit-date/m-p/845256#M334144</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-11-19T09:11:57Z</dc:date>
    </item>
  </channel>
</rss>

