How do you draw uml advanced class diagram for hospital management system?
```+----------------+
| Actor: Patient |
+----------------+
* Attributes:
- PatientID
- Name
- Address
- Phone
- Insurance
* Operations:
- Register()
- UpdateProfile()
- RequestAppointment()
- ViewMedicalRecords()
- PayBill()
+-------------------+
| Actor: Doctor |
+-------------------+
* Attributes:
- DoctorID
- Name
- Specialty
- Department
- Years of Experience
* Operations:
- DiagnosePatient()
- PrescribeTreatment()
- PerformSurgery()
- ViewPatientRecords()
- ManageAppointments()
+----------------------+
| Class: Appointment |
+----------------------+
* Attributes:
- AppointmentID
- PatientID
- DoctorID
- Date
- Time
- Location
- Status
* Operations:
- ScheduleAppointment()
- CancelAppointment()
- RescheduleAppointment()
- ViewAppointmentDetails()
+------------------+
| Class: Treatment |
+------------------+
* Attributes:
- TreatmentID
- PatientID
- DoctorID
- TreatmentPlan
- Medication
- Instructions
* Operations:
- CreateTreatmentPlan()
- UpdateTreatmentPlan()
- PrescribeMedication()
- ViewTreatmentHistory()
+--------------------------+
| Class: Medical Record |
+--------------------------+
* Attributes:
- MedicalRecordID
- PatientID
- Diagnosis
- TreatmentHistory
- LabResults
- ImagingReports
- Allergies
* Operations:
- AddDiagnosis()
- UpdateDiagnosis()
- AddTreatmentHistory()
- ViewMedicalRecord()
+----------------+
| Class: Bill |
+----------------+
* Attributes:
- BillID
- PatientID
- AmountDue
- PaymentStatus
* Operations:
- GenerateBill()
- PayBill()
- ViewBillDetails()
+---------------------------+
| Class: Hospital Management |
+---------------------------+
* Attributes:
- HospitalID
- Name
- Address
- Phone
- Number of Beds
- Departments
* Operations:
- ManagePatients()
- ManageDoctors()
- ScheduleAppointments()
- ManageTreatments()
- GenerateBills()
- ViewReports()
```