Another approach might be a "user exit" that would allow a user to set up their own additional criteria, and have some kind of plug-in mechanism.