<?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 First and stop date - hours in difference in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/First-and-stop-date-hours-in-difference/m-p/639512#M190275</link>
    <description>&lt;P&gt;Hello. I have the following dataset per subject ID where i need to calculate difference in hours based on each day. Logic:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;For day = 0, where i need to take the MAX DRUG_stop_DTM - Enrolled_DTM.&lt;/LI&gt;
&lt;LI&gt;Next days (EXCEPT THE LAST DAY for that subjectID), the difference in hours needs to be static set to 24 hours.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Last day: final_stop_DTM - first drug_start_dtm for that last day. If the "Final_stop_dtm" is missing then use max drug_stop_dtm for that day&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="734"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="67"&gt;PatientID&lt;/TD&gt;
&lt;TD width="149"&gt;Enrolled_DTM&lt;/TD&gt;
&lt;TD width="38"&gt;days&lt;/TD&gt;
&lt;TD width="133"&gt;Drug_start_DTM&lt;/TD&gt;
&lt;TD width="133"&gt;Drug_stop_STM&lt;/TD&gt;
&lt;TD width="65"&gt;WEIGHT&lt;/TD&gt;
&lt;TD width="149"&gt;final_stop_DTM&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;26MAR20:13:30:00&lt;/TD&gt;
&lt;TD&gt;26MAR20:23:59:59&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:00:00:00&lt;/TD&gt;
&lt;TD&gt;27MAR20:23:59:59&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:03:46:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:20:04:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:00:00:00&lt;/TD&gt;
&lt;TD&gt;28MAR20:13:00:00&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:04:11:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:04:46:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;02JAN20:18:16:00&lt;/TD&gt;
&lt;TD&gt;02JAN20:23:59:59&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;03JAN20:00:00:00&lt;/TD&gt;
&lt;TD&gt;03JAN20:15:50:00&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;03JAN20:15:50:00&lt;/TD&gt;
&lt;TD&gt;03JAN20:23:59:59&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;04JAN20:00:00:00&lt;/TD&gt;
&lt;TD&gt;04JAN20:21:11:00&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;want;&lt;/P&gt;
&lt;TABLE width="291"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="67"&gt;PatientID&lt;/TD&gt;
&lt;TD width="38"&gt;days&lt;/TD&gt;
&lt;TD width="65"&gt;WEIGHT&lt;/TD&gt;
&lt;TD width="121"&gt;hours_difference&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;10.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;7.82&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;21.18&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What I have done so far is break the dataset by days. for day = 0 but then i wasn't sure how to do the "last" by group per patient&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;any help is appreciated.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 13 Apr 2020 16:21:10 GMT</pubDate>
    <dc:creator>monday89</dc:creator>
    <dc:date>2020-04-13T16:21:10Z</dc:date>
    <item>
      <title>First and stop date - hours in difference</title>
      <link>https://communities.sas.com/t5/SAS-Programming/First-and-stop-date-hours-in-difference/m-p/639512#M190275</link>
      <description>&lt;P&gt;Hello. I have the following dataset per subject ID where i need to calculate difference in hours based on each day. Logic:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;For day = 0, where i need to take the MAX DRUG_stop_DTM - Enrolled_DTM.&lt;/LI&gt;
&lt;LI&gt;Next days (EXCEPT THE LAST DAY for that subjectID), the difference in hours needs to be static set to 24 hours.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Last day: final_stop_DTM - first drug_start_dtm for that last day. If the "Final_stop_dtm" is missing then use max drug_stop_dtm for that day&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="734"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="67"&gt;PatientID&lt;/TD&gt;
&lt;TD width="149"&gt;Enrolled_DTM&lt;/TD&gt;
&lt;TD width="38"&gt;days&lt;/TD&gt;
&lt;TD width="133"&gt;Drug_start_DTM&lt;/TD&gt;
&lt;TD width="133"&gt;Drug_stop_STM&lt;/TD&gt;
&lt;TD width="65"&gt;WEIGHT&lt;/TD&gt;
&lt;TD width="149"&gt;final_stop_DTM&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;26MAR20:13:30:00&lt;/TD&gt;
&lt;TD&gt;26MAR20:23:59:59&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:00:00:00&lt;/TD&gt;
&lt;TD&gt;27MAR20:23:59:59&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:03:46:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;27MAR20:20:04:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:00:00:00&lt;/TD&gt;
&lt;TD&gt;28MAR20:13:00:00&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:04:11:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;26MAR2020:13:30:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;28MAR20:04:46:00&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;28MAR2020:21:56:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;02JAN20:18:16:00&lt;/TD&gt;
&lt;TD&gt;02JAN20:23:59:59&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;03JAN20:00:00:00&lt;/TD&gt;
&lt;TD&gt;03JAN20:15:50:00&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;03JAN20:15:50:00&lt;/TD&gt;
&lt;TD&gt;03JAN20:23:59:59&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;02JAN2020:16:11:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;04JAN20:00:00:00&lt;/TD&gt;
&lt;TD&gt;04JAN20:21:11:00&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;want;&lt;/P&gt;
&lt;TABLE width="291"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="67"&gt;PatientID&lt;/TD&gt;
&lt;TD width="38"&gt;days&lt;/TD&gt;
&lt;TD width="65"&gt;WEIGHT&lt;/TD&gt;
&lt;TD width="121"&gt;hours_difference&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;10.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1232&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;74.2&lt;/TD&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;7.82&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4456&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;80.9&lt;/TD&gt;
&lt;TD&gt;21.18&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What I have done so far is break the dataset by days. for day = 0 but then i wasn't sure how to do the "last" by group per patient&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;any help is appreciated.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Apr 2020 16:21:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/First-and-stop-date-hours-in-difference/m-p/639512#M190275</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-04-13T16:21:10Z</dc:date>
    </item>
    <item>
      <title>Re: First and stop date - hours in difference</title>
      <link>https://communities.sas.com/t5/SAS-Programming/First-and-stop-date-hours-in-difference/m-p/639538#M190288</link>
      <description>&lt;P&gt;Hi &lt;A class="trigger-hovercard" style="color: #007dc3;" href="https://communities.sas.com/t5/user/viewprofilepage/user-id/303622" target="_blank"&gt;monday89&lt;/A&gt;,&lt;/P&gt;
&lt;P&gt;Here is how you can set up you logic:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=A out=B; 
   by PatientID Days;
run;

data C;
   set B;
   by PatientID Days;
   if first.Days then
   do;
      /* do your first observation (Days=0) processing */
   end;
   else
   if last.Days then
   do;
      /* do your last day processing */
   end;
   else
   do;
      /* do your processing for other days except last */
   end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Apr 2020 18:14:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/First-and-stop-date-hours-in-difference/m-p/639538#M190288</guid>
      <dc:creator>LeonidBatkhan</dc:creator>
      <dc:date>2020-04-13T18:14:19Z</dc:date>
    </item>
  </channel>
</rss>

