<?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: Medication Switches in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/365178#M275072</link>
    <description>&lt;P&gt;I like the use of the where and first.id techniques. In the interest of compactness, I think it makes sense to reduce the amount of code to one data step:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; want (&lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;keep&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;=pat_id nswitch);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; set&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; have;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; drug in (&lt;/FONT&gt;&lt;FONT color="#800080" face="SAS Monospace" size="2"&gt;'A'&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="SAS Monospace" size="2"&gt;'B'&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; by&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; pat_id drug &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;notsorted&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; first.pat_id &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;then&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; nswitch=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; else&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; first.drug &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;then&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; nswitch+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; last.pat_id;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;m&lt;/P&gt;</description>
    <pubDate>Wed, 07 Jun 2017 20:52:51 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2017-06-07T20:52:51Z</dc:date>
    <item>
      <title>Medication Switches</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364718#M275069</link>
      <description>&lt;P&gt;Hi everyone,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset with a similar structure as the one shown below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input PAT_ID RX_DT : ddmmyy10. RX_Name $;&lt;BR /&gt;format RX_DT ddmmyy10.;&lt;BR /&gt;datalines;;&lt;BR /&gt;201 18/07/2013 DrugA&lt;BR /&gt;201 27/12/2013 DrugA&lt;BR /&gt;201 13/06/2013 DrugC&lt;BR /&gt;201 19/08/2013 DrugC&lt;BR /&gt;201 01/05/2014 DrugC&lt;BR /&gt;201 14/10/2013 DrugC&lt;BR /&gt;201 20/02/2014 DrugC&lt;BR /&gt;201 27/03/2014 DrugA&lt;BR /&gt;201 16/09/2013 DrugB&lt;BR /&gt;201 18/12/2013 DrugC&lt;BR /&gt;202 16/04/2014 DrugC&lt;BR /&gt;202 16/01/2014 DrugC&lt;BR /&gt;202 02/10/2013 DrugC&lt;BR /&gt;202 15/07/2013 DrugC&lt;BR /&gt;202 13/05/2013 DrugC&lt;BR /&gt;202 11/03/2014 DrugB&lt;BR /&gt;202 11/11/2013 DrugB&lt;BR /&gt;202 23/09/2013 DrugA&lt;BR /&gt;202 05/08/2013 DrugA&lt;BR /&gt;202 24/06/2013 DrugA&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to count the number of switches per patient from DrugA -&amp;gt;&amp;nbsp;&lt;SPAN&gt;DrugB or from DrugB -&amp;gt;&amp;nbsp;DrugA.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For example, both patients have one swhitch.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you very much for your help in advance!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 19:50:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364718#M275069</guid>
      <dc:creator>SRoubanis</dc:creator>
      <dc:date>2017-06-06T19:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: Medication Switches</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364723#M275070</link>
      <description>&lt;P&gt;This seems to work for your example data:&lt;/P&gt;
&lt;PRE&gt;data have;
   input PAT_ID RX_DT : ddmmyy10. RX_Name $;
   format RX_DT ddmmyy10.;
   ld = lag(rx_name);
   switch = (ld='DrugA' and Rx_name='DrugB') or (ld='DrugB' and Rx_name='DrugA') ;
   drop ld;
datalines;
201 18/07/2013 DrugA
201 27/12/2013 DrugA
201 13/06/2013 DrugC
201 19/08/2013 DrugC
201 01/05/2014 DrugC
201 14/10/2013 DrugC
201 20/02/2014 DrugC
201 27/03/2014 DrugA
201 16/09/2013 DrugB
201 18/12/2013 DrugC
202 16/04/2014 DrugC
202 16/01/2014 DrugC
202 02/10/2013 DrugC
202 15/07/2013 DrugC
202 13/05/2013 DrugC
202 11/03/2014 DrugB
202 11/11/2013 DrugB
202 23/09/2013 DrugA
202 05/08/2013 DrugA
202 24/06/2013 DrugA
;
run;

 
&lt;/PRE&gt;
&lt;P&gt;May get cumbersome to use this approach for more specific comparisons though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I hope your real data has very consistent spelling.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 19:59:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364723#M275070</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-06-06T19:59:09Z</dc:date>
    </item>
    <item>
      <title>Re: Medication Switches</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364995#M275071</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input PAT_ID RX_DT : ddmmyy10. RX_Name $;
format RX_DT ddmmyy10.;
datalines;;
201 18/07/2013 DrugA
201 27/12/2013 DrugA
201 13/06/2013 DrugC
201 19/08/2013 DrugC
201 01/05/2014 DrugC
201 14/10/2013 DrugC
201 20/02/2014 DrugC
201 27/03/2014 DrugA
201 16/09/2013 DrugB
201 18/12/2013 DrugC
202 16/04/2014 DrugC
202 16/01/2014 DrugC
202 02/10/2013 DrugC
202 15/07/2013 DrugC
202 13/05/2013 DrugC
202 11/03/2014 DrugB
202 11/11/2013 DrugB
202 23/09/2013 DrugA
202 05/08/2013 DrugA
202 24/06/2013 DrugA
;
run;
data temp;
 set have(where=(RX_Name in ('DrugA' 'DrugB')));
 by PAT_ID RX_Name notsorted;
 if first.RX_Name;
run;
proc sql;
select PAT_ID,int(count(*)/2) as n_switch
 from temp
  group by PAT_ID ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 07 Jun 2017 14:13:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/364995#M275071</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-06-07T14:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: Medication Switches</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/365178#M275072</link>
      <description>&lt;P&gt;I like the use of the where and first.id techniques. In the interest of compactness, I think it makes sense to reduce the amount of code to one data step:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; want (&lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;keep&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;=pat_id nswitch);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; set&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; have;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; where&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; drug in (&lt;/FONT&gt;&lt;FONT color="#800080" face="SAS Monospace" size="2"&gt;'A'&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;,&lt;/FONT&gt;&lt;FONT color="#800080" face="SAS Monospace" size="2"&gt;'B'&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; by&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; pat_id drug &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;notsorted&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; first.pat_id &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;then&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; nswitch=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; else&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; first.drug &lt;/FONT&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;then&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; nswitch+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;&amp;nbsp; if&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; last.pat_id;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;m&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 20:52:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Medication-Switches/m-p/365178#M275072</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-06-07T20:52:51Z</dc:date>
    </item>
  </channel>
</rss>

