<?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: searching for start/end times across multiple observations in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445629#M283125</link>
    <description>&lt;P&gt;Thank you! this works perfectly!!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 14 Mar 2018 20:12:48 GMT</pubDate>
    <dc:creator>jsmall</dc:creator>
    <dc:date>2018-03-14T20:12:48Z</dc:date>
    <item>
      <title>searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445612#M283121</link>
      <description>&lt;P&gt;Hi there, hope I can explain this well-&lt;/P&gt;&lt;P&gt;Below is&amp;nbsp;some of my data that shows how&amp;nbsp;patients are moving through a hospital, having one or several encounters with staff, each encounter documented in their record. I'd like to collapse the encounters that occur within 48 hours and call it&amp;nbsp;one 'episode'. People can have up to 200 encounters and multiple episodes that span a 10 year window, so it's not efficient to transpose the data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For now, I'm starting with the patient's very first encounter at the hospital, and want to identify when that episode is over.&amp;nbsp;&amp;nbsp;So, patient 300 has 3 encounters, the first 2 occurring within 24 hours, the last one beginning at a much later date, so I don't want to count that one.&amp;nbsp;&amp;nbsp;Patient 500 has 3 encounters within 24 hours. In each case I want to identify the encounter that is the end of their first episode at the hospital&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas?&amp;nbsp; I don't use SQL, so if you have any code for a data step, I'd really appreciate it!!!!!!&lt;/P&gt;&lt;P&gt;Thanks so much!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;encounter_num&lt;/TD&gt;&lt;TD&gt;eval start&lt;/TD&gt;&lt;TD&gt;eval end&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08JUL10:15:00:00&lt;/TD&gt;&lt;TD&gt;08JUL10:17:43:08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08JUL10:17:15:00&lt;/TD&gt;&lt;TD&gt;09JUL10:18:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;23JUL10:16:30:00&lt;/TD&gt;&lt;TD&gt;23JUL10:16:46:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;23JUL10:17:31:53&lt;/TD&gt;&lt;TD&gt;26JUL10:16:30:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;18AUG05:04:01:53&lt;/TD&gt;&lt;TD&gt;18AUG05:04:30:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;25APR05:08:15:00&lt;/TD&gt;&lt;TD&gt;25APR05:08:31:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;25APR05:09:16:53&lt;/TD&gt;&lt;TD&gt;25APR05:10:46:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;03JAN11:13:46:53&lt;/TD&gt;&lt;TD&gt;03JAN11:13:58:08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;23MAR07:19:13:08&lt;/TD&gt;&lt;TD&gt;24MAR07:12:16:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;24MAR07:15:00:00&lt;/TD&gt;&lt;TD&gt;24MAR07:16:30:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;27MAR07:10:30:00&lt;/TD&gt;&lt;TD&gt;27MAR07:10:46:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;13AUG04:09:00:00&lt;/TD&gt;&lt;TD&gt;13AUG04:13:13:08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;05MAR12:19:30:00&lt;/TD&gt;&lt;TD&gt;05MAR12:19:46:53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;05MAR12:20:15:00&lt;/TD&gt;&lt;TD&gt;05MAR12:22:58:08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;06MAR12:00:00:00&lt;/TD&gt;&lt;TD&gt;06MAR12:04:13:08&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Mar 2018 19:41:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445612#M283121</guid>
      <dc:creator>jsmall</dc:creator>
      <dc:date>2018-03-14T19:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445621#M283122</link>
      <description>&lt;P&gt;How are you counting 48 hours?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What if it was the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;T1 Monday Night - first visit&lt;/P&gt;
&lt;P&gt;T2 Tuesday Morning - second visit - 26 hours from T1&lt;/P&gt;
&lt;P&gt;T3 Wednesday evening - third visit - 56 hours from T1, 30 hours from T2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would T3 be included in that episode or would it be on its own?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This can be accomplished using PROC SQL - if you search on here with 30 day readmission problem it's the same concept except 48 hours instead of 30 days.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/199128"&gt;@jsmall&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi there, hope I can explain this well-&lt;/P&gt;
&lt;P&gt;Below is&amp;nbsp;some of my data that shows how&amp;nbsp;patients are moving through a hospital, having one or several encounters with staff, each encounter documented in their record. I'd like to collapse the encounters that occur within 48 hours and call it&amp;nbsp;one 'episode'. People can have up to 200 encounters and multiple episodes that span a 10 year window, so it's not efficient to transpose the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For now, I'm starting with the patient's very first encounter at the hospital, and want to identify when that episode is over.&amp;nbsp;&amp;nbsp;So, patient 300 has 3 encounters, the first 2 occurring within 24 hours, the last one beginning at a much later date, so I don't want to count that one.&amp;nbsp;&amp;nbsp;Patient 500 has 3 encounters within 24 hours. In each case I want to identify the encounter that is the end of their first episode at the hospital&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any ideas?&amp;nbsp; I don't use SQL, so if you have any code for a data step, I'd really appreciate it!!!!!!&lt;/P&gt;
&lt;P&gt;Thanks so much!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;ID&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;encounter_num&lt;/TD&gt;
&lt;TD&gt;eval start&lt;/TD&gt;
&lt;TD&gt;eval end&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;08JUL10:15:00:00&lt;/TD&gt;
&lt;TD&gt;08JUL10:17:43:08&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;08JUL10:17:15:00&lt;/TD&gt;
&lt;TD&gt;09JUL10:18:00:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;23JUL10:16:30:00&lt;/TD&gt;
&lt;TD&gt;23JUL10:16:46:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;23JUL10:17:31:53&lt;/TD&gt;
&lt;TD&gt;26JUL10:16:30:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;200&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;18AUG05:04:01:53&lt;/TD&gt;
&lt;TD&gt;18AUG05:04:30:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;300&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;25APR05:08:15:00&lt;/TD&gt;
&lt;TD&gt;25APR05:08:31:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;300&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;25APR05:09:16:53&lt;/TD&gt;
&lt;TD&gt;25APR05:10:46:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;300&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;03JAN11:13:46:53&lt;/TD&gt;
&lt;TD&gt;03JAN11:13:58:08&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;23MAR07:19:13:08&lt;/TD&gt;
&lt;TD&gt;24MAR07:12:16:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;24MAR07:15:00:00&lt;/TD&gt;
&lt;TD&gt;24MAR07:16:30:00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;27MAR07:10:30:00&lt;/TD&gt;
&lt;TD&gt;27MAR07:10:46:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;13AUG04:09:00:00&lt;/TD&gt;
&lt;TD&gt;13AUG04:13:13:08&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;05MAR12:19:30:00&lt;/TD&gt;
&lt;TD&gt;05MAR12:19:46:53&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;05MAR12:20:15:00&lt;/TD&gt;
&lt;TD&gt;05MAR12:22:58:08&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;06MAR12:00:00:00&lt;/TD&gt;
&lt;TD&gt;06MAR12:04:13:08&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI-SPOILER&gt;</description>
      <pubDate>Wed, 14 Mar 2018 19:56:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445621#M283122</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-03-14T19:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445627#M283123</link>
      <description>&lt;P&gt;Please correct my understanding wherever i am wrong to make further changes:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID 	encounter_num 	evalstart :datetime20.	evalend :datetime20.;
format evalstart datetime20.	evalend datetime20.;
datalines;
100	1	08JUL10:15:00:00	08JUL10:17:43:08
100	2	08JUL10:17:15:00	09JUL10:18:00:00
100	3	23JUL10:16:30:00	23JUL10:16:46:53
100	4	23JUL10:17:31:53	26JUL10:16:30:00
200	1	18AUG05:04:01:53	18AUG05:04:30:00
300	1	25APR05:08:15:00	25APR05:08:31:53
300	2	25APR05:09:16:53	25APR05:10:46:53
300	3	03JAN11:13:46:53	03JAN11:13:58:08
400	1	23MAR07:19:13:08	24MAR07:12:16:53
400	2	24MAR07:15:00:00	24MAR07:16:30:00
400	3	27MAR07:10:30:00	27MAR07:10:46:53
400	4	13AUG07:09:00:00	13AUG07:13:13:08
500	1	05MAR12:19:30:00	05MAR12:19:46:53
500	2	05MAR12:20:15:00	05MAR12:22:58:08
500	3	06MAR12:00:00:00	06MAR12:04:13:0
;

data want;
set have;
by id;
retain episode;
_k=lag(evalend);
if first.id then do; _cumhr =0;episode=1;end;
if not first.id then do;_hours=intck('hour',_k,evalend);_cumhr+_hours;end;
if _cumhr&amp;gt;=48 then do;episode+1;_cumhr =0;end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 14 Mar 2018 20:06:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445627#M283123</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-14T20:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445628#M283124</link>
      <description>&lt;P&gt;Thanks, I'll search for that.&lt;/P&gt;&lt;P&gt;Right now, I'm just ballpark-ing 48 hours, and I'm only interested in time from T1. so evalend time- evalstart time= 48 hours&lt;/P&gt;</description>
      <pubDate>Wed, 14 Mar 2018 20:07:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445628#M283124</guid>
      <dc:creator>jsmall</dc:creator>
      <dc:date>2018-03-14T20:07:11Z</dc:date>
    </item>
    <item>
      <title>Re: searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445629#M283125</link>
      <description>&lt;P&gt;Thank you! this works perfectly!!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Mar 2018 20:12:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445629#M283125</guid>
      <dc:creator>jsmall</dc:creator>
      <dc:date>2018-03-14T20:12:48Z</dc:date>
    </item>
    <item>
      <title>Re: searching for start/end times across multiple observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445632#M283126</link>
      <description>&lt;P&gt;Lol I didn't even read your details completely before i started coding and that worries me. Well do test as well as you can and feel free to come back to us for any further edit/changes. have a good one!&lt;/P&gt;</description>
      <pubDate>Wed, 14 Mar 2018 20:21:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/searching-for-start-end-times-across-multiple-observations/m-p/445632#M283126</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-14T20:21:05Z</dc:date>
    </item>
  </channel>
</rss>

