I don't know about reasonForUse ... I imagine that it is not always filled out or correct.
I've actually had the same question about your alternative approach for a time.
Sometimes you can find guidance in scholar.google.com
by searching for administrative data studies and seeing what codes (icd10, icd9) they used.
For example in diabetes ...
At the end of the day, nothing is perfect, there are always false positives and false negatives. Also, your search is only as good as how many codes are returned (ie if one hospital system only has 2 codes on that person and neither is for DM then what does that mean?)
I've started trying to put together some of the codes (and their sensitivity/specificity) at http://highr.net/
I think everyone is focused on getting data out through REST APIs, but having the data answer questions is another thing.
The other way to think about it is if you are making this "app" for some performance measure (like MIPS) ... if so, use the CMS definition.
Hope that helps a little,