using adas_core.Domain.Models; using adas_core.Domain.Models.DTO; using adas_core.Domain.Models.Masters; using adas_core.Domain.Models.MongoModels; using adas_core.Domain.Models.Responses; using MongoDB.Bson; namespace adas_core.Application.Services.Interfaces; public interface IAdmissionService : IApiRequestService { Task GetAdmissionByIdAsync(ObjectId admissionId); Task DeleteAdmissionByIdAsync(ObjectId admissionId); Task DeleteAdmissionAsync(Admission admission); Task DeleteAdmissionsByUnitId(ObjectId unitId); Task UpdateAdmissionAsync(Admission admission); Task> GetAdmissionsAsync(); Task InsertAdmission(Admission admission); Task AdmitPatient(Admission admission, bool isNew = false); Task ReturnPatientToAdmissions(ObjectId patientId); Task ReturnPatientToAdmissions(ObjectId patientId, Admission adm); Task> GetAdmissionByLocation(PatientLocation location); Task> GetAdmissionByPointOfCareId(ObjectId id); Task> GetAdmissionByPointOfCareIdAndLocale(ObjectId pocId, LocaleEnum locale); Task> GetAdmissionByUnitIdWithOutPoC(ObjectId unitId); Task CountAdmissionsByUnitId(ObjectId unitId); Task SearchByPatientNumberAndDistinctUnit(string patientNumber, ObjectId unitId); Task GetAdmissionByPatientNumber(string patientNumber); Task UpdatePatientMasterListItemChange(UpdateOptionMasterListDto opt, IEnumerable unitList, string typeName); Task DeletePatientMasterListItem(OptionList opt, IEnumerable unitList, string typeName); }