Din fråga är inte alls tydlig för mig. Du pratar till exempel om att patienter och sjuksköterskor kopplas till "Prioritet" och att läkare kopplas till "Tid" och "Prioritet" - och du skriver som om det här är andra tabeller - men du beskriver dem inte.
Nedan är hur jag skulle lösa ditt problem, baserat på den dimmiga förståelsen jag har av ditt problem.
Jag vet inte vad A&E betyder. Jag antar att det är en klinik, sjukhus eller annan anläggning.
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.
Uppenbarligen kan din "stat" vara annorlunda. Här i USA har alla våra stater en unik kod på två tecken.
cities
id unsigned int(P)
name varchar(50)
state_id char(2)(F states.id)
Du beskrev inte vad du behöver veta om läkare så jag antar att det är samma sak som vad du behöver veta om sjuksköterskor.
doctors
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Saker som:influensa, bronkit, bihåleinflammation, etc.
illnesses
id unsigned int(P)
description varchar(75)
nurses
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Jag lägger in patienthistoriken i sin egen tabell så att vi kan koppla flera sjukdomar till varje patient samt ett datum för när patienten hade varje sjukdom.
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.
Återigen kan dina "stater" ha ett annat storleks-ID eller namn.
states
id char(2)(P)
name varchar(50)
Saker som:yrsel, trötthet, sinusstockning, andnöd, etc.
symptoms
id unsigned int(P)
description varchar(50)
Den här tabellen innehåller information om varje gång en patient besöker en akutmottagning. Varje post som inte har en sluttid skulle representera en patient som för närvarande är på akuten och väntar på att bli träffad av en läkare/sköterska. Du kan avgöra hur länge en patient har väntat genom att jämföra den aktuella tiden med beg_time. Och givetvis skulle prioritet skrivas in/uppdateras av den mottagande kontoristen, sjuksköterskan, läkaren, etc.
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
Flera läkare kan träffa en patient...
visits_doctors
id unsigned int(P)
visit_id unsigned int(F visits.id)
doctor_id unsigned int(F doctors.id)
Och flera sjuksköterskor kan träffa 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 vanligtvis flera symtom när de kommer på besök...
visits_symptoms
id unsigned int(P)
visit_id unsigned int(F visits.id)
symptom_id unsigned int(F symptoms.id)