We do exactly what you describe in the first paragraph. But every location isn't the same.
As for computer systems, as features get added, you can't expect 100% perfection on every application, just because it's on a computer. There's no other system that works this way, and where they're important (banking), you'll see systems that haven't changed in 50 years in some cases.
When you see the data from the other side, you might find that we had thousands of DRs (and paid claims) in non DR locations, and restricting the DRs to locations where the DIAD thinks it's a DR only leaves us with a thousand exceptions. So - we take the lesser of two evils.
There are a limited number of programmers. As an example in any system, we might have a list of 100 things to fix, but you'll only get enough money to work on the top 5. The remaining 95 - you'll have to live with.