User(用户表)
Doctor(医生表)
Department(科室表)
Appointment(预约表)
Consultation(在线咨询表)
@startuml
class User {
+objectId: String
+createdAt: Date
+username: String
+password: String
+email: String
+phoneNumber: String
+userType: String
+medicalHistory: String
}
class Doctor {
+objectId: String
+createdAt: Date
+user: Pointer<User>
+specialty: String
+qualifications: String
}
class Department {
+objectId: String
+createdAt: Date
+departmentName: String
+description: String
}
class Appointment {
+objectId: String
+createdAt: Date
+patient: Pointer<User>
+doctor: Pointer<Doctor>
+department: Pointer<Department>
+appointmentDate: Date
+status: String
}
class Consultation {
+objectId: String
+createdAt: Date
+appointment: Pointer<Appointment>
+symptoms: String
+diagnosis: String
+prescribedMedication: String
+consultationDate: Date
}
User "1" -- "0..*" Appointment : books
Doctor "1" -- "0..*" Appointment : provides
Department "1" -- "0..*" Appointment : offers
Appointment "1" -- "1" Consultation : includes
@enduml
medicalHistory
字段中。这种设计确保了患者和医生的角色分离,同时也符合数据库的范式要求。每个表都有唯一的 objectId
和 createdAt
字段,方便进行数据管理和跟踪。
User
Condition
Nutrient
VisitRecord
HealthKnowledge
@startuml
class User {
+objectId: String
+createdAt: Date
+username: String
+email: String
+phoneNumber: String
}
class Condition {
+objectId: String
+createdAt: Date
+name: String
+description: String
+relatedNutrients: Array<Pointer<Nutrient>>
}
class Nutrient {
+objectId: String
+createdAt: Date
+name: String
+benefits: String
}
class VisitRecord {
+objectId: String
+createdAt: Date
+user: Pointer<User>
+condition: Pointer<Condition>
+visitDate: Date
+notes: String
}
class HealthKnowledge {
+objectId: String
+createdAt: Date
+title: String
+content: String
+relatedCondition: Pointer<Condition>
+pushDate: Date
}
User "1" -- "0..*" VisitRecord : has
Condition "1" -- "0..*" VisitRecord : is related to
Condition "1" -- "0..*" HealthKnowledge : is related to
Condition "1" -- "0..*" Nutrient : contains
@enduml
relatedNutrients
字段与营养元素表关联。这种设计确保了数据的规范化,避免了冗余,同时通过外键关联保持了数据的一致性和完整性。