42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
#ifndef DOCTOR_H
|
||
#define DOCTOR_H
|
||
|
||
#include <string>
|
||
#include <vector>
|
||
|
||
class JsonValue;
|
||
|
||
// 医生职称:主任 / 副主任 / 主治 / 住院医师
|
||
enum class DoctorTitle {
|
||
Chief, // 主任医师
|
||
AssociateChief, // 副主任医师
|
||
Attending, // 主治医师
|
||
Resident // 住院医师
|
||
};
|
||
|
||
// Doctor 实体:DoctorID、姓名、科室ID、职称、出诊时间安排
|
||
class Doctor {
|
||
public:
|
||
std::string DoctorID; // 唯一主键
|
||
std::string Name; // 姓名
|
||
std::string DepartmentID; // 所属科室 ID
|
||
DoctorTitle Title; // 职称
|
||
std::string Schedule; // 出诊时间安排(如 "Mon AM, Wed PM")
|
||
|
||
Doctor();
|
||
Doctor(const std::string& doctorID,
|
||
const std::string& name,
|
||
const std::string& departmentID,
|
||
DoctorTitle title,
|
||
const std::string& schedule);
|
||
|
||
// Generate UUID for new doctor
|
||
static std::string generateUniqueId();
|
||
|
||
// JSON bridge (与 Ward 保持风格一致)
|
||
JsonValue toJson() const;
|
||
static Doctor fromJson(const JsonValue& v);
|
||
};
|
||
|
||
#endif
|