Still new to writing arrays. Looking to extract any records from a larger outpatient emergency discharge file 'entireEDdataset', to a new dataset 'hypertension', where any of the discharge diagnoses (principal or 28 secondary) are listed as the ICD-9 codes for hypertension. The program below runs; however, I end up with duplicate observations for those records where the criteria is met more than once (example B and D below - duplicates record count = number of times the criteria was met). How do I get the array to stop outputting once the criteria is met the first time? Running Base SAS 9.3 Input Dataset 'EntireEDDataset': ID principaldx diag1 diag2 diag3 [...] diag28 [...other vars...] A 401.00 123.91 656.00 789.10 567.00 B 402.00 403.00 123.40 234.50 999.09 C 123.45 678.91 546.20 698.20 546.80 D 403.00 402.00 401.00 405.00 123.45 data hypertension;
set entireEDdataset;
array dx [29] principaldx diag1-diag28;
do i = 1 to 29;
if dx(i) in : ('401', '402', '403', '404', '405') then output hypertension;
end;
drop i;
run; Dataset 'HYPERTENSION':
A, 401.00, 123.91, 656.00, 789.10, [...], 567.00 [...other vars...]
B, 402.00, 403.00, 123.40, 234.50, [...], 999.09 [...other vars...]
B, 402.00, 403.00, 123.40, 234.50, [...], 999.09 [...other vars...]
D, 403.00, 402.00, 401.00, 405.00, [...], 123.45 [...other vars...]
D, 403.00, 402.00, 401.00, 405.00, [...], 123.45 [...other vars...]
D, 403.00, 402.00, 401.00, 405.00, [...], 123.45 [...other vars...]
D, 403.00, 402.00, 401.00, 405.00, [...], 123.45 [...other vars...]
... View more