|Date: ||Fri, 1 May 2009 17:18:43 -0400|
|Reply-To: ||Jonathan Goldberg <jgoldberg@BIOMEDSYS.COM>|
|Sender: ||"SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>|
|From: ||Jonathan Goldberg <jgoldberg@BIOMEDSYS.COM>|
|Subject: ||Re: Need Help ASAP with intck|
The problem you're having stems from the fact that intck and intnx are
designed to solve different (and harder) problems than the one you have.
A simple solution is to get the person's 65th birthday, like this:
bmonth = month(dob);
bday = day(dob);
byear = year(dob);
date65 = mdy(bmonth, bday, byear + 65);
Then if fillDate >= date65 then whatever.
On Fri, 1 May 2009 11:20:45 -0700, sdlentertd@GMAIL.COM wrote:
>Need to track medical claims of people who are 65+
>Time period of measurement is two years, from Mar2007 to Mar2009....
>what if during this time someone turns 65 (example in 2008)... using
>that has '01APR2007'd wouldn't be accurate b/c the person would turn
>65 in 2008 and should be captured after he turns 65... so
>1) pull all members who are 65 as of today and then when I compare
>that table to get the actualy members who had medical claims during
>the last 2 years and then only choose those ones apply... here is an
>NAME DOB CLAIMS Date of Fill
>PersonA 3/5/1944 1 3/4/2009 (this claim would be excluded)
>PersonA 3/5/1944 5 3/8/2009 (this on is included b/c at the
>time of fill the person was alrady 65)
>How do I put this in a code?
>This code does NOT work exacly the way it needs to work... only if the
>difference between DOB and Date of Fill is one month then it works...
>if floor((intck('month', dob, date_of_fill)-(day(date_of_fill) < day
>(dob)) ) / 12) LT 65
>and this code does NOT work if intnx('year',dob,65,'S') GT