1

我需要验证我是否正确识别了这些类之间的关系。例如假设我有以下实体,

Doctor 1---------m Diagnosis m----------m Prescriptions m ----------1 Patient
  1                                                                      m
  -                                                                      -
  -                                                                      -
  ------------------------------------------------------------------------

所以它的基本诊断是一个参考表,管理员医生在其中输入了所有诊断细节。例如,

Diag_ID, Category, Name,       Desc
1        Skin      Red Skin    Red spots in skin

所以我的业务流程是医生为病人开处方。所以他会给出一个病人 ID(病人登记也会发生,但我没有显示那些实体)。然后从 Doctor.createPrescription(patientId) 他将参考诊断表并创建具有相关详细信息的处方。假设处方类构造函数采用新处方(diagnosisId,doctorId,patientID)。

识别它们之间的关系是否正确。 创建处方时链接医生和诊断类是否正确。如果不存在,医生还可以创建新的诊断类型。

因此,一名医生可以诊断出患有多种症状的患者。例如,一个有皮肤,另一个有胸部。所以在那种情况下,1名医生可以有很多诊断。但所有这些都应该由一名医生完成。因此,对于每个诊断,医生可以开具单独的处方,或者可以为所有诊断开具一个处方。所以它是多对多的关系。最后,那些处方应该属于一个病人。不能在患者之间共享。我想我的模型是对的知道吗?

如果多个医生可以诊断一个病人怎么办。如何扩展它以支持该要求?

任何建议,如果这个模型从一开始就错了。请推荐一个新型号

4

2 回答 2

1

考虑:

  • 病人是有诊断清单的人,所以诊断清单应该由病人类持有
  • 医生将被允许修改此列表并为给定的诊断创建处方。
  • 多个医生可以修改一个患者的诊断列表
  • 但是当一个医生正在修改这个列表时,他应该在这个列表上持有一个锁,并且在他完成之前不要释放它。
  • 其他医生在锁处于活动状态时可以查看该列表,但在锁被释放之前他们应该无法修改它。
于 2012-12-05T03:02:22.353 回答
0

识别它们之间的关系是否正确

这是一种方式,而且似乎足够准确。

创建处方时链接医生和诊断类是否正确

考虑不变性;如果诊断不能随着时间而改变(这可能是真的),那么在构造函数中要求所有三个似乎是最简单的,然后使类不可变。

如果多个医生可以诊断一个病人怎么办。如何扩展它以支持该要求?

Doctor m---------m Diagnosis
   m
于 2012-12-05T03:05:20.237 回答