<?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 Calculating difference in dates using the same date variable in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424641#M68206</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to calculate the difference between dates in days using the same variable date [&lt;SPAN&gt;Procedure_Date&lt;/SPAN&gt;] in the same patient, among only those with the same Status=Alive.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;patient_num&lt;/TD&gt;&lt;TD&gt;Procedure_Date&lt;/TD&gt;&lt;TD&gt;Status_Date&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;03/07/2002&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;10/01/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/07/2007&lt;/TD&gt;&lt;TD&gt;12/02/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/27/2009&lt;/TD&gt;&lt;TD&gt;10/08/2015&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;patient_num&lt;/TD&gt;&lt;TD&gt;Procedure_Date&lt;/TD&gt;&lt;TD&gt;Status_Date&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Days_Between_Procedure&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;03/07/2002&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;718&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;10/01/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;718&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/07/2007&lt;/TD&gt;&lt;TD&gt;12/02/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/27/2009&lt;/TD&gt;&lt;TD&gt;10/08/2015&lt;/TD&gt;&lt;TD&gt;Dead&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;So for example, the difference in days of patient33's first&amp;nbsp;&lt;SPAN&gt;Procedure_Date and second&amp;nbsp;Procedure_Date, which equals to 718 days (same Status="Alive") and appears in the both rows.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there a way to do it in SAS datastep or in SQL?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 03 Jan 2018 17:48:36 GMT</pubDate>
    <dc:creator>jcapua2</dc:creator>
    <dc:date>2018-01-03T17:48:36Z</dc:date>
    <item>
      <title>Calculating difference in dates using the same date variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424641#M68206</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to calculate the difference between dates in days using the same variable date [&lt;SPAN&gt;Procedure_Date&lt;/SPAN&gt;] in the same patient, among only those with the same Status=Alive.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;patient_num&lt;/TD&gt;&lt;TD&gt;Procedure_Date&lt;/TD&gt;&lt;TD&gt;Status_Date&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;03/07/2002&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;10/01/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/07/2007&lt;/TD&gt;&lt;TD&gt;12/02/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/27/2009&lt;/TD&gt;&lt;TD&gt;10/08/2015&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;patient_num&lt;/TD&gt;&lt;TD&gt;Procedure_Date&lt;/TD&gt;&lt;TD&gt;Status_Date&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Days_Between_Procedure&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;03/07/2002&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;718&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient33&lt;/TD&gt;&lt;TD&gt;02/23/2004&lt;/TD&gt;&lt;TD&gt;10/01/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;718&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/07/2007&lt;/TD&gt;&lt;TD&gt;12/02/2014&lt;/TD&gt;&lt;TD&gt;Alive&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;patient50&lt;/TD&gt;&lt;TD&gt;05/27/2009&lt;/TD&gt;&lt;TD&gt;10/08/2015&lt;/TD&gt;&lt;TD&gt;Dead&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;So for example, the difference in days of patient33's first&amp;nbsp;&lt;SPAN&gt;Procedure_Date and second&amp;nbsp;Procedure_Date, which equals to 718 days (same Status="Alive") and appears in the both rows.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there a way to do it in SAS datastep or in SQL?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jan 2018 17:48:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424641#M68206</guid>
      <dc:creator>jcapua2</dc:creator>
      <dc:date>2018-01-03T17:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating difference in dates using the same date variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424649#M68210</link>
      <description>&lt;P&gt;It appears that you only want the first value calculated and then retained. If your data is sorted by patient_num and procedure_date &lt;STRONG&gt;and&lt;/STRONG&gt; your procedure_date and status_date variables are SAS date valued variables&lt;/P&gt;
&lt;PRE&gt;data want;
    set have;
    by patient_num;
    retain  Days_between_procedure;
    if first.patient_num then Days_between_procedure= Status_date-Procedure_date;
run; &lt;/PRE&gt;
&lt;P&gt;If your dates are character variables then you will have to convert them to SAS date values&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;if first.patient_num then Days_between_procedure=  input(Status_date,mmddyy10.)- input(Procedure_date,mmddyy10.);&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Jan 2018 18:14:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424649#M68210</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-01-03T18:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating difference in dates using the same date variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424650#M68211</link>
      <description>&lt;P&gt;Putting the same "days between procedures" on every observation is probably a mistake. &amp;nbsp;What values go where, if the patient actually had 3 procedures instead of 2?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's an easy way to put the "days between procedures" on the current observation only, as long as the patient is still alive.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; by patient_num procedure_date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by patient_num procedure_date;&lt;/P&gt;
&lt;P&gt;days_between_procedure = dif(procedure_date);&lt;/P&gt;
&lt;P&gt;if first.patient_num or status ne 'Alive' then days_between_procedure = .;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may want to inspect the results to see if they seem like they would be easy enough to work with. &amp;nbsp;There are other ways, if you really need them.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jan 2018 18:17:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424650#M68211</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-01-03T18:17:15Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating difference in dates using the same date variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424652#M68212</link>
      <description>&lt;P&gt;&lt;BR /&gt;data have;&lt;BR /&gt;input patient_num : $10. (Procedure_Date Status_Date) (:mmddyy10.) Status $;&lt;BR /&gt;format Procedure_Date Status_Date mmddyy10.;&lt;BR /&gt;datalines;&lt;BR /&gt;patient33 03/07/2002 02/23/2004 Alive&lt;BR /&gt;patient33 02/23/2004 10/01/2014 Alive&lt;BR /&gt;patient50 05/07/2007 12/02/2014 Alive&lt;BR /&gt;patient50 05/27/2009 10/08/2015 Dead&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;call missing(_flag);&lt;BR /&gt;do _n_=1 by 1 until(last.patient_num);&lt;BR /&gt;set have;&lt;BR /&gt;by patient_num Procedure_Date;&lt;BR /&gt;if _n_=2 then _temp=Procedure_Date;&lt;BR /&gt;if status='Dead' then _flag=0;&lt;BR /&gt;end;&lt;BR /&gt;do _n_=1 by 1 until(last.patient_num);&lt;BR /&gt;set have;&lt;BR /&gt;by patient_num Procedure_Date;&lt;BR /&gt;if _n_=1 and missing(_flag) then Days_Between_Procedure=intck('days',Procedure_Date, _temp);&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;drop _:;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jan 2018 18:21:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculating-difference-in-dates-using-the-same-date-variable/m-p/424652#M68212</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-03T18:21:57Z</dc:date>
    </item>
  </channel>
</rss>

