The person_attribute table has had a 'searchable' checkbox since inception. However, it has never actually been used in the searches in the PatientService, PersonService, or UserService. Find the getter methods in those services for the Patient, Person, and User objects and add a join in their dao to also look at the searchable property. The DAO implementation classes are HibernatePatientDAO, HibernatePersonDAO and HibernateUserDAO. The DAO interfaces are PatientDAO, PersonDAO and UserDAO
You also need to edit PatientSearchCriteria to join to the person_attribute table for the searchable attribute types
Remember to add unit tests to ensure that the desired behaviour is achieved.
(Requires some knowledge of hibernate and criteria queries)