30 lines
1.3 KiB
C#
30 lines
1.3 KiB
C#
using HealthcareManagerUiWebAssem.Entities;
|
|
using HealthcareManagerUiWebAssem.Models;
|
|
|
|
namespace HealthcareManagerUiWebAssem.Services.PatientManagement;
|
|
|
|
public interface IPatientManagementService
|
|
{
|
|
Task<Patient> GetPatientProfileAsync(Guid patientId);
|
|
Task<bool> UpdatePatientProfileAsync(Patient patient);
|
|
Task<bool> DeletePatientProfileAsync(Guid patientId);
|
|
|
|
Task<List<Appointment>> GetAppointmentsAsync(Guid patientId);
|
|
Task<ApiResponse<object>> BookAppointmentAsync(NewAppointmentModel newAppointment);
|
|
Task<bool> CancelAppointmentAsync(Guid doctorId, Guid patientId, DateTime appointmentDate);
|
|
|
|
Task<MedicalHistory?> GetMedicalHistoryAsync(Guid userId);
|
|
Task<ApiResponse<object>> UploadMedicalHistoryAsync(Guid userId, byte[] content);
|
|
Task<bool> DeleteMedicalHistoryAsync(Guid fileId);
|
|
Task<byte[]> DownloadMedicalHistoryAsync(Guid fileId);
|
|
|
|
|
|
Task<List<Doctor>> GetAllDoctorsAsync();
|
|
|
|
Task<bool> CheckForAccessAsync(Guid medicalRecordId, Guid doctorId);
|
|
Task<bool> GrantAccessAsync(Guid medicalRecordId, Guid doctorId);
|
|
Task<bool> RevokeAccessAsync(Guid medicalRecordId, Guid doctorId);
|
|
|
|
Task<bool> SendMessageAsync(Guid senderId, Guid receiverId, string message);
|
|
Task<Chat> GetConversationAsync(Guid userId1, Guid userId2);
|
|
} |