The system is designed around three roles:
- Owns a
Userrecord withrole = PATIENT - Has optional
PatientDetail(medical history, chronic diseases, medications, etc.) - Can have:
- Reports (
Report) - Appointments with a doctor (
Appointment) - Messages with a doctor (
Message) - Consultation questions (
Consultation)
- Reports (
- Owns a
Userrecord withrole = DOCTOR - Can be assigned to patients via
PatientDetail.doctorId - Can:
- Review patient reports
- Receive/send messages
- Answer consultation questions (
Consultation.answer)
- Owns a
Userrecord withrole = ADMIN - Intended for operational/system management.
- Admin panel features are planned (see
admin-panel.md).