你的问题我一点都不清楚。例如,您谈到患者和护士与“优先级”相关联,而医生与“时间”和“优先级”相关联——你写得好像这些是其他表格——但你没有描述它们。
根据我对您的问题的模糊理解,以下是我将如何解决您的问题。
我不知道 A&E 是什么意思。我假设它是诊所、医院或其他设施。
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.
显然,您的“状态”可能会有所不同。在美国,我们的州都有一个唯一的 2 字符代码。
cities
id unsigned int(P)
name varchar(50)
state_id char(2)(F states.id)
您没有描述您需要了解的有关医生的信息,因此我假设这与您需要了解的有关护士的信息相同。
doctors
id unsigned int(P)
forename varchar(50)
surname varchar(50)
诸如:流感、支气管炎、鼻窦感染等。
illnesses
id unsigned int(P)
description varchar(75)
nurses
id unsigned int(P)
forename varchar(50)
surname varchar(50)
我将患者病史放入它自己的表格中,这样我们就可以将每位患者的多种疾病以及患者患每种疾病的日期联系起来。
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.
同样,您的“状态”可能有不同的大小 ID 或名称。
states
id char(2)(P)
name varchar(50)
诸如:头晕、乏力、鼻窦充血、呼吸急促等。
symptoms
id unsigned int(P)
description varchar(50)
此表包含有关患者每次就诊 A&E 的信息。任何没有 end_time 的记录都代表当前在 A&E 等待医生/护士就诊的患者。您可以通过将当前时间与 beg_time 进行比较来确定患者等待的时间。当然,录取文员、护士、医生等会输入/更新优先级。
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
多个医生可能会看到一个病人...
visits_doctors
id unsigned int(P)
visit_id unsigned int(F visits.id)
doctor_id unsigned int(F doctors.id)
多个护士可能会看到一个病人......
visits_nurses
id unsigned int(P)
visit_id unsigned int(F visits.id)
nurse_id unsigned int(F nurses.id)
患者来访时通常会出现多种症状...
visits_symptoms
id unsigned int(P)
visit_id unsigned int(F visits.id)
symptom_id unsigned int(F symptoms.id)