If your goal is normalization, then contact information is contact information regardless of what role the person plays in the operation.
Go with the contact book suggestions, but don't include emergency contact, etc.
A patient is a patient, and could have any number of details required that have nothing to do with contact information.
At that point, you can either include emergency contact information as part of the primary patient table or, if you expect the possibility of multiple contacts for single patient, you could have a patient_Contact table that would contain the patient id from the patients table and the contact id for each contact listed.
This would provide the maximum flexibility for contacts having multiple relations with different actors in the process simply by storing the cross reference.
So rather than including a patient as FK on the contact, include the contact id on the patient. you could also at that point include the patient contact data (their phone number, address, etc) on the contact table, and reference the contact id as PatientContact. now you only have one table storing Name, phone number, address, etc.