# Interface IAlarmRepository

Namespace
  adas_core.Application.Repositories.Interfaces

Assembly
  adas-core.Application.dll

    public interface IAlarmRepository : IMongoRepository<PatientObservationAlarm>

Inherited Members
  IMongoRepository<PatientObservationAlarm>.Collection
  IMongoRepository<PatientObservationAlarm>.GetCollectionName()
  IMongoRepository<PatientObservationAlarm>.InsertOneAsync(PatientObservationAlarm)
  IMongoRepository<PatientObservationAlarm>.DeleteAsync(ObjectId)
  IMongoRepository<PatientObservationAlarm>.UpdateOneAsync(ObjectId, PatientObservationAlarm)

Extension Methods
  NumberUtils.IsNumber(object)
  NumberUtils.ToDouble(object)
  ObjectUtils.ToStr(object?)

## Methods

### AggregatedPatientLastObservationsByField(ObjectId, List<Field>?)

Retrieves the most recent aggregated patient observations as alarm records, optionally filtered to a specific set of fields.

    Task<List<PatientObservationAlarm>> AggregatedPatientLastObservationsByField(ObjectId patientId, List<Field>? filterObservations = null)

#### Parameters

`patientId` ObjectId

  The unique identifier of the patient whose last observations should be aggregated.

`filterObservations` List<Field>

  An optional list of fields used to restrict which observation types are included in the aggregation; when null, all available observations are considered.

#### Returns

Task<List<PatientObservationAlarm>>

  A task that resolves to the list of aggregated PatientObservationAlarm entries representing the patient's latest observations.

### AggregatedPatientNotExpiredObservationsByField(ObjectId, List<Field>?, List<ConfigObservation>)

Retrieves aggregated, non-expired patient observation alarms for a specific patient, optionally filtered by a set of fields and evaluated against the supplied configuration alarms.

    Task<List<PatientObservationAlarm>> AggregatedPatientNotExpiredObservationsByField(ObjectId patientId, List<Field>? filterObservations, List<ConfigObservation> configAlarm)

#### Parameters

`patientId` ObjectId

  The unique identifier of the patient whose observation alarms are being retrieved.

`filterObservations` List<Field>

  An optional list of fields used to restrict which observations are considered. If null, no field-based filtering is applied.

`configAlarm` List<ConfigObservation>

  The list of configuration observation definitions used to build and aggregate the resulting alarms.

#### Returns

Task<List<PatientObservationAlarm>>

  A task that represents the asynchronous operation, containing a list of aggregated PatientObservationAlarm entries for the patient.