|
@@ -153,4 +153,64 @@ stop
|
|
|
然后用户提供问诊信息后,AI 医生依次进行接收信息并对话、生成处方以及结束对话等活动。
|
|
|
后续开展创建问诊记录实例,并关联相关的用户、医生、科室等重要信息,再整合包含处方在内的问诊记录内容,接着将其保存到数据库中。
|
|
|
最后用户可以进行查询问诊记录的活动,整个流程结束。
|
|
|
-此活动图从比较宏观的角度展示了 AI 问诊服务中主要的活动以及它们之间的先后顺序和逻辑关系,
|
|
|
+此活动图从比较宏观的角度展示了 AI 问诊服务中主要的活动以及它们之间的先后顺序和逻辑关系,
|
|
|
+
|
|
|
+```plantuml
|
|
|
+@startuml
|
|
|
+class "病人" {
|
|
|
+ - patientId: int
|
|
|
+ - name: string
|
|
|
+ - age: int
|
|
|
+ - contactInfo: string
|
|
|
+ + register()
|
|
|
+ + login()
|
|
|
+ + updateProfile()
|
|
|
+}
|
|
|
+
|
|
|
+class "问答记录" {
|
|
|
+ - qnaId: int
|
|
|
+ - patientId: int
|
|
|
+ - question: string
|
|
|
+ - answer: string
|
|
|
+ - timestamp: Date
|
|
|
+ + addQuestion()
|
|
|
+ + addAnswer()
|
|
|
+ + getQnAHistory()
|
|
|
+}
|
|
|
+
|
|
|
+class "诊断记录" {
|
|
|
+ - diagnosisId: int
|
|
|
+ - patientId: int
|
|
|
+ - diagnosisResult: string
|
|
|
+ - diagnosisDate: Date
|
|
|
+ + generateDiagnosis()
|
|
|
+ + compareDiagnosis()
|
|
|
+}
|
|
|
+
|
|
|
+class "智能诊断" {
|
|
|
+ - algorithmVersion: string
|
|
|
+ - accuracyRate: float
|
|
|
+ + performSmartDiagnosis()
|
|
|
+}
|
|
|
+
|
|
|
+class "普通AI诊断" {
|
|
|
+ - algorithmVersion: string
|
|
|
+ + performStandardDiagnosis()
|
|
|
+}
|
|
|
+
|
|
|
+class "管理员" {
|
|
|
+ - adminId: int
|
|
|
+ - username: string
|
|
|
+ - password: string
|
|
|
+ + manageUsers()
|
|
|
+ + manageDiagnoses()
|
|
|
+}
|
|
|
+
|
|
|
+"病人" -- "问答记录" : 1..*
|
|
|
+"病人" -- "诊断记录" : 1..*
|
|
|
+"诊断记录" <|-- "智能诊断"
|
|
|
+"诊断记录" <|-- "普通AI诊断"
|
|
|
+"管理员" -- "病人" : 管理
|
|
|
+"管理员" -- "诊断记录" : 管理
|
|
|
+@enduml
|
|
|
+```
|