using adas_core.Domain.Enums; using adas_core.Domain.Models; using adas_core.Domain.Models.DTO; using adas_core.Domain.Models.Masters; using adas_core.Domain.Models.MongoModels; using MongoDB.Bson; namespace adas_core.Application.Services.Interfaces; public interface IDischargeService : IApiRequestService { Task GetDischargeByIdAsync(ObjectId dischargeId); Task CountDischargesByUnitId(ObjectId unitId); Task DeleteDischargeByIdAsync(ObjectId dischargeId); Task DeleteDischargeAsync(Discharge discharge); Task UpdateDischargeAsync(Discharge discharge); Task> GetDischargesAsync(); Task InsertDischarge(Discharge discharge); Task GetDischargeByLocation(PatientLocation location); Task GetDischargeByPatientId(ObjectId patientId); Task GetDischargeByPointOfCareId(ObjectId location); Task GetDischargeByPointOfCareIdWithLocale(ObjectId location, LocaleEnum dataLocale); void SendDischargeBroadcast(Discharge discharge, OperationType operation); Task UpdatePatientMasterListItemChange(UpdateOptionMasterListDto opt, IEnumerable unitList, string typeName); Task DeletePatientMasterListItem(OptionList opt, IEnumerable unitList, string typeName); Task DeleteDischargesByUnitId(ObjectId unitId); }