<?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: Stockpiling Drugs in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596637#M171815</link>
    <description>&lt;P&gt;Consider this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID DRUG $ START_DT :mmddyy. DAYS_SUPP;
format start_dt yymmdd10.;
datalines;
1   A   3/14/19 30  4/13/19
1   B   5/6/09  30  6/5/09
1   C   7/9/19  60  9/7/19
1   E   3/1/19  90  5/30/19
1   B   5/25/19 30  6/24/19
1   D   2/1/19  30  3/3/19
1   C   6/6/19  60  8/4/19
2   B   4/1/19  30  5/1/19
2   A   7/1/19  30  7/31/19
2   C   7/3/19  60  9/1/19
2   B   4/15/19 30  5/14/19
2   E   6/5/19  90  9/5/19
2   A   5/1/19  90  8/2/19
;

proc sort data=have; by id drug start_dt; run;
 
%let alarmingLeftover=20; /* Adjust */

data want;
do until(last.drug);
	set have; by id drug;
	if first.drug then leftover = 0;
	else do;
		leftover = max(0, supply - intck("day", lastSupplydate, start_dt));
		alarm_&amp;amp;alarmingLeftover._days = leftOver &amp;gt;= &amp;amp;alarmingLeftover;
		output;
		end;
	supply = leftover + days_supp;
	lastSupplyDate = start_dt;
	end;
drop supply lastSupplyDate;
run;

proc print data=want noobs; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;ID 	DRUG 	START_DT 	DAYS_SUPP 	leftover 	alarm_20_days
1 	B 	2019-05-25 	30 	0 	0
1 	C 	2019-07-09 	60 	27 	1
2 	A 	2019-07-01 	30 	29 	1
2 	B 	2019-04-15 	30 	16 	0&lt;/PRE&gt;</description>
    <pubDate>Tue, 15 Oct 2019 19:28:11 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2019-10-15T19:28:11Z</dc:date>
    <item>
      <title>Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596558#M171780</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm new to SAS (EG 7.1 64-bit) so I'm having trouble figuring this one out so any help would be appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking to determine if members are consistently filling their&lt;BR /&gt;prescriptions early and accumulating a large supply at home (stockpile of meds).&lt;BR /&gt;Currently, there is a 75/80% refill threshold (RTS = refill to soon)&lt;BR /&gt;meaning 75/80% of medications must be utilized before the member may refill at the medication.&lt;BR /&gt;If you have a 30 day supply (75% RTS is day day 23). This means the member may fill the&lt;BR /&gt;drug 7 days early. At the end of the year the member may have accumulated 84 days’ supply of medication.&lt;/P&gt;&lt;P&gt;I want to show the members that are consistently filling their medications early.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;&lt;SPAN class="lia-search-match-lithium"&gt;DRUG&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;START_DT&lt;/TD&gt;&lt;TD&gt;DAYS_SUPP&lt;/TD&gt;&lt;TD&gt;END_DT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;3/14/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;4/13/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;5/6/09&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;6/5/09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;7/9/19&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;9/7/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;E&lt;/TD&gt;&lt;TD&gt;3/1/19&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;5/30/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;5/25/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;6/24/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;2/1/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;3/3/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;6/6/19&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;8/4/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;4/1/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;5/1/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;7/1/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;7/31/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;7/3/19&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;9/1/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;4/15/19&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;5/14/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;E&lt;/TD&gt;&lt;TD&gt;6/5/19&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;9/5/19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;5/1/19&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;8/2/19&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 15 Oct 2019 15:10:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596558#M171780</guid>
      <dc:creator>tennis1</dc:creator>
      <dc:date>2019-10-15T15:10:58Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596567#M171785</link>
      <description>&lt;P&gt;You have the drug cabinet problem where you basically need to find out the amount on each day in the 'cabinet' and then figure out if that amount is increasing over time. What's the window you're looking at?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;An alternative option is to just pick an interval, add up the number dispensed over the days + number of days in that interval and you'll have the amount that's excess and filter off of that.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please show exactly what you expect as output from the data below. It should align with the data posted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/293633"&gt;@tennis1&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm new to SAS (EG 7.1 64-bit) so I'm having trouble figuring this one out so any help would be appreciated.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am looking to determine if members are consistently filling their&lt;BR /&gt;prescriptions early and accumulating a large supply at home (stockpile of meds).&lt;BR /&gt;Currently, there is a 75/80% refill threshold (RTS = refill to soon)&lt;BR /&gt;meaning 75/80% of medications must be utilized before the member may refill at the medication.&lt;BR /&gt;If you have a 30 day supply (75% RTS is day day 23). This means the member may fill the&lt;BR /&gt;drug 7 days early. At the end of the year the member may have accumulated 84 days’ supply of medication.&lt;/P&gt;
&lt;P&gt;I want to show the members that are consistently filling their medications early.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;ID&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN class="lia-search-match-lithium"&gt;DRUG&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;START_DT&lt;/TD&gt;
&lt;TD&gt;DAYS_SUPP&lt;/TD&gt;
&lt;TD&gt;END_DT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;3/14/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;4/13/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;5/6/09&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;6/5/09&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;7/9/19&lt;/TD&gt;
&lt;TD&gt;60&lt;/TD&gt;
&lt;TD&gt;9/7/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;3/1/19&lt;/TD&gt;
&lt;TD&gt;90&lt;/TD&gt;
&lt;TD&gt;5/30/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;5/25/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;6/24/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;2/1/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;3/3/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;6/6/19&lt;/TD&gt;
&lt;TD&gt;60&lt;/TD&gt;
&lt;TD&gt;8/4/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;4/1/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;5/1/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;7/1/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;7/31/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;7/3/19&lt;/TD&gt;
&lt;TD&gt;60&lt;/TD&gt;
&lt;TD&gt;9/1/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;4/15/19&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;5/14/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;6/5/19&lt;/TD&gt;
&lt;TD&gt;90&lt;/TD&gt;
&lt;TD&gt;9/5/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;5/1/19&lt;/TD&gt;
&lt;TD&gt;90&lt;/TD&gt;
&lt;TD&gt;8/2/19&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2019 15:40:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596567#M171785</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-10-15T15:40:27Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596637#M171815</link>
      <description>&lt;P&gt;Consider this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID DRUG $ START_DT :mmddyy. DAYS_SUPP;
format start_dt yymmdd10.;
datalines;
1   A   3/14/19 30  4/13/19
1   B   5/6/09  30  6/5/09
1   C   7/9/19  60  9/7/19
1   E   3/1/19  90  5/30/19
1   B   5/25/19 30  6/24/19
1   D   2/1/19  30  3/3/19
1   C   6/6/19  60  8/4/19
2   B   4/1/19  30  5/1/19
2   A   7/1/19  30  7/31/19
2   C   7/3/19  60  9/1/19
2   B   4/15/19 30  5/14/19
2   E   6/5/19  90  9/5/19
2   A   5/1/19  90  8/2/19
;

proc sort data=have; by id drug start_dt; run;
 
%let alarmingLeftover=20; /* Adjust */

data want;
do until(last.drug);
	set have; by id drug;
	if first.drug then leftover = 0;
	else do;
		leftover = max(0, supply - intck("day", lastSupplydate, start_dt));
		alarm_&amp;amp;alarmingLeftover._days = leftOver &amp;gt;= &amp;amp;alarmingLeftover;
		output;
		end;
	supply = leftover + days_supp;
	lastSupplyDate = start_dt;
	end;
drop supply lastSupplyDate;
run;

proc print data=want noobs; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;ID 	DRUG 	START_DT 	DAYS_SUPP 	leftover 	alarm_20_days
1 	B 	2019-05-25 	30 	0 	0
1 	C 	2019-07-09 	60 	27 	1
2 	A 	2019-07-01 	30 	29 	1
2 	B 	2019-04-15 	30 	16 	0&lt;/PRE&gt;</description>
      <pubDate>Tue, 15 Oct 2019 19:28:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/596637#M171815</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-10-15T19:28:11Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/597534#M172170</link>
      <description>&lt;P&gt;Thanks! This is super helpful. Is there a good way to make the leftover equal to a % based value? For example, I want to make the alarm be 1 when the leftover days &amp;gt;= 0.75*supply.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2019 21:45:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/597534#M172170</guid>
      <dc:creator>tennis1</dc:creator>
      <dc:date>2019-10-17T21:45:45Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/597865#M172309</link>
      <description>&lt;P&gt;Sure, good idea. Simple to modify:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID DRUG $ START_DT :mmddyy. DAYS_SUPP;
format start_dt yymmdd10.;
datalines;
1   A   3/14/19 30  4/13/19
1   B   5/6/09  30  6/5/09
1   C   7/9/19  60  9/7/19
1   E   3/1/19  90  5/30/19
1   B   5/25/19 30  6/24/19
1   D   2/1/19  30  3/3/19
1   C   6/6/19  60  8/4/19
2   B   4/1/19  30  5/1/19
2   A   7/1/19  30  7/31/19
2   C   7/3/19  60  9/1/19
2   B   4/15/19 30  5/14/19
2   E   6/5/19  90  9/5/19
2   A   5/1/19  90  8/2/19
;

proc sort data=have; by id drug start_dt; run;
 
%let alarmingLeftoverPct=75; /* Adjust */

data want;
do until(last.drug);
	set have; by id drug;
	if first.drug then leftover = 0;
	else do;
		leftover = max(0, supply - intck("day", lastSupplydate, start_dt));
		alarm_&amp;amp;alarmingLeftoverPct._Pct = leftOver &amp;gt;= days_supp * &amp;amp;alarmingLeftoverPct / 100;
		output;
		end;
	supply = leftover + days_supp;
	lastSupplyDate = start_dt;
	end;
drop supply lastSupplyDate;
run;

proc print data=want noobs; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;ID 	DRUG 	START_DT 	DAYS_SUPP 	leftover 	alarm_75_Pct
1 	B 	2019-05-25 	30 	0 	0
1 	C 	2019-07-09 	60 	27 	0
2 	A 	2019-07-01 	30 	29 	1
2 	B 	2019-04-15 	30 	16 	0&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Oct 2019 03:48:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/597865#M172309</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-10-19T03:48:31Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598250#M172518</link>
      <description>&lt;P&gt;Thanks so much! Also, is there a good way to identify the stockpiled drugs in a case like below where they are filled by the member on the same day like below?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;ID&lt;/SPAN&gt; DRUG &lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt; START_DT :mmddyy&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; DAYS_SUPP&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;format&lt;/SPAN&gt; start_dt yymmdd10&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token datalines"&gt;&lt;SPAN class="token keyword"&gt;datalines&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="token data string"&gt;1   A   3/14/19 30  4/13/19
1   A   3/14/19 30 4/13/19&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE&gt;ID 	DRUG 	START_DT     DAYS_SUPP leftover alarm_75_Pct
1 	A 	2019-03-14 	30 	0 	0
1 	A 	2019-03-14 	30 	30 	1&lt;/PRE&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Oct 2019 20:02:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598250#M172518</guid>
      <dc:creator>tennis1</dc:creator>
      <dc:date>2019-10-21T20:02:46Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598311#M172542</link>
      <description>&lt;P&gt;I think you will get that if you move the output statement :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
do until(last.drug);
	set have; by id drug;
	if first.drug then leftover = 0;
	else do;
		leftover = max(0, supply - intck("day", lastSupplydate, start_dt));
		alarm_&amp;amp;alarmingLeftoverPct._Pct = leftOver &amp;gt;= days_supp * &amp;amp;alarmingLeftoverPct / 100;
		end;
	output;
	supply = leftover + days_supp;
	lastSupplyDate = start_dt;
	end;
drop supply lastSupplyDate;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 22 Oct 2019 04:25:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598311#M172542</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-10-22T04:25:36Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598500#M172595</link>
      <description>&lt;P&gt;Unfortunately, that code is still not distinguishing between drugs being filled on the same date. Below is what I'm currently getting:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class="  language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; have&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;input&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;ID&lt;/SPAN&gt; DRUG &lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt; START_DT :mmddyy&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; DAYS_SUPP&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;format&lt;/SPAN&gt; start_dt yymmdd10&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
datalines&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;   A   &lt;SPAN class="token number"&gt;3&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;14&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;19&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;30&lt;/SPAN&gt;  &lt;SPAN class="token number"&gt;4&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;13&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;19&lt;/SPAN&gt;
&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;   A   &lt;SPAN class="token number"&gt;3&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;14&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;19&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;30&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;4&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;13&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;19&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE&gt;ID 	DRUG 	START_DT     DAYS_SUPP leftover alarm_75_Pct
1 	A 	2019-03-14 	30 	0 	0
1 	A 	2019-03-14 	30 	0 	0&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 19:28:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598500#M172595</guid>
      <dc:creator>tennis1</dc:creator>
      <dc:date>2019-10-22T19:28:33Z</dc:date>
    </item>
    <item>
      <title>Re: Stockpiling Drugs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598612#M172646</link>
      <description>&lt;P&gt;I&amp;nbsp; get:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID DRUG $ START_DT :mmddyy. DAYS_SUPP;
format start_dt yymmdd10.;
datalines;
1   A   3/14/19 30  4/13/19
1   A   3/14/19 30  4/13/19
1   B   5/6/09  30  6/5/09
1   C   7/9/19  60  9/7/19
1   E   3/1/19  90  5/30/19
1   B   5/25/19 30  6/24/19
1   D   2/1/19  30  3/3/19
1   C   6/6/19  60  8/4/19
2   B   4/1/19  30  5/1/19
2   A   7/1/19  30  7/31/19
2   C   7/3/19  60  9/1/19
2   B   4/15/19 30  5/14/19
2   E   6/5/19  90  9/5/19
2   A   5/1/19  90  8/2/19
;

proc sort data=have; by id drug start_dt; run;
 
%let alarmingLeftoverPct=75; /* Adjust */

data want;
do until(last.drug);
	set have; by id drug;
	if first.drug then leftover = 0;
	else do;
		leftover = max(0, supply - intck("day", lastSupplydate, start_dt));
		alarm_&amp;amp;alarmingLeftoverPct._Pct = leftOver &amp;gt;= days_supp * &amp;amp;alarmingLeftoverPct / 100;
		end;
	output;
	supply = leftover + days_supp;
	lastSupplyDate = start_dt;
	end;
drop supply lastSupplyDate;
run;

proc print data=want noobs; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;ID 	DRUG 	START_DT 	DAYS_SUPP 	leftover 	alarm_75_Pct
1 	A 	2019-03-14 	30 	0 	.
1 	A 	2019-03-14 	30 	30 	1
1 	B 	2009-05-06 	30 	0 	.
1 	B 	2019-05-25 	30 	0 	0
1 	C 	2019-06-06 	60 	0 	.
1 	C 	2019-07-09 	60 	27 	0
1 	D 	2019-02-01 	30 	0 	.
1 	E 	2019-03-01 	90 	0 	.
2 	A 	2019-05-01 	90 	0 	.
2 	A 	2019-07-01 	30 	29 	1
2 	B 	2019-04-01 	30 	0 	.
2 	B 	2019-04-15 	30 	16 	0
2 	C 	2019-07-03 	60 	0 	.
2 	E 	2019-06-05 	90 	0 	.&lt;/PRE&gt;</description>
      <pubDate>Wed, 23 Oct 2019 05:18:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Stockpiling-Drugs/m-p/598612#M172646</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-10-23T05:18:48Z</dc:date>
    </item>
  </channel>
</rss>

