<?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 start date by patient in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653229#M196213</link>
    <description>&lt;P&gt;I have the following dataset&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="294"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63"&gt;patientID&lt;/TD&gt;
&lt;TD width="112"&gt;Start_1_datetime&lt;/TD&gt;
&lt;TD width="119"&gt;start_2_date_time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/1/2019 1:34&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&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 would like to do is that for the first patient sorted by start_1_date, I would like to create a new start_date_time and set to it start_2_date_time for first instance only. for other rows, use start_1_date_time&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="397"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63"&gt;patientID&lt;/TD&gt;
&lt;TD width="112"&gt;Start_1_datetime&lt;/TD&gt;
&lt;TD width="119"&gt;start_2_date_time&lt;/TD&gt;
&lt;TD width="103"&gt;new_start_date&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/1/2019 1:34&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did:&lt;/P&gt;
&lt;P&gt;data a.test_2; set a.test_1;&lt;BR /&gt;if first.patientid then new_start_date_time = start_2_date_time;&lt;BR /&gt;else new_start_date_time = Start_1_datetime&amp;nbsp;; &lt;BR /&gt;format new_start_date_time datetime23.;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Didn't work. it uses start_1_datetime for all&lt;/P&gt;</description>
    <pubDate>Thu, 04 Jun 2020 13:53:13 GMT</pubDate>
    <dc:creator>monday89</dc:creator>
    <dc:date>2020-06-04T13:53:13Z</dc:date>
    <item>
      <title>first start date by patient</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653229#M196213</link>
      <description>&lt;P&gt;I have the following dataset&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="294"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63"&gt;patientID&lt;/TD&gt;
&lt;TD width="112"&gt;Start_1_datetime&lt;/TD&gt;
&lt;TD width="119"&gt;start_2_date_time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/1/2019 1:34&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&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 would like to do is that for the first patient sorted by start_1_date, I would like to create a new start_date_time and set to it start_2_date_time for first instance only. for other rows, use start_1_date_time&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="397"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63"&gt;patientID&lt;/TD&gt;
&lt;TD width="112"&gt;Start_1_datetime&lt;/TD&gt;
&lt;TD width="119"&gt;start_2_date_time&lt;/TD&gt;
&lt;TD width="103"&gt;new_start_date&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/1/2019 1:34&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/2/2019 0:39&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;TD&gt;12/1/2019 2:45&lt;/TD&gt;
&lt;TD&gt;12/4/2019 4:32&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did:&lt;/P&gt;
&lt;P&gt;data a.test_2; set a.test_1;&lt;BR /&gt;if first.patientid then new_start_date_time = start_2_date_time;&lt;BR /&gt;else new_start_date_time = Start_1_datetime&amp;nbsp;; &lt;BR /&gt;format new_start_date_time datetime23.;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Didn't work. it uses start_1_datetime for all&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 13:53:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653229#M196213</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-06-04T13:53:13Z</dc:date>
    </item>
    <item>
      <title>Re: first start date by patient</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653230#M196214</link>
      <description>&lt;P&gt;I create character values for simplicity, but the principle is the same&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm=',';
input (patientID Start_1_datetime start_2_date_time)(:$20.);
datalines;
1234,12/1/2019 1:34,12/1/2019 2:45
1234,12/2/2019 0:39,12/1/2019 2:45
1234,12/4/2019 4:32,12/1/2019 2:45
;

data want;
    set have;
    by patientID;
    if first.patientID then new_start_datetime=start_2_date_time;
    else new_start_datetime=Start_1_datetime;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 04 Jun 2020 13:59:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653230#M196214</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-06-04T13:59:36Z</dc:date>
    </item>
    <item>
      <title>Re: first start date by patient</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653231#M196215</link>
      <description>&lt;P&gt;Yes, that's one place where SAS is a little weak (methinks!). If you look closely in the log you may have seen a note saying something like "variable first.patientid is uninitialized". I think SAS should throw an error, or at least a warning, in these cases where you use first. or last. without a BY statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Because the problem seems to be that you forgot to write "by patiendid;". Try that, I think that is the problem.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 14:01:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653231#M196215</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2020-06-04T14:01:19Z</dc:date>
    </item>
    <item>
      <title>Re: first start date by patient</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653232#M196216</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input patientID	Start_1_datetime $19.	start_2_date_time $19.;
cards;
1234	12/1/2019 1:34	12/1/2019 2:45
1234	12/2/2019 0:39	12/1/2019 2:45
1234	12/4/2019 4:32	12/1/2019 2:45
;

data want;
 set have;
 by patientid;
 if first.patientid then new_start_date=start_2_date_time;
 else new_start_date=Start_1_datetime;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 04 Jun 2020 14:02:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653232#M196216</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-04T14:02:43Z</dc:date>
    </item>
    <item>
      <title>Re: first start date by patient</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653234#M196218</link>
      <description>&lt;P&gt;Almost there:&lt;/P&gt;
&lt;PRE&gt;data a.test_2; 
set a.test_1;
&lt;FONT color="#FF00FF"&gt;&lt;STRONG&gt;BY PATIENTID;&lt;/STRONG&gt;&lt;/FONT&gt;
if first.patientid then new_start_date_time = start_2_date_time;
else new_start_date_time = Start_1_datetime ;
format new_start_date_time datetime23.;
run;&lt;/PRE&gt;
&lt;P&gt;To use the First. and Last. you must have the variable on a BY statement.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 14:08:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-start-date-by-patient/m-p/653234#M196218</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-06-04T14:08:11Z</dc:date>
    </item>
  </channel>
</rss>

