<?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 to check days overlap in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203084#M50677</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did this before by this method.&lt;/P&gt;&lt;P&gt;Process each record in your input data set.&lt;/P&gt;&lt;P&gt;output (Write) an observation for each day the drug was taken. Start at the start date and output a record for each day until the end date.&lt;/P&gt;&lt;P&gt;Now you have a dataset with Id&amp;nbsp; drug and date.&amp;nbsp; sort by id date drug.&amp;nbsp;&amp;nbsp; Now read the records.in by id date drug.&amp;nbsp; If first.drug count=0&amp;nbsp; If last.drug and count gt 5 then output.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Jim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jul 2015 11:51:42 GMT</pubDate>
    <dc:creator>Jim_G</dc:creator>
    <dc:date>2015-07-15T11:51:42Z</dc:date>
    <item>
      <title>how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203082#M50675</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I have a question about checking days overlap. I have a data set listed as below. For the same id, there might be more than one drug prescription (variable: drug). For each drug prescription, there may be refill (variable: refill, 0: first time, 1: first refill, 2: second refill.....n: nth refill). There are two variables for beginning date and ending date for prescription. There are more than 10K different id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refill&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_date&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/10/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug1&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;&amp;nbsp; 03/11/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/20/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug1&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;&amp;nbsp; 03/25/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/05/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/09/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&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;&amp;nbsp; 03/17/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/24/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&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;&amp;nbsp; 03/27/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/04/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 09/02/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 09/09/14&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;n&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I need to do is to check if the overlap days for different drug for the same person are more than 5 days. In another word, I defined overlap as two different drugs for more than 5 days together.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I plan to do is listed as below.&lt;/P&gt;&lt;P&gt;(step 1) to check the begin_date and end_date for the same drug. If the begin_date of refill is just the next day to the end_date of last time, then combine the date into one row. Actually I do not care the refill variable by the end. so I want my original data to be changed like below. For example, for drug1 of id=1, the first two rows will be combined into one row, because 03/11/14 is just next day to 03/10/14. I am not sure how to do this.&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refill&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_date&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/20/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug1&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;&amp;nbsp; 03/25/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/05/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/09/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&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;&amp;nbsp; 03/17/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/24/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug2&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;&amp;nbsp; 03/27/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/04/14&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drug3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/09/14&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;n&lt;/P&gt;&lt;P&gt;n&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(step2) after step 1, I am not sure how to compare the day period with each other for different drugs within the same id. The first difficulty is I do not want to compare the day period for the same drug (like row 1 and row 2 for drug1). The second difficulty is how to do pairwise comparison among different drugs with each other within the same id by iteration. Finally, I need create dummy variable (overlap) indicating if there are two different drugs overlap more than 5 days for each id, like below.&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; overlap&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks in advanced for your answer!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 01:55:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203082#M50675</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-15T01:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203083#M50676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to do several steps. I added proc sort to remove original observation when "combined". There may be smarter solutions. In the end results overlapping cases are twice (both ways) but you can modify it smarter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp; select h1.id,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.drug,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.refill,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h1.begin_date,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coalesce(h2.end_date,h1.end_date) format=date9. as end_date&lt;/P&gt;&lt;P&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp; have1 h1 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join have1 h2&lt;/P&gt;&lt;P&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; on&amp;nbsp; h1.id = h2.id &lt;/P&gt;&lt;P&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; and&amp;nbsp; h1.drug = h2.drug&lt;/P&gt;&lt;P&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; and&amp;nbsp; h1.refill lt h2.refill&lt;/P&gt;&lt;P&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; and&amp;nbsp; h1.end_date + 1 eq h2.begin_date&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=want out=want1 nodupkey;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by id drug end_date;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table overlaps as&lt;/P&gt;&lt;P&gt;&amp;nbsp; select w1.id,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w1.drug as Drug1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w1.refill as refill1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w1.begin_date format=date9. as begin_date1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w1.end_date&amp;nbsp;&amp;nbsp; format=date9. as end_date1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w2.drug&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;&amp;nbsp;&amp;nbsp; as drug2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w2.refill as refill2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w2.begin_date format=date9. as begin_date2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w2.end_date&amp;nbsp;&amp;nbsp; format=date9. as end_date2&lt;/P&gt;&lt;P&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp; want1 w1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join want1 w2&lt;/P&gt;&lt;P&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; on&amp;nbsp; w1.id = w2.id&lt;/P&gt;&lt;P&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; and w1.drug&amp;nbsp; ^= w2.drug &lt;/P&gt;&lt;P&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; and (w1.begin_date between w2.begin_date and w2.end_date &lt;/P&gt;&lt;P&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; or w1.end_date between w2.begin_date and w2.end_date &lt;/P&gt;&lt;P&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; or w2.begin_date between w1.begin_date and w1.end_date&lt;/P&gt;&lt;P&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; or w2.end_date between w1.begin_date and w1.end_date&lt;/P&gt;&lt;P&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; )&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 10:22:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203083#M50676</guid>
      <dc:creator>AskoLötjönen</dc:creator>
      <dc:date>2015-07-15T10:22:47Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203084#M50677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did this before by this method.&lt;/P&gt;&lt;P&gt;Process each record in your input data set.&lt;/P&gt;&lt;P&gt;output (Write) an observation for each day the drug was taken. Start at the start date and output a record for each day until the end date.&lt;/P&gt;&lt;P&gt;Now you have a dataset with Id&amp;nbsp; drug and date.&amp;nbsp; sort by id date drug.&amp;nbsp;&amp;nbsp; Now read the records.in by id date drug.&amp;nbsp; If first.drug count=0&amp;nbsp; If last.drug and count gt 5 then output.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Jim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 11:51:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203084#M50677</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-15T11:51:42Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203085#M50678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did the same exact thing as Jim did. So search your questions at this forum , that would not waste both of us time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H3 style="color: #353535; font-family: Lato, sans-serif; background-color: #f0f1f2;"&gt;Code: Program&lt;/H3&gt;&lt;PRE class="sce-render" style="font-family: 'Courier New', Menlo, 'Lucida Console'; font-size: 16px;"&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;data&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;have&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;input&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;id&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;drug&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;$&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;refill&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="format" style="color: #008080;"&gt;mmddyy12.&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;format&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="format" style="color: #008080;"&gt;mmddyy10.&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;cards&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug1 0 03/01/14 03/10/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug1 1 03/11/14 03/20/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug1 2 03/25/14 04/05/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug2 0 03/02/14 03/09/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug2 1 03/17/14 03/24/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug2 2 03/27/14 04/04/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="cards-data" style="color: #bb9905;"&gt;1 drug3 0 09/02/14 09/09/14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;run&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;data&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;temp&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;set&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;have&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;n&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;+&lt;/SPAN&gt;&lt;SPAN class="numeric" style="color: #008080; font-weight: bold;"&gt;1&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;output&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;output&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;format&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="format" style="color: #008080;"&gt;mmddyy10.&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;run&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;data&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;x&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;set&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;temp&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;by&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;n&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;if&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;first.n&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;and&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;dif&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;ne&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="numeric" style="color: #008080; font-weight: bold;"&gt;1&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;then&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;group&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;+&lt;/SPAN&gt;&lt;SPAN class="numeric" style="color: #008080; font-weight: bold;"&gt;1&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;n&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;run&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;data&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;want&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;set&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;x&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;by&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;group&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;retain&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;ref&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;if&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;first.group&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;then&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;do&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;ref&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;refill&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;end&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;if&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;last.group&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;then&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;do&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;output&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;end&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;refill&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;group&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="keyword" style="color: #0000ff;"&gt;format&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;begin_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt;end_date&lt;/SPAN&gt;&lt;SPAN class="text" style="color: black;"&gt; &lt;/SPAN&gt;&lt;SPAN class="format" style="color: #008080;"&gt;mmddyy10.&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sec-keyword" style="color: #000080; font-weight: bold;"&gt;run&lt;/SPAN&gt;&lt;SPAN class="sep" style="color: black;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 13:16:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203085#M50678</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-07-15T13:16:15Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203086#M50679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Xia Ke for your answer! It works for one person. How to get it done for different people? There are more than 10K people in my dataset. Sorry I should make it clear for a lot of different id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks so much for your time!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 13:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203086#M50679</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-15T13:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203087#M50680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My code also can work on different Person, if your table has been sorted just like your sample data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 13:44:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203087#M50680</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-07-15T13:44:47Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203088#M50681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This code should find where there is an overlap in at least 2 drugs for 5 days per id. It also indicates the total days overlapping and high water number of drugs overlapped;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;input id&amp;nbsp;&amp;nbsp; drug $&amp;nbsp;&amp;nbsp; refill&amp;nbsp;&amp;nbsp; (begin_date&amp;nbsp;&amp;nbsp; end_date) (: mmddyy12.);&lt;/P&gt;&lt;P&gt;format begin_date&amp;nbsp;&amp;nbsp; end_date ondate mmddyy10.;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; put out a record for each day on the drug;&lt;/P&gt;&lt;P&gt;ondate=begin_date;&amp;nbsp; &lt;/P&gt;&lt;P&gt;do until (ondate=end_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&amp;nbsp; ondate+1;&lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;output;&amp;nbsp; drop begin_date&amp;nbsp; end_date refill;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 drug1 0 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 drug1 1 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 drug1 2 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 drug2 0 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 drug2 1 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 drug2 2 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 drug3 0 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 drug1 0 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 drug1 1 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 drug1 2 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 drug2 0 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 drug2 1 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 drug2 2 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 drug3 0 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp; by id ondate drug;&lt;/P&gt;&lt;P&gt;proc print; id id ondate drug; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* count number of drugs taken each day by id;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp; set;&amp;nbsp; by id ondate drug; drop drug;&lt;/P&gt;&lt;P&gt;if first.ondate then count=1;&lt;/P&gt;&lt;P&gt;if last.ondate and not first.ondate then count+1;&lt;/P&gt;&lt;P&gt;if last.ondate and count gt 1 then output;&lt;/P&gt;&lt;P&gt;proc print; run; title 'count of days where multiple drugs taken';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* ids with 5 days overlapped;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id;&lt;/P&gt;&lt;P&gt;if first.id then dysovrlap=0;&lt;/P&gt;&lt;P&gt;dysovrlap+1;&lt;/P&gt;&lt;P&gt;if last.id and dysovrlap gt 5 then output;&lt;/P&gt;&lt;P&gt;proc print;&amp;nbsp; title 'days overlap and number of drugs';run; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 16:53:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203088#M50681</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-15T16:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203089#M50682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This turned out to be something that was more crazy than I first thought...&amp;nbsp; I don't see STEP1 being solved with out a doubly-nested loops and multiple passes through the algorithm until all time periods are concatenated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; STEP1 (&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Keep&lt;/SPAN&gt;=id&amp;nbsp;&amp;nbsp; drug&amp;nbsp; refill begin_date&amp;nbsp;&amp;nbsp; end_date over_Lap);&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;array&lt;/SPAN&gt; b_date [&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;] b_date1-b_date&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;array&lt;/SPAN&gt; e_date [&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;] e_date1-e_date&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;array&lt;/SPAN&gt; ovrLap [&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;] ovrLap1-ovrLap&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&amp;amp;MAX_ARRAY_SIZE&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;until&lt;/SPAN&gt; (eof);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;until&lt;/SPAN&gt; (last.id);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;&amp;nbsp; /*Read Input*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt; &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;until&lt;/SPAN&gt; (last.drug);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;set&lt;/SPAN&gt; have &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;=eof ;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt; id drug;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b_date[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;]=begin_date;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_date[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;]=end_date;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovrLap[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;]=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NUM_ITEMS =&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;&amp;nbsp; /*STEP-1 Concatenate Allowed Periods*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT_FINISHED=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;while&lt;/SPAN&gt; (NOT_FINISHED);NOT_FINISHED=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; M=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; to NUM_ITEMS ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;not&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;missing&lt;/SPAN&gt;(b_date&lt;M&gt;) &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; P=M+&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; to NUM_ITEMS ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;not&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;missing&lt;/SPAN&gt;(b_date&lt;/M&gt;&lt;/P&gt;&lt;P&gt;) &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&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; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;-1&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;lt;= e_date&lt;M&gt;-b_date&lt;/M&gt;&lt;/P&gt;&lt;P&gt; &amp;lt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;OR&lt;/SPAN&gt; &lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;-1&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;lt;= e_date&lt;/P&gt;&lt;P&gt;-b_date&lt;M&gt; &amp;lt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&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; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&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; b_date&lt;M&gt;=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;min&lt;/SPAN&gt;(b_date&lt;M&gt;, b_date&lt;/M&gt;&lt;/M&gt;&lt;/M&gt;&lt;/P&gt;&lt;P&gt;);&lt;BR /&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; e_date&lt;M&gt;=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;max&lt;/SPAN&gt;(e_date&lt;M&gt;, e_date&lt;/M&gt;&lt;/M&gt;&lt;/P&gt;&lt;P&gt;);&lt;BR /&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; b_date&lt;/P&gt;&lt;P&gt;=.;e_date&lt;/P&gt;&lt;P&gt;=.;&lt;BR /&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; NOT_FINISHED=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&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; M=NUM_ITEMS;P=NUM_ITEMS;&lt;BR /&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; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;&amp;nbsp; /*STEP-2 (prep) Find and flag Overlaps*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; M=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; to NUM_ITEMS ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;not&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;missing&lt;/SPAN&gt;(b_date&lt;M&gt;) &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; P=M+&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; to NUM_ITEMS ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;not&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;missing&lt;/SPAN&gt;(b_date&lt;/M&gt;&lt;/P&gt;&lt;P&gt;) &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_date&lt;M&gt;-b_date&lt;/M&gt;&lt;/P&gt;&lt;P&gt; &amp;gt;&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&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; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;AND&lt;/SPAN&gt; e_date&lt;/P&gt;&lt;P&gt;-b_date&lt;M&gt; &amp;gt;&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;;&lt;BR /&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; ovrLap&lt;M&gt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&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; ovrLap&lt;/M&gt;&lt;/M&gt;&lt;/P&gt;&lt;P&gt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;&amp;nbsp; /*Output*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; to NUM_ITEMS ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_date=b_date[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_date&amp;nbsp; =e_date[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; over_Lap&amp;nbsp; =ovrLap[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refill=&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;not&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;missing&lt;/SPAN&gt;(b_date[&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;N&lt;/SPAN&gt;])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;/*do until (last.id);*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;/*do until (eof);*/&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;stop&lt;/SPAN&gt;;&lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; STEP2 (&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;Keep&lt;/SPAN&gt;=id overlap);&lt;BR /&gt;&amp;nbsp; id=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; overlap=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;until&lt;/SPAN&gt; (last.id);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;set&lt;/SPAN&gt; STEP1; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt; ID;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt; over_Lap &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; overlap=&lt;SPAN style="color: #2e8b57; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;;&lt;BR /&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 19:02:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203089#M50682</guid>
      <dc:creator>PhilC</dc:creator>
      <dc:date>2015-07-15T19:02:22Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203090#M50683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jim_G! You are super!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just one question. At the last step of your code, variable [dysovrlap] shows total days of overlap. How to check if there are 5&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt; continuous&lt;/STRONG&gt;&lt;/SPAN&gt; days for overlap?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also have a further question. Sorry I forgot to mention there is one more variable indicating the drug type. There are two drug types, A and B, for all these different drugs. I need to know if it is type_A and type_A overlap, or type_A and type_B overlap, or type_B and type_B overlap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks so much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jul 2015 21:47:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203090#M50683</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-16T21:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203091#M50684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michell if this is helpful please mark helpful or correct.&lt;/P&gt;&lt;P&gt;continuous can be calculated by comparing the date in this record to the last record. if there is only 1 day different then it is continuous;&lt;/P&gt;&lt;P&gt;I added the type variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;input id&amp;nbsp; type $ drug $&amp;nbsp; (begin_date&amp;nbsp;&amp;nbsp; end_date) (: mmddyy12.);&lt;/P&gt;&lt;P&gt;format begin_date&amp;nbsp;&amp;nbsp; end_date ondate mmddyy10.;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; put out a record for each day on the drug by type;&lt;/P&gt;&lt;P&gt;ondate=begin_date;&lt;/P&gt;&lt;P&gt;do until (ondate=end_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&amp;nbsp; ondate+1;&lt;/P&gt;&lt;P&gt;end; &lt;/P&gt;&lt;P&gt;output;&amp;nbsp; drop begin_date&amp;nbsp; end_date;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;1 b drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 b drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 b drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 b drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 b drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 b drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 b drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp; by id type ondate drug ;&lt;/P&gt;&lt;P&gt;*proc print; *id id type ondate drug ; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* count number of drugs taken each day by id type;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp; set;&amp;nbsp; by id type ondate drug ; *drop drug;&lt;/P&gt;&lt;P&gt;if first.ondate then count=1;&lt;/P&gt;&lt;P&gt;if last.ondate and not first.ondate then count+1;&lt;/P&gt;&lt;P&gt;if last.ondate and count gt 1 then output;&lt;/P&gt;&lt;P&gt;proc print; run; title 'count of days where multiple drugs taken';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* ids with 5 continuous days overlapped;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id type;&lt;/P&gt;&lt;P&gt;dif=ondate-lag(ondate); retain flag;&lt;/P&gt;&lt;P&gt;if first.type then do; contdys=0; flag=0; dif=1; end;&lt;/P&gt;&lt;P&gt;if dif=1 then contdys+1; else contdys=1;&lt;/P&gt;&lt;P&gt;if contdys gt 5 then flag=1;&lt;/P&gt;&lt;P&gt;if last.type and flag=1 then output;&lt;/P&gt;&lt;P&gt;drop drug ondate dif flag contdys;&lt;/P&gt;&lt;P&gt;proc print; id id type ;&lt;/P&gt;&lt;P&gt;title 'Overlap by type and number of drugs&amp;nbsp; by id and type'; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 11:26:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203091#M50684</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-17T11:26:25Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203092#M50685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jim_G for your answer!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is still one thing needed to figure out. Based on the result from your code, it can be shown overlap within each drug type, but how about compare one drug from type a and another drug from type b within one patient? I changed input information as below. The result is supposed to show there is overlap for type a for patient 1, overlap between type a and b for patient 1, and overlap for drug a for patient 2, but the result did not show the overlap between type a and type b for patient 1. Could you help me figure out this? Thanks so.......much!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;input id&amp;nbsp; type $ drug $&amp;nbsp; (begin_date&amp;nbsp;&amp;nbsp; end_date) (: mmddyy12.);&lt;/P&gt;&lt;P&gt;format begin_date&amp;nbsp;&amp;nbsp; end_date ondate mmddyy10.;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; put out a record for each day on the drug by type;&lt;/P&gt;&lt;P&gt;ondate=begin_date;&lt;/P&gt;&lt;P&gt;do until (ondate=end_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&amp;nbsp; ondate+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;output;&amp;nbsp; drop begin_date&amp;nbsp; end_date;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 b drug5&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp; by id type ondate drug ;&lt;/P&gt;&lt;P&gt;*proc print; *id id type ondate drug ; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* count number of drugs taken each day by id type;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp; set;&amp;nbsp; by id type ondate drug ; *drop drug;&lt;/P&gt;&lt;P&gt;if first.ondate then count=1;&lt;/P&gt;&lt;P&gt;if last.ondate and not first.ondate then count+1;&lt;/P&gt;&lt;P&gt;if last.ondate and count gt 1 then output;&lt;/P&gt;&lt;P&gt;proc print; run; title 'count of days where multiple drugs taken';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* ids with 5 continuous days overlapped;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id type;&lt;/P&gt;&lt;P&gt;dif=ondate-lag(ondate); retain flag;&lt;/P&gt;&lt;P&gt;if first.type then do; contdys=0; flag=0; dif=1; end;&lt;/P&gt;&lt;P&gt;if dif=1 then contdys+1; else contdys=1;&lt;/P&gt;&lt;P&gt;if contdys gt 5 then flag=1;&lt;/P&gt;&lt;P&gt;if last.type and flag=1 then output;&lt;/P&gt;&lt;P&gt;drop drug ondate dif flag contdys;&lt;/P&gt;&lt;P&gt;proc print; id id type ;&lt;/P&gt;&lt;P&gt;title 'Overlap by type and number of drugs&amp;nbsp; by id and type'; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 18:58:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203092#M50685</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-17T18:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203093#M50686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If we have a case where one id has a string of 12 continuous days. For 6 days he overlapped ‘A’ drugs and for 6 days he overlapped ‘B’ drugs.&amp;nbsp; Is it more important to report 12 days overlapped A and B drugs&amp;nbsp; or to report 6 days overlap drug a and 6 days overlapped B ?&amp;nbsp;&amp;nbsp;&amp;nbsp; Do you want to report&amp;nbsp; 6 days overlaps within type or&amp;nbsp; type within overlaps ?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; Do you want report&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&amp;nbsp; type, number contiuous days (gt 5)&lt;/P&gt;&lt;P&gt;&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; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;&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; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;Or&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&amp;nbsp;&amp;nbsp; continuous days,&amp;nbsp; types overlapped&lt;/P&gt;&lt;P&gt;&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; 12&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,B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Jul 2015 12:51:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203093#M50686</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-19T12:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203094#M50687</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jim!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to report type (A,A or A,B, or B,B) within overlaps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&amp;nbsp;&amp;nbsp; continuous days,&amp;nbsp; types overlapped&lt;/P&gt;&lt;P&gt;&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; 12&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,B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My job is to check if (1) there are two different drugs overlap &amp;gt;5 days within type a, (2) if it happens between type a and type b, and/or (3) if it happens within type b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Specifically, if the data is the following (please use the following data). I need get the result showing there are (1) drugs overlap for type a and (2) drugs overlap between type a and b for id=1, and drugs overlap for type a for id=2, like the following. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;result:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&amp;nbsp;&amp;nbsp; continuous days,&amp;nbsp; types overlapped&lt;/P&gt;&lt;P&gt;&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; XXX&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,a&lt;/P&gt;&lt;P&gt;&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; XXX&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,b&lt;/P&gt;&lt;P&gt;&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; XXX&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,a&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;id type drug begin_date end_date&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 b drug5&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks so much in advance for your time and your answer!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Jul 2015 13:39:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203094#M50687</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-19T13:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203095#M50688</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michelle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try this code.&amp;nbsp;&amp;nbsp; The output looks right.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;All the proc prints are for debugging&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jim&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;** step 1 expand each date range to one record per day;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;input id&amp;nbsp; type $ drug $&amp;nbsp; (begin_date&amp;nbsp;&amp;nbsp; end_date) (: mmddyy12.);&lt;/P&gt;&lt;P&gt;format begin_date&amp;nbsp; end_date ondate mmddyy10.;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; put out a record for each day on the drug by type;&lt;/P&gt;&lt;P&gt;ondate=begin_date;&lt;/P&gt;&lt;P&gt;do until (ondate=end_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&amp;nbsp; ondate+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;output;&amp;nbsp; drop begin_date&amp;nbsp; end_date;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 b drug5&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;**&amp;nbsp; sort by day to see how many drugs taken each day ;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp; by id ondate type drug ;&lt;/P&gt;&lt;P&gt;proc print; by id ondate; id id ondate ;&lt;/P&gt;&lt;P&gt; title 'how many drugs taken each day';&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* step 2&amp;nbsp; count number of drugs taken each day by id type;&lt;/P&gt;&lt;P&gt;*&amp;nbsp; collapse to one record per day;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp; set;&amp;nbsp; by id ondate; * type drug ; retain typa typb;&lt;/P&gt;&lt;P&gt;if first.ondate then do; count=0; typa=0; typb=0; end;&lt;/P&gt;&lt;P&gt;if type='a' then typa=1;&lt;/P&gt;&lt;P&gt;if type='b' then typb=1;&lt;/P&gt;&lt;P&gt;count+1;&lt;/P&gt;&lt;P&gt;if last.ondate and count gt 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typa and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typb then olap='A&amp;amp;B';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typa and not typb then olap='A';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typb and not typa then olap='B';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; output; &lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;drop drug type typa typb;&lt;/P&gt;&lt;P&gt;proc print;&amp;nbsp;&amp;nbsp; id id ondate olap; &lt;/P&gt;&lt;P&gt;title 'Collapse by date and type where multiple drugs taken'; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ** step 3 identify the string of contiguous days (episode);&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id ;&lt;/P&gt;&lt;P&gt;dif=ondate-lag(ondate); &lt;/P&gt;&lt;P&gt;retain flag&amp;nbsp; strtdate typa typb typab; &lt;/P&gt;&lt;P&gt;format strtdate mmddyy10.;&lt;/P&gt;&lt;P&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; &lt;/P&gt;&lt;P&gt;if first.id then do; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; contdys=0; flag=0; dif=1; strtdate=ondate;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; typa=0; typb=0;&amp;nbsp; typab=0;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;**** store type ----------------------;&lt;/P&gt;&lt;P&gt;if olap='A'&amp;nbsp;&amp;nbsp; then typa=1;&lt;/P&gt;&lt;P&gt;if olap='B'&amp;nbsp;&amp;nbsp; then typb=1;&lt;/P&gt;&lt;P&gt;if olap='A&amp;amp;B' then typab=1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if dif=1 then contdys+1; &lt;/P&gt;&lt;P&gt;else do;&amp;nbsp;&amp;nbsp; ** end of continuous string;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dif=1; strtdate=ondate;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; contdys=1; typa=0; typb=0;&amp;nbsp; typab=0;&lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;drop&amp;nbsp;&amp;nbsp; dif flag count;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print; id id strtdate ondate contdys olap ; by id strtdate;&lt;/P&gt;&lt;P&gt;title 'See episode data&amp;nbsp; overlap of drugs and type'; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****&amp;nbsp; step 4&amp;nbsp; see if the continuous string of days was gt 5;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id strtdate; drop ondate olap typa typb typab;&lt;/P&gt;&lt;P&gt;if last.strtdate then do;&amp;nbsp;&amp;nbsp; retain overlap&amp;nbsp; '&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ';&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if typa then substr(overlap,1,1)='A';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if typb then substr(overlap,3,1)='B';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if typab then substr(overlap,5,3)='A&amp;amp;B';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if contdys gt 5 then output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; overlap=' '; &lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;proc print split='*';&lt;/P&gt;&lt;P&gt;&amp;nbsp; label id='id*'&amp;nbsp; strtdate='episode*start date'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; contdys='continous* days' overlap='type';&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id id strtdate contdys ;&amp;nbsp; by id; run;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;*/;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Jul 2015 19:35:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203095#M50688</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-19T19:35:06Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203096#M50689</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jim for your update! I tried your code and the result listed as below. I am wondering if the result can also show overlap 'A' for id=1 besides the case of A&amp;amp;B overlap, as there are also drug 1 and drug 2 overlap within type a of id 1. Thanks so much for your answer!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 260px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl65" height="20" width="64"&gt;id&lt;/TD&gt;&lt;TD class="xl65" width="68"&gt;strtdate&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;contdys&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;overlap&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD class="xl65" height="20"&gt;1&lt;/TD&gt;&lt;TD class="xl66"&gt;3/1/2014&lt;/TD&gt;&lt;TD class="xl65"&gt;20&lt;/TD&gt;&lt;TD class="xl65"&gt;A&amp;amp;B&lt;/TD&gt;&lt;/TR&gt; &lt;TR&gt;&lt;TD class="xl65" height="20"&gt;1&lt;/TD&gt;&lt;TD class="xl66"&gt;3/25/2014&lt;/TD&gt;&lt;TD class="xl65"&gt;12&lt;/TD&gt;&lt;TD class="xl65"&gt;A&amp;amp;B&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD class="xl65" height="20"&gt;1&lt;/TD&gt;&lt;TD class="xl66"&gt;9/2/2014&lt;/TD&gt;&lt;TD class="xl65"&gt;8&lt;/TD&gt;&lt;TD class="xl65"&gt;A&amp;amp;B&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD class="xl65" height="20"&gt;2&lt;/TD&gt;&lt;TD class="xl66"&gt;3/2/2014&lt;/TD&gt;&lt;TD class="xl65"&gt;8&lt;/TD&gt;&lt;TD class="xl65"&gt;A&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD class="xl65" height="20"&gt;2&lt;/TD&gt;&lt;TD class="xl66"&gt;3/27/2014&lt;/TD&gt;&lt;TD class="xl65"&gt;9&lt;/TD&gt;&lt;TD class="xl65"&gt;A&lt;/TD&gt; &lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jul 2015 21:45:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203096#M50689</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-20T21:45:52Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203097#M50690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michelle&amp;nbsp;&amp;nbsp;&amp;nbsp; Good job of checking the output data.&amp;nbsp; I see the problem and am busy today but I will keep working on it.&amp;nbsp;&amp;nbsp;&amp;nbsp; Jim &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 12:45:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203097#M50690</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-21T12:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203098#M50691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank Jim!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 17:21:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203098#M50691</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-21T17:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203099#M50692</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michelle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try this code.&amp;nbsp;&amp;nbsp; It doesn't concentrate on how many drug overlaps per day but which type of overlap occurred.&amp;nbsp; It there were 5 overlaps of drug type A It shows an overlap of type A.&amp;nbsp; If there was 5 drug A overlaps on a certain day and 1 B drug on the same day, it would report a type A overlap and a type A&amp;amp;B overlap.&amp;nbsp; Jim&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;** expand each date range to one record per day;&lt;/P&gt;&lt;P&gt;data one;&lt;/P&gt;&lt;P&gt;input id&amp;nbsp; type $ drug $&amp;nbsp; (begin_date&amp;nbsp;&amp;nbsp; end_date) (: mmddyy12.);&lt;/P&gt;&lt;P&gt;format begin_date&amp;nbsp; end_date ondate mmddyy10.;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; put out a record for each day on the drug by type;&lt;/P&gt;&lt;P&gt;ondate=begin_date;&lt;/P&gt;&lt;P&gt;do until (ondate=end_date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&amp;nbsp; ondate+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;output;&amp;nbsp; drop begin_date&amp;nbsp; end_date;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;1 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;1 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;1 b drug4&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;1 b drug5&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/01/14 03/10/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/11/14 03/20/14&lt;/P&gt;&lt;P&gt;2 a drug1&amp;nbsp; 03/25/14 04/05/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/02/14 03/09/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/17/14 03/24/14&lt;/P&gt;&lt;P&gt;2 a drug2&amp;nbsp; 03/27/14 04/04/14&lt;/P&gt;&lt;P&gt;2 a drug3&amp;nbsp; 09/02/14 09/09/14&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;**&amp;nbsp; sort by day to see how many drugs taken each day ;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp; by id ondate type drug ;&lt;/P&gt;&lt;P&gt;proc print; by id ondate; id id ondate ;&lt;/P&gt;&lt;P&gt; title 'how many drugs taken each day';&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;* count number of drugs taken each day by id type;&lt;/P&gt;&lt;P&gt;*&amp;nbsp; collapse to one record per string of days;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp; set;&amp;nbsp; by id ondate; * type drug ; retain typa typb;&lt;/P&gt;&lt;P&gt;if first.ondate then do; count=0; typa=0; typb=0; end;&lt;/P&gt;&lt;P&gt;if type='a' then typa+1;&lt;/P&gt;&lt;P&gt;if type='b' then typb+1;&lt;/P&gt;&lt;P&gt;count+1;&lt;/P&gt;&lt;P&gt;if last.ondate and count gt 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typa and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typb then do;&amp;nbsp; olap='A&amp;amp;B'; output; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typa gt 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then do;&amp;nbsp; olap='A';&amp;nbsp;&amp;nbsp; output; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if typb gt 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then do;&amp;nbsp; olap='B';&amp;nbsp;&amp;nbsp; output; end; &lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;drop drug type typa typb;&lt;/P&gt;&lt;P&gt;proc sort;&amp;nbsp;&amp;nbsp;&amp;nbsp; by id olap ondate;&lt;/P&gt;&lt;P&gt;proc print;&amp;nbsp;&amp;nbsp; id id olap&amp;nbsp; ondate;&amp;nbsp; &lt;/P&gt;&lt;P&gt;title 'Collapse by date and type where multiple drugs taken'; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ** step 3 identify the string of contiguous days (episode);&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id olap;&lt;/P&gt;&lt;P&gt;dif=ondate-lag(ondate); &lt;/P&gt;&lt;P&gt;retain flag&amp;nbsp; strtdate;&amp;nbsp; &lt;/P&gt;&lt;P&gt;format strtdate mmddyy10.;&lt;/P&gt;&lt;P&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; &lt;/P&gt;&lt;P&gt;if first.olap then do; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; contdys=0; flag=0; dif=1; strtdate=ondate;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if dif=1 then contdys+1; &lt;/P&gt;&lt;P&gt;else do;&amp;nbsp;&amp;nbsp; ** end of continuous string;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dif=1; strtdate=ondate;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; contdys=1; &lt;/P&gt;&lt;P&gt;end;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;drop&amp;nbsp;&amp;nbsp; dif flag count;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print; id id olap strtdate ondate contdys olap ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by id olap strtdate;&lt;/P&gt;&lt;P&gt;title 'See episode data&amp;nbsp; overlap of drugs and type'; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***step 4&amp;nbsp; see if the continuous string of days was gt 5;&lt;/P&gt;&lt;P&gt;data;&amp;nbsp;&amp;nbsp; set;&amp;nbsp;&amp;nbsp; by id olap strtdate;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop ondate ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.strtdate then do;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if contdys gt 5 then output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;proc print split='*';&lt;/P&gt;&lt;P&gt;&amp;nbsp; label id='id*'&amp;nbsp; strtdate='episode*start date'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; contdys='continous* days' olap='type';&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id id strtdate contdys olap;&amp;nbsp; by id; run;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;*/;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 20:46:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203099#M50692</guid>
      <dc:creator>Jim_G</dc:creator>
      <dc:date>2015-07-21T20:46:35Z</dc:date>
    </item>
    <item>
      <title>Re: how to check days overlap</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203100#M50693</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jim, Thanks so much!!!!!!!!!!!!!!!!!! You are the super!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jul 2015 14:40:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-check-days-overlap/m-p/203100#M50693</guid>
      <dc:creator>michellel</dc:creator>
      <dc:date>2015-07-22T14:40:34Z</dc:date>
    </item>
  </channel>
</rss>

