30 lines
2.0 KiB
C#
30 lines
2.0 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// Generates a list of patient observations by evaluating the specified data fields for the given patient.
|
|
/// </summary>
|
|
/// <param name="patient">The patient for whom the observations are being generated.</param>
|
|
/// <param name="dataFields">The collection of fields used to drive the observation generation.</param>
|
|
/// <returns>A task representing the asynchronous operation that returns the list of generated patient observations.</returns>
|
|
Task<List<PatientObservation>> GenerateObservationByField(Patient patient, List<Field> dataFields);
|
|
/// <summary>
|
|
/// Generates a grouped observation for the specified patient based on the provided grouped field configuration.
|
|
/// </summary>
|
|
/// <param name="patient">The patient for whom the grouped observation is generated.</param>
|
|
/// <param name="groupedField">The grouped field definition that determines the grouping criteria for the observation.</param>
|
|
/// <returns>A task that represents the asynchronous operation. The task result contains the generated <see cref="GroupedObservation"/>.</returns>
|
|
Task<GroupedObservation> GenerateGroupedObservation(Patient patient, GroupedField groupedField);
|
|
/// <summary>
|
|
/// Generates a list of patient observation alarms for the specified patient based on the provided data alarm fields.
|
|
/// </summary>
|
|
/// <param name="patient">The patient for whom the observation alarms are generated.</param>
|
|
/// <param name="dataAlarmfields">The list of fields used to determine and generate the data alarms.</param>
|
|
/// <returns>A task that represents the asynchronous operation, containing a list of <see cref="PatientObservationAlarm"/> objects generated for the patient.</returns>
|
|
Task<List<PatientObservationAlarm>> GenerateAlarmByField(Patient patient, List<Field> dataAlarmfields);
|
|
} |