using adas_core.Domain.Enums; using adas_core.Domain.Models; using adas_core.Domain.Models.Pumps; using MongoDB.Bson; namespace adas_core.Application.Services.Interfaces; public interface ICalculatedObservations { Task Map(T obs, bool onlyByName = false) where T : BasePatientObservation; Task Map(PatientTreatment treatment); Task Map(PatientDiagnosis diagnosis); Task Map(PumpObservation pumpObservation); Task CalculateMedicineObservation(List activeMedicines, ObjectId patientId); Task CalculateActiveBolus(ObjectId patientId); Task> GetActiveTreatmentsByPatient(ObjectId id); Task FixTimeInconsistencyWithLast(PatientObservation newObservation); Task> PreMapList(List listToInsert); Task MapSourceAlarm(PatientObservation obs, PatientObservationAlarm alarmToInsert); Task SendAlarm(PatientObservation obs, string name, AlarmEnum.Name? code); }