Table of Contents

Interface IPumpObservationRepository

Namespace
adas_core.Application.Repositories.Interfaces
Assembly
adas-core.Application.dll
public interface IPumpObservationRepository
Extension Methods

Methods

AggregatedPatientLastObservations(ObjectId, int)

Retrieves the most recent aggregated pump observations for a specified patient, ordered from newest to oldest.

Task<List<PumpObservation>> AggregatedPatientLastObservations(ObjectId patientId, int num = 100)

Parameters

patientId ObjectId

The unique identifier of the patient whose observations are being queried.

num int

The maximum number of observations to return. Defaults to 100.

Returns

Task<List<PumpObservation>>

A task that represents the asynchronous operation, containing a list of the patient's most recent PumpObservation entries.

DeleteByPatientId(ObjectId?)

Deletes all records associated with the specified patient identifier. If the patient identifier is null, no deletion is performed.

Task DeleteByPatientId(ObjectId? patientId)

Parameters

patientId ObjectId?

The optional patient identifier whose related records should be removed.

Returns

Task

DeleteKeepLastNAsync(int)

Asynchronously deletes items, retaining only the most recent maxCount entries, and returns the number of items that were removed.

Task<long> DeleteKeepLastNAsync(int maxCount)

Parameters

maxCount int

The maximum number of most recent items to keep after the deletion.

Returns

Task<long>

A task representing the asynchronous operation, containing the count of items that were deleted.

DeleteOlderThanDaysAsync(int, string?)

Asynchronously deletes records older than the specified number of days, optionally filtered by name, and returns the number of items removed.

Task<long> DeleteOlderThanDaysAsync(int days, string? name = null)

Parameters

days int

The age threshold in days; only records older than this value will be deleted.

name string

An optional name used to filter which records are targeted for deletion. If null, deletion applies to all records regardless of name.

Returns

Task<long>

A Task<TResult> that represents the asynchronous operation, containing the total count of deleted records.

FindAllLastPatientObservationTimeAsync()

Asynchronously retrieves the most recent observation time for all patients, returning a mapping of patient identifiers to their last observation timestamps.

Task<Dictionary<ObjectId, DateTime>> FindAllLastPatientObservationTimeAsync()

Returns

Task<Dictionary<ObjectId, DateTime>>

A task that represents the asynchronous operation. The task result contains a dictionary where each key is a patient MongoDB.Bson.ObjectId and the associated value is the DateTime of that patient's last observation.

FindByDeviceIdAsync(string, DateTime?, DateTime?, int?)

Asynchronously retrieves pump observations associated with the specified device identifier, optionally filtered by a time range and limited in count.

Task<IEnumerable<PumpObservation>> FindByDeviceIdAsync(string deviceId, DateTime? from = null, DateTime? to = null, int? limit = null)

Parameters

deviceId string

The unique identifier of the device whose pump observations are being queried.

from DateTime?

Optional inclusive lower bound for the observation timestamp; when null, no lower bound is applied.

to DateTime?

Optional inclusive upper bound for the observation timestamp; when null, no upper bound is applied.

limit int?

Optional maximum number of observations to return; when null, all matching observations are returned.

Returns

Task<IEnumerable<PumpObservation>>

A task that represents the asynchronous operation, yielding an enumerable collection of PumpObservation instances matching the criteria.

FindByPatientId(ObjectId?)

Asynchronously retrieves the pump observations associated with the specified patient identifier.

Task<IEnumerable<PumpObservation>> FindByPatientId(ObjectId? patientId)

Parameters

patientId ObjectId?

The identifier of the patient whose pump observations are being queried. May be null.

Returns

Task<IEnumerable<PumpObservation>>

A task that represents the asynchronous operation. The task result contains the collection of PumpObservation items found for the patient, or an empty collection if no observations are found.

FindLastByDeviceIdAsync(string)

Asynchronously retrieves the most recent PumpObservation associated with the specified device identifier.

Task<PumpObservation?> FindLastByDeviceIdAsync(string deviceId)

Parameters

deviceId string

The unique identifier of the device whose last observation is being queried.

Returns

Task<PumpObservation>

A task that represents the asynchronous operation. The task result contains the last PumpObservation for the device, or null if no observation exists for the given device.

InsertAsync(PumpObservation)

Asynchronously inserts a pump observation into the underlying data store.

Task InsertAsync(PumpObservation obs)

Parameters

obs PumpObservation

The pump observation entity to persist.

Returns

Task

InsertManyAsync(IEnumerable<PumpObservation>)

Asynchronously inserts a collection of pump observations into the underlying data store.

Task InsertManyAsync(IEnumerable<PumpObservation> observations)

Parameters

observations IEnumerable<PumpObservation>

The collection of PumpObservation records to be persisted.

Returns

Task

UpdateManyObjectIdByFieldAsync(string, ObjectId, ObjectId?)

Asynchronously updates the ObjectId value of the specified field for multiple records, replacing the existing value (optionally matched by oldId) with newId.

Task<long> UpdateManyObjectIdByFieldAsync(string fieldName, ObjectId newId, ObjectId? oldId)

Parameters

fieldName string

The name of the field whose ObjectId value will be updated.

newId ObjectId

The new ObjectId value to assign to the field.

oldId ObjectId?

The optional current ObjectId value used as a filter; when null, the update is applied without filtering by the previous value.

Returns

Task<long>

A Task<TResult> that represents the asynchronous operation, containing the number of records updated.