I have a table called 'subjects' that has 86k observations - each observation represents a single individual - there is a variable called ICD_code e.g. 1244 which holds the icd code for their cause of death if they are dead or its left empty if the person is still alive. I have another table called diseases which is 70 observations long - each observation represents a disease defined by a set of pairs of icd_codes e.g. 'lung cancer' 3, 1237 7584 , 6854 7845, 4579 5879 ... the first variable is the name of the disease grouping - lung cancer the next is a number which is an index that gives the number of pairs of icd_codes that define the disease grouping. Then i have a number of icd_code pairs each of which represent a range - each value is in a separate variable e.g. L1, U1, L2, U2, l3, u3 ... I have created 70 new variables v1 - v70 in the subject table one for each disease grouping and set them all to zero. What i need to do now is for each subject who is dead and has an icd_code - i need to check their ICD_code to see which of the 70 groupings contains that code and then set the value of the appropriate varable v* to 1. So in my example of lung cancer because the icd_code value 1244 IS in the first pair of codes (i.e. its GE 1237 and LE 7584) I want to change the zero in the relevant V variable to a 1 to recognise this. I can't work out how to do this! - i used to be a fortran programmer and in that language i coudl have done it - but i can;t seem to work out in SAS how to use data from two different tables at the same time - i can't join them together as they are not the same types of data. Any suggestions greatly appreciated.
... View more