@santrajas: It is starting to make a little more sense, but I'd still try to use code instead of the database.

For your example, your data access layer could return a doctor list based on given filter criteria. When your user checks a box in the UI, the viewmodel class detects this and modifies the Doctors property to return the different doctors. Your XAML binding doesn't need to change because your ViewModel is now delivering a different list of doctors.