<?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: using a macro to flag access observations outside the time period in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580670#M164968</link>
    <description>&lt;P&gt;Macros and macro variables are most definitely not needed, and not worth the complication.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just sort by ID and serv_dt and then (assuming serv_dt is really a SAS date and not a character string).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    prev_id=lag3(id);
    prev_dt=lag3(serv_dt);
    if prev_id=id and serv_dt-prev_dt&amp;lt;180 then status='flagged';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 12 Aug 2019 21:45:55 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2019-08-12T21:45:55Z</dc:date>
    <item>
      <title>using a macro to flag access observations outside the time period</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580668#M164966</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a dataset with clients who had certain procedure performed over the 3 year time period. I need to flag those instances where&amp;nbsp; 4 or more procedures took place outside the 180 day period for each client ID (status=flagged). Here is a sample data set.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;serv_dt&lt;/TD&gt;&lt;TD&gt;lag&lt;/TD&gt;&lt;TD&gt;PROCCD&lt;/TD&gt;&lt;TD&gt;proccdcnt&lt;/TD&gt;&lt;TD&gt;status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;217207401&lt;/TD&gt;&lt;TD&gt;3/22/2017&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;217207401&lt;/TD&gt;&lt;TD&gt;4/2/2018&lt;/TD&gt;&lt;TD&gt;376&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;217207401&lt;/TD&gt;&lt;TD&gt;4/3/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;217207401&lt;/TD&gt;&lt;TD&gt;5/23/2018&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220135502&lt;/TD&gt;&lt;TD&gt;11/4/2016&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220135502&lt;/TD&gt;&lt;TD&gt;11/13/2016&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220135502&lt;/TD&gt;&lt;TD&gt;11/14/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220135502&lt;/TD&gt;&lt;TD&gt;11/15/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;11/17/2017&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;11/18/2017&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;11/19/2017&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;10/28/2018&lt;/TD&gt;&lt;TD&gt;343&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;10/29/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;237287806&lt;/TD&gt;&lt;TD&gt;10/30/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220462501&lt;/TD&gt;&lt;TD&gt;10/17/2018&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220462501&lt;/TD&gt;&lt;TD&gt;10/18/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220462501&lt;/TD&gt;&lt;TD&gt;10/19/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220462501&lt;/TD&gt;&lt;TD&gt;10/20/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;220462501&lt;/TD&gt;&lt;TD&gt;10/21/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;249892003&lt;/TD&gt;&lt;TD&gt;12/7/2016&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;249892003&lt;/TD&gt;&lt;TD&gt;12/8/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;249892003&lt;/TD&gt;&lt;TD&gt;12/9/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;249892003&lt;/TD&gt;&lt;TD&gt;12/10/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;4/14/2017&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;4/15/2017&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;5/28/2017&lt;/TD&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;7/18/2018&lt;/TD&gt;&lt;TD&gt;416&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;7/19/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;257527503&lt;/TD&gt;&lt;TD&gt;7/20/2018&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;8/30/2016&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;8/31/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/1/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/2/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/3/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/4/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/5/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/6/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/7/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/8/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;219482501&lt;/TD&gt;&lt;TD&gt;9/9/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;95951&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;flagged&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, for example, the first ID=217207401 will not be flagged. But the second, id=220135502 will be flagged as there were 4 procedures done in less than 180 days.&lt;/P&gt;&lt;P&gt;I understand that there should probably be some way of using a macro to count within each ID group the number of days for the consequitive 4 observations, and flag them when it's more than 180. But I'm not sure how to do that as teh number of rows for each ID is different. Any help or advice would be appreciated.&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Mon, 12 Aug 2019 21:20:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580668#M164966</guid>
      <dc:creator>Bluebonnet16</dc:creator>
      <dc:date>2019-08-12T21:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: using a macro to flag access observations outside the time period</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580670#M164968</link>
      <description>&lt;P&gt;Macros and macro variables are most definitely not needed, and not worth the complication.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just sort by ID and serv_dt and then (assuming serv_dt is really a SAS date and not a character string).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    prev_id=lag3(id);
    prev_dt=lag3(serv_dt);
    if prev_id=id and serv_dt-prev_dt&amp;lt;180 then status='flagged';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 12 Aug 2019 21:45:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580670#M164968</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-12T21:45:55Z</dc:date>
    </item>
    <item>
      <title>Re: using a macro to flag access observations outside the time period</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580793#M165011</link>
      <description>&lt;P&gt;Thank you so much!! It worked great and I understand the logic behind it. Thank you!!&lt;/P&gt;</description>
      <pubDate>Tue, 13 Aug 2019 13:19:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-a-macro-to-flag-access-observations-outside-the-time/m-p/580793#M165011</guid>
      <dc:creator>Bluebonnet16</dc:creator>
      <dc:date>2019-08-13T13:19:31Z</dc:date>
    </item>
  </channel>
</rss>

