Dit spørgsmål er slet ikke klart for mig. Du taler for eksempel om, at patienter og sygeplejersker er knyttet til "Prioritet" og læger, der er knyttet til "Tid" og "Prioritet" - og du skriver, som om det er andre tabeller - men du beskriver dem ikke.
Nedenfor er, hvordan jeg ville løse dit problem, baseret på den tågede forståelse, jeg har af dit problem.
Jeg ved ikke, hvad A&E betyder. Jeg går ud fra, at det er en klinik, et hospital eller en anden facilitet.
aes
id unsigned int(P)
street_address varchar(75)
city_id unsigned int(F cities.id)
postcode varchar(10) // Whatever the size of your postal code.
telenumber varchar(10) // Whatever the size of your telenumber.
Det er klart, at din "stat" kunne være anderledes. Her i USA har vores stater alle en unik kode på 2 tegn.
cities
id unsigned int(P)
name varchar(50)
state_id char(2)(F states.id)
Du beskrev ikke, hvad du har brug for at vide om læger, så jeg går ud fra, at det er det samme som det, du skal vide om sygeplejersker.
doctors
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Ting som:influenza, bronkitis, bihulebetændelse osv.
illnesses
id unsigned int(P)
description varchar(75)
nurses
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Jeg lægger patienthistorien i sin egen tabel, så vi kan knytte flere sygdomme til hver patient samt en dato for, hvornår patienten havde hver sygdom.
patient_history
id unsigned int(P)
patient_id unsigned int(F patients.id)
illness_id unsigned int(F illnesses.id)
qwhen date
patients
id unsigned int(P)
forename varchar(50)
surname varchar(50)
gender enum('f','m')
dob date
street_address varchar(75)
city_id unsigned int(F cities.id)
postcode varchar(10) // Whatever the size of your postal code.
telenumber varchar(10) // Whatever the size of your telenumber.
Igen kan dine "stater" have et andet størrelses-id eller navn.
states
id char(2)(P)
name varchar(50)
Ting som:svimmelhed, træthed, tilstoppet bihule, åndenød osv.
symptoms
id unsigned int(P)
description varchar(50)
Denne tabel indeholder oplysninger om hver gang en patient besøger en akutmodtagelse. Enhver post, der ikke har et sluttidspunkt, vil repræsentere en patient, der i øjeblikket er på en akutmodtagelse og venter på at blive tilset af en læge/sygeplejerske. Du kan bestemme, hvor længe en patient har ventet ved at sammenligne den aktuelle tid med beg_time. Og selvfølgelig vil prioritet blive indtastet/opdateret af den indlagte ekspedient, sygeplejerske, læge osv.
visits
id unsigned int(P)
patient_id unsigned int(F patients.id)
nurse_id unsigned int(F nurses.id)
ae_id unsigned int(F aes.id)
priority unsigned tinyint // 1 = Critical, 2 = Urgent, 3 = whatever...
beg_time datetime
end_time datetime
Flere læger kan se en patient...
visits_doctors
id unsigned int(P)
visit_id unsigned int(F visits.id)
doctor_id unsigned int(F doctors.id)
Og flere sygeplejersker ser måske en patient...
visits_nurses
id unsigned int(P)
visit_id unsigned int(F visits.id)
nurse_id unsigned int(F nurses.id)
En patient har normalt flere symptomer, når de kommer på besøg...
visits_symptoms
id unsigned int(P)
visit_id unsigned int(F visits.id)
symptom_id unsigned int(F symptoms.id)