-1

请帮我!我正在创建一个数据库来存储有关 A&E 部门患者的数据。但是,我不确定如何关联这些表。

表结构:

患者(PatientID(PK)、名字、姓氏、性别、出生日期、地址、历史、疾病、优先级)

A&E(ID(PK)、PatientID(FK)、地址、城市、邮政编码、电话号码)

NURSE(护士ID(PK),名字,姓氏)

CONDITION (ID(PK), PatientID(FK) 症状, 诊断, 治疗)

基本上它们之间的关系是:

患者参加 A&E

PATIENT see_by NURSE

护士评估患者的状况

以下是需要添加的关系:

  1. 时间应与患者和护士联系起来
  2. 优先级应与患者和护士联系起来
  3. 医生应与时间和优先级挂钩(医生将根据等待时间和患者的优先级做出决定)。医生和病人之间没有直接的联系。

我必须使这些关系正确,因此将不胜感激任何帮助。谢谢你。

4

1 回答 1

0

你的问题我一点都不清楚。例如,您谈到患者和护士与“优先级”相关联,而医生与“时间”和“优先级”相关联——你写得好像这些是其他表格——但你没有描述它们。

根据我对您的问题的模糊理解,以下是我将如何解决您的问题。

我不知道 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)
于 2013-01-31T00:05:22.773 回答