My first post here, but have used this forum extensively in the past to trouble shoot. However, can't find a solution to my stata problem, if there is one.

I have a series of variables from DX1, DX2, DX3 ... DX25.

Variables DX1 - DX25 have a diagnostic code, which is a string value.

I'm trying to recreate a new variable that searches DX1-25, and pulls the diagnostic codes I am interested in.

Write now, I have this code:

gen AKI=0
forvalues j=1/25{
replace AKI=1 if inlist(DX`j', "5845", "5846", "5847", "5848", "5849")
}

But the problem is, for the inlist function, I can't include more than 5-10 string variables in the "inlist" function. For some new variables I am trying to generate, it will be based on 100s of diagnostic codes. So I thought if I use a macro with my string variables predefined, then I could avoid the 5-10 limit.

I've tried creating the following macro and incorporating it into my loop:

local aki "5845" "5846" "5847" "5848" "5849"

gen AKI=0

forvalues j=1/25{
replace AKI=1 if inlist(DX`j', "`x'")
}

And it doesn't work. The result is "0 real changes made"

Any help you might have would be tremendously appreciated. Thank you.