using HealthcareManagerUiWebAssem.Entities; using HealthcareManagerUiWebAssem.Models; namespace HealthcareManagerUiWebAssem.Services.PatientManagement; public interface IPatientManagementService { Task GetPatientProfileAsync(Guid patientId); Task UpdatePatientProfileAsync(Patient patient); Task DeletePatientProfileAsync(Guid patientId); Task> GetAppointmentsAsync(Guid patientId); Task> BookAppointmentAsync(NewAppointmentModel newAppointment); Task CancelAppointmentAsync(Guid doctorId, Guid patientId, DateTime appointmentDate); Task GetMedicalHistoryAsync(Guid userId); Task> UploadMedicalHistoryAsync(Guid userId, byte[] content); Task DeleteMedicalHistoryAsync(Guid fileId); Task DownloadMedicalHistoryAsync(Guid fileId); Task> GetAllDoctorsAsync(); Task CheckForAccessAsync(Guid medicalRecordId, Guid doctorId); Task GrantAccessAsync(Guid medicalRecordId, Guid doctorId); Task RevokeAccessAsync(Guid medicalRecordId, Guid doctorId); Task SendMessageAsync(Guid senderId, Guid receiverId, string message); Task GetConversationAsync(Guid userId1, Guid userId2); }