<?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 Re: Assigning drug groups in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289046#M59670</link>
    <description>&lt;P&gt;Untested - and assumes your data is only 3 drugs and it's sorted by patient.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by person_id;

/*Hold values across rows*/
retain first_prescription_date drug1 drug2 drug3;

/*Set up array for easier referencing*/
array drug(3) $ drug1-drug3;

if first.person_id then do;
  *store first prescription date across rows;
   first_prescription_date=prescription_date;

   *set drugs to missing so data from previous rows dont spill over;
   call missing(of drug(*)); 

    *Set row counter for each person to 0;
   count=0;
end;

*Increment to identify row for each person;
count+1;

*Place drug in correct array variable;
drug(count)=drug_type;

*if on last record per person, check for drug_group. I use WHICHC to check because the order could vary, ie AB is not the same as BA and checking for all possible combinations is cumbersome, so check for each individual occurence;

if last.person_id then do;
    if whichc('A', of drug(*))&amp;gt;0 and whichc('B', of drug(*))&amp;gt;0 then drug_group=1;
    else if whichc('C', of drug(*))&amp;gt;0 and whichc('D', of drug(*))&amp;gt;0 then drug_group=2; 
end;

run;



&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 02 Aug 2016 22:55:17 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-08-02T22:55:17Z</dc:date>
    <item>
      <title>Assigning drug groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289041#M59668</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need a very urgent help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My data set looks like the following, basically only two variables: Person ID and Drug_Type, arranaged like this&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------&lt;/P&gt;
&lt;P&gt;Person_ID &amp;nbsp;Drug_Type &amp;nbsp;Prescription_Date&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-01-01&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-03-05&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-05-10&lt;/P&gt;
&lt;P&gt;10002 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-02-01&lt;/P&gt;
&lt;P&gt;10002 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-07-05&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10002 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-09-15&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to group them as the following&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#1) summarize the First, Second, and Third Drug that the person took,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#2) if a person took drug &amp;nbsp;A &amp;amp; B=group 1, if a person took drug C &amp;amp; D=group2, so what I want looks like the following:&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;Person ID &amp;nbsp; &amp;nbsp;Drug_Group &amp;nbsp; &amp;nbsp; First_&lt;SPAN&gt;Prescription_Date&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; First_Drug &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Second_Drug &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Third_Drug &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;2015-01-01&lt;/SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&lt;/P&gt;
&lt;P&gt;10002 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-02-01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is what I tried:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data w.drug;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;set w.drug;&lt;/P&gt;
&lt;P&gt;Type=First_Drug|Second_Drug|Third_Drug;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data w.drug;&lt;/P&gt;
&lt;P&gt;set w.drug;&lt;/P&gt;
&lt;P&gt;Type=drug_type;&lt;/P&gt;
&lt;P&gt;if Type="AB" then Drug_Group=1;&lt;/P&gt;
&lt;P&gt;else if Type="CD" then Drug_Group=2;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am lost here....and cannot think of a way to assign the first prescription day as well...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am in a very urgent situation. Any help or advice would be very much appreciated.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Aug 2016 22:48:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289041#M59668</guid>
      <dc:creator>sasworker16</dc:creator>
      <dc:date>2016-08-02T22:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: (Urgent) Please Help: assigning drug groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289042#M59669</link>
      <description>&lt;P&gt;Will they always only have three drugs?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You need to transpose your data - in this case a data step is ideal.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can use BY group processing to identify the first date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you need urgent help, please post your data as a data step in the future, I hate writing input code.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Aug 2016 22:47:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289042#M59669</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-08-02T22:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning drug groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289046#M59670</link>
      <description>&lt;P&gt;Untested - and assumes your data is only 3 drugs and it's sorted by patient.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by person_id;

/*Hold values across rows*/
retain first_prescription_date drug1 drug2 drug3;

/*Set up array for easier referencing*/
array drug(3) $ drug1-drug3;

if first.person_id then do;
  *store first prescription date across rows;
   first_prescription_date=prescription_date;

   *set drugs to missing so data from previous rows dont spill over;
   call missing(of drug(*)); 

    *Set row counter for each person to 0;
   count=0;
end;

*Increment to identify row for each person;
count+1;

*Place drug in correct array variable;
drug(count)=drug_type;

*if on last record per person, check for drug_group. I use WHICHC to check because the order could vary, ie AB is not the same as BA and checking for all possible combinations is cumbersome, so check for each individual occurence;

if last.person_id then do;
    if whichc('A', of drug(*))&amp;gt;0 and whichc('B', of drug(*))&amp;gt;0 then drug_group=1;
    else if whichc('C', of drug(*))&amp;gt;0 and whichc('D', of drug(*))&amp;gt;0 then drug_group=2; 
end;

run;



&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 02 Aug 2016 22:55:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289046#M59670</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-08-02T22:55:17Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning drug groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289080#M59687</link>
      <description>&lt;P&gt;Another Version.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want(drop = i Drug_Type);
array k[3] $1 _temporary_ ;
array drug[3] $1 First_D Second_D Third_D;
   do i = 1 by 1 until(last.Person_ID);
      set have;
      by Person_ID;
      drug[i] = Drug_Type;
      k[i] = Drug_Type;
   end;
   do i = 1 to dim(k);
      if ( k[i] = 'A' | k[i] = 'B') then drug_group = 1;
      else if ( k[i] = 'C' | k[i] = 'D') then drug_group = 2;
   end;
   call missing(of k[*]);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Aug 2016 01:27:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289080#M59687</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2016-08-03T01:27:40Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning drug groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289148#M59708</link>
      <description>&lt;P&gt;What would expect for a result if you have data like?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Person_ID &amp;nbsp;Drug_Type &amp;nbsp;Prescription_Date&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-01-01&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2015-03-05&lt;/P&gt;
&lt;P&gt;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;STRONG&gt;D&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 2015-05-10&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not clear on what might be meant by "summarize the First, Second, and Third Drug that the person took"&lt;/P&gt;</description>
      <pubDate>Wed, 03 Aug 2016 10:39:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assigning-drug-groups/m-p/289148#M59708</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-08-03T10:39:42Z</dc:date>
    </item>
  </channel>
</rss>

