G
Guest
I am developing a clinical database which includes listings of
Patients
Providers
Staff
Sites
Medical events.
Patients, Providers and Staff may have multiple phone numbers (e.g. home,
work, cell, etc.) and addresses (e.g. PatientHome, PatientWork,
ProviderSite1, ProviderSite2, etc.) They may also share the same phone
number or address (e.g. three Providers at the same Site). This potentially
makes for very cumbersome tables with many empty fields.
Does it make more sense to have a master tblPhone and tblAddress linked to
each person as a foreign key, rather than putting multiple fields into
tblPatient, tblProvider, tblStaff, and tblSites? This would simplify data
entry, table structure and the appropriate listings could be retrieved in
subforms or by queries. Greatly simplifying, this might look like:
tblPatient
Patient_PK
Patient_NameLast
Phone_FK
Address_FK
tblProvider
Provider_PK
Provider_NameLast
Phone_FK
Address_FK
tblPhones
Phone_PK
Phone_Number
Phone_Extension
Phone_NameToAskFor
Phone_Type (home/work/cell/partner/emergency/main/inside line/fax etc.)
tblAddress
Address_PK
Address_Line1
Address_Line2
Address_City
Address_Zip
Address_Type (home/work/partner/Site/admin etc.)
Thank you
Patients
Providers
Staff
Sites
Medical events.
Patients, Providers and Staff may have multiple phone numbers (e.g. home,
work, cell, etc.) and addresses (e.g. PatientHome, PatientWork,
ProviderSite1, ProviderSite2, etc.) They may also share the same phone
number or address (e.g. three Providers at the same Site). This potentially
makes for very cumbersome tables with many empty fields.
Does it make more sense to have a master tblPhone and tblAddress linked to
each person as a foreign key, rather than putting multiple fields into
tblPatient, tblProvider, tblStaff, and tblSites? This would simplify data
entry, table structure and the appropriate listings could be retrieved in
subforms or by queries. Greatly simplifying, this might look like:
tblPatient
Patient_PK
Patient_NameLast
Phone_FK
Address_FK
tblProvider
Provider_PK
Provider_NameLast
Phone_FK
Address_FK
tblPhones
Phone_PK
Phone_Number
Phone_Extension
Phone_NameToAskFor
Phone_Type (home/work/cell/partner/emergency/main/inside line/fax etc.)
tblAddress
Address_PK
Address_Line1
Address_Line2
Address_City
Address_Zip
Address_Type (home/work/partner/Site/admin etc.)
Thank you