using adas_core.Domain.Models; using adas_core.Domain.Models.GroupedObservations; using adas_core.Domain.Models.MongoModels; namespace adas_core.Application.Services.Interfaces; public interface IObservationDemoService { /// /// Generates a list of patient observations by evaluating the specified data fields for the given patient. /// /// The patient for whom the observations are being generated. /// The collection of fields used to drive the observation generation. /// A task representing the asynchronous operation that returns the list of generated patient observations. Task> GenerateObservationByField(Patient patient, List dataFields); /// /// Generates a grouped observation for the specified patient based on the provided grouped field configuration. /// /// The patient for whom the grouped observation is generated. /// The grouped field definition that determines the grouping criteria for the observation. /// A task that represents the asynchronous operation. The task result contains the generated . Task GenerateGroupedObservation(Patient patient, GroupedField groupedField); /// /// Generates a list of patient observation alarms for the specified patient based on the provided data alarm fields. /// /// The patient for whom the observation alarms are generated. /// The list of fields used to determine and generate the data alarms. /// A task that represents the asynchronous operation, containing a list of objects generated for the patient. Task> GenerateAlarmByField(Patient patient, List dataAlarmfields); }