using adas_core.Application.Services.Interfaces; using adas_core.Domain.Enums; using adas_core.Domain.Models; using adas_core.Domain.Models.Pumps; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using MongoDB.Bson; namespace adas_core.Application.Customizations.CHUO; public class CalculatedObservations(IServiceProvider serviceProvider) : ICalculatedObservations { private readonly ILogger _logger = serviceProvider.GetRequiredService>(); public Task CalculateActiveBolus(ObjectId patientId) { return Task.CompletedTask; } public async Task Map(PumpObservation pumpObservation) { return await Task.FromResult(pumpObservation); } public Task CalculateMedicineObservation(List activeMedicines, ObjectId patientId) { return Task.CompletedTask; } public Task FixTimeInconsistencyWithLast(PatientObservation newObservation) { throw new NotImplementedException(); } public Task> GetActiveTreatmentsByPatient(ObjectId id) { throw new NotImplementedException(); } public Task Map(T obs, bool onlyByName = false) where T : BasePatientObservation { _logger.LogTrace("Mapping {name} observation {obs}", obs.Name, obs); return Task.FromResult(obs); } public Task Map(PatientTreatment treatment) { throw new NotImplementedException(); } public Task Map(PatientDiagnosis diagnosis) { throw new NotImplementedException(); } public Task> PreMapList(List listToInsert) { return Task.FromResult(listToInsert); } public Task MapSourceAlarm(PatientObservation obs, PatientObservationAlarm alarmToInsert) { return Task.FromResult(obs); } public Task SendAlarm(PatientObservation obs, string name, AlarmEnum.Name? code) { return Task.CompletedTask; } //public Task> MapList(List obsToInsert) //{ // throw new NotImplementedException(); //} }