Je vraag is me helemaal niet duidelijk. U praat bijvoorbeeld over patiënten en verpleegkundigen die worden gekoppeld aan "Prioriteit" en artsen die worden gekoppeld aan "Tijd" en "Prioriteit" - en u schrijft alsof dit andere tabellen zijn - maar u beschrijft ze niet.
Hieronder ziet u hoe ik uw probleem zou oplossen, gebaseerd op het mistige begrip dat ik van uw probleem heb.
Ik weet niet wat A&E betekent. Ik neem aan dat het een kliniek, ziekenhuis of andere faciliteit is.
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.
Het is duidelijk dat uw "staat" anders kan zijn. Hier in de Verenigde Staten hebben onze staten allemaal een unieke code van twee tekens.
cities
id unsigned int(P)
name varchar(50)
state_id char(2)(F states.id)
Je hebt niet beschreven wat je moet weten over artsen, dus ik neem aan dat het hetzelfde is als wat je moet weten over verpleegkundigen.
doctors
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Dingen zoals:griep, bronchitis, sinusitis, enz.
illnesses
id unsigned int(P)
description varchar(75)
nurses
id unsigned int(P)
forename varchar(50)
surname varchar(50)
Ik heb de patiëntgeschiedenis in een eigen tabel gezet, zodat we meerdere ziekten aan elke patiënt kunnen koppelen, evenals een datum waarop de patiënt elke ziekte had.
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.
Nogmaals, uw "staten" kunnen een ander formaat ID of naam hebben.
states
id char(2)(P)
name varchar(50)
Dingen zoals:duizeligheid, vermoeidheid, sinuscongestie, kortademigheid, enz.
symptoms
id unsigned int(P)
description varchar(50)
Deze tabel bevat informatie over elke keer dat een patiënt een SEH bezoekt. Elk record dat geen eindtijd heeft, zou een patiënt vertegenwoordigen die momenteel op een SEH ligt te wachten om gezien te worden door een arts/verpleegkundige. U kunt bepalen hoe lang een patiënt heeft gewacht door de huidige tijd te vergelijken met de beg_time. En natuurlijk zou de prioriteit worden ingevoerd/geüpdatet door de administrateur, verpleegster, arts, enz.
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
Meerdere artsen kunnen een patiënt zien...
visits_doctors
id unsigned int(P)
visit_id unsigned int(F visits.id)
doctor_id unsigned int(F doctors.id)
En mogelijk zien meerdere verpleegkundigen een patiënt...
visits_nurses
id unsigned int(P)
visit_id unsigned int(F visits.id)
nurse_id unsigned int(F nurses.id)
Een patiënt heeft meestal meerdere symptomen als ze op bezoek komen...
visits_symptoms
id unsigned int(P)
visit_id unsigned int(F visits.id)
symptom_id unsigned int(F symptoms.id)