<?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: How do I count total days of overlap? in Statistical Procedures</title>
    <link>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496156#M25701</link>
    <description>&lt;P&gt;Hello &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/233846"&gt;@ssulli11&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your overlap counts (30, 15) suggest that RxEnd is the day &lt;EM&gt;after&lt;/EM&gt; the last drug administration (in the respective period).&amp;nbsp;If this is the case, you should adapt the relevant DO loop in PG's solution accordingly:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;do date = rxStart to rxEnd-1;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 17 Sep 2018 09:12:52 GMT</pubDate>
    <dc:creator>FreelanceReinh</dc:creator>
    <dc:date>2018-09-17T09:12:52Z</dc:date>
    <item>
      <title>How do I count total days of overlap?</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496109#M25698</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to this board so apologies if I don't yet know the proper etiquette for posting. I have found a couple questions posed that are similar to mine in nature, but none is quite what I am looking for.&amp;nbsp; I don't want to waste anyone's time so if I have missed another solution please point me in the right direction and I will be happy to try those out!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking to find the total days overlapped between two drug classes throughout 1 year.&amp;nbsp; There may be multiple periods of overlap throughout the year, however, I want to sum the total days of overlap into one final number.&amp;nbsp; I would also like to include the first day of overlap.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have already broken my data down into years so each file is one complete year.&amp;nbsp; Below is a simplified version of my data with what I currently 'have' and the output I 'want'.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;HAVE&lt;/TD&gt;&lt;TD&gt;HAVE&lt;/TD&gt;&lt;TD&gt;HAVE&lt;/TD&gt;&lt;TD&gt;HAVE&lt;/TD&gt;&lt;TD&gt;HAVE&lt;/TD&gt;&lt;TD&gt;WANT&lt;/TD&gt;&lt;TD&gt;WANT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;RxStart&lt;/TD&gt;&lt;TD&gt;RxEnd&lt;/TD&gt;&lt;TD&gt;DrugClass&lt;/TD&gt;&lt;TD&gt;Overlap (days)&lt;/TD&gt;&lt;TD&gt;1st Day of Overlap&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;TD&gt;17928&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;TD&gt;17928&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18141&lt;/TD&gt;&lt;TD&gt;18171&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18171&lt;/TD&gt;&lt;TD&gt;18201&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;17898&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18079&lt;/TD&gt;&lt;TD&gt;18115&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;18110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18110&lt;/TD&gt;&lt;TD&gt;18140&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;18110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18215&lt;/TD&gt;&lt;TD&gt;18230&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;18110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18220&lt;/TD&gt;&lt;TD&gt;18234&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;18110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18089&lt;/TD&gt;&lt;TD&gt;18125&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18126&lt;/TD&gt;&lt;TD&gt;18146&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18156&lt;/TD&gt;&lt;TD&gt;18186&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;18186&lt;/TD&gt;&lt;TD&gt;18196&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any and all help is appreciated!&amp;nbsp; Thank you for your time.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Sep 2018 03:10:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496109#M25698</guid>
      <dc:creator>ssulli11</dc:creator>
      <dc:date>2018-09-17T03:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: How do I count total days of overlap?</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496115#M25699</link>
      <description>&lt;P&gt;Using 1-year arrays:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Year RxStart RxEnd DrugClass;
format RxStart RxEnd yymmdd10.;
datalines; 
1 2009 17898 17928 0  
1 2009 17898 17928 1  
1 2009 18141 18171 0  
1 2009 18171 18201 0  
2 2009 18079 18115 1  
2 2009 18110 18140 0  
2 2009 18215 18230 1  
2 2009 18220 18234 0  
3 2009 18089 18125 0 
3 2009 18126 18146 0 
3 2009 18156 18186 1 
3 2009 18186 18196 1 
;

proc sort data=have; by year ID; run;

data want;
array c0{0:366};
array c1{0:366};
do until(last.ID);
    set have; by year id;
    do date = rxStart to rxEnd;
        i = intck("day", mdy(1, 1, year), date);
        if drugClass = 0 
            then c0{i} = 1;
            else c1{i} = 1;
        end;
    end;
overlap = 0;
do i = 0 to 366;
    if c0{i} and c1{i} then do;
        overlap = overlap + 1;
        if missing(firstDay) 
            then firstDay = intnx("day", mdy(1, 1, year), i); 
        end;
    end;
do until(last.ID);
    set have; by year id;
    output;
    end;
format firstDay yymmdd10.;
drop c0: c1: date i;
run;

proc print data=want noobs; run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 17 Sep 2018 04:33:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496115#M25699</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-09-17T04:33:43Z</dc:date>
    </item>
    <item>
      <title>Re: How do I count total days of overlap?</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496156#M25701</link>
      <description>&lt;P&gt;Hello &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/233846"&gt;@ssulli11&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your overlap counts (30, 15) suggest that RxEnd is the day &lt;EM&gt;after&lt;/EM&gt; the last drug administration (in the respective period).&amp;nbsp;If this is the case, you should adapt the relevant DO loop in PG's solution accordingly:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;do date = rxStart to rxEnd-1;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 17 Sep 2018 09:12:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496156#M25701</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2018-09-17T09:12:52Z</dc:date>
    </item>
    <item>
      <title>Re: How do I count total days of overlap?</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496302#M25704</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Year RxStart RxEnd DrugClass;
format RxStart RxEnd yymmdd10.;
datalines; 
1 2009 17898 17928 0  
1 2009 17898 17928 1  
1 2009 18141 18171 0  
1 2009 18171 18201 0  
2 2009 18079 18115 1  
2 2009 18110 18140 0  
2 2009 18215 18230 1  
2 2009 18220 18234 0  
3 2009 18089 18125 0 
3 2009 18126 18146 0 
3 2009 18156 18186 1 
3 2009 18186 18196 1 
;

data want;
do until(last.id);
	set have;
	by id;
	k=lag(rxend);
	if first.id then do; flag=0;Day1stofOverlap=.;Overlap=0;end;
	if id=lag(id) and lag(drugclass) ne drugclass and flag eq 0 and rxstart&amp;lt;k then do; 
	dif=k-rxstart;flag=1;
	if not Day1stofOverlap then Day1stofOverlap=rxstart;
end;
else flag=0;
Overlap+dif;
call missing(dif);
end;
do until(last.id);
	set have;
	by id;
	output;
end;
format  Day1stofOverlap yymmdd10.;
drop k dif;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;A request plz:&lt;/P&gt;
&lt;P&gt;If the above works or does not work let me know a feedback be it positive or negative. The logic was given to me by a Python expert college mate of mine by the name Mr. Jim Scully&amp;nbsp; at DePaul university, Chicago. I merely translated his logic to SAS syntax. We look forward to your feedback for our continuous learning and improvement. Thank you&lt;/P&gt;</description>
      <pubDate>Mon, 17 Sep 2018 16:44:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/How-do-I-count-total-days-of-overlap/m-p/496302#M25704</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-09-17T16:44:52Z</dc:date>
    </item>
  </channel>
</rss>

