Hello, I am working on CVD outcome based on ICD10. The database I have consists of patients with all kinds of diseases. Therefore, I need to find out who has CVD in the database. I was thinking to use "DO" loop. My idea is that if the OBS contains the ICD10 code for CVD then I will keep this OBS. For example, this is 5 OBS of the database. (ID: patient id; icd1-icd5 were the diseases reported by the patients. Patients could have more than one disease.) data cvd;
input id icd1$ icd2$ icd3$ icd4$ icd5$;
datalines;
1 K509 K523 K529 M241 .
2 A101 I210 K509 M050 I212
3 B310 K523 I051 . .
4 H100 H200 I607 I639 I501
5 I210 I211 I212 I213 .
RUN;
DATA CVDTRY;
SET cvd;
ARRAY TOTALCVD icd1 icd2 icd3 icd4 icd5;
DO i = 'I210', 'I211', 'I212', 'I213', 'I214', 'I219', 'I051', 'I607';
IF TOTALCVD[i] = [i] THEN OUTPUT;
END; The log I got was: ERROR: Undeclared array referenced: NAME.
ERROR: Variable NAME has not been declared as an array.
ERROR 22-322: Syntax error, expecting one of the following: a name, INPUT, PUT. I was not sure it is appropriate to use this method, or are there any other approaches to solve problems like this? Thank you!
... View more