# Interface IArchivePatientCarePlanRepository

Namespace
  adas_core.Application.Repositories.Interfaces

Assembly
  adas-core.Application.dll

    public interface IArchivePatientCarePlanRepository : IMongoRepository<PatientCarePlan>

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

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

## Methods

### FindAll()

Asynchronously retrieves all patient care plans from the data store.

    Task<List<PatientCarePlan>> FindAll()

#### Returns

Task<List<PatientCarePlan>>

  A task that represents the asynchronous operation, containing a list of all PatientCarePlan entries.

### FindByIds(ObjectId, string?, string?)

Asynchronously retrieves a list of patient care plans matching the provided legacy patient identifiers.

    Task<List<PatientCarePlan>?> FindByIds(ObjectId oldPatientId, string? oldPatientPatientId, string? oldPatientPatientNumber)

#### Parameters

`oldPatientId` ObjectId

  The legacy MongoDB.Bson.ObjectId identifier used to locate the patient.

`oldPatientPatientId` string

  An optional legacy patient ID string used as an additional lookup criterion.

`oldPatientPatientNumber` string

  An optional legacy patient number string used as an additional lookup criterion.

#### Returns

Task<List<PatientCarePlan>>

  A Task<TResult> containing a nullable list of PatientCarePlan records, or `null` if no matching care plans are found.

### FindByPatientId(ObjectId)

Retrieves the list of care plans associated with the specified patient identifier.

    Task<List<PatientCarePlan>?> FindByPatientId(ObjectId patientId)

#### Parameters

`patientId` ObjectId

  The unique identifier of the patient whose care plans should be retrieved.

#### Returns

Task<List<PatientCarePlan>>

  A task that returns a list of PatientCarePlan objects for the given patient, or `null` when no care plans are found.

### FindByPatientId(string)

Retrieves the list of patient care plans associated with the specified patient identifier.

    Task<List<PatientCarePlan>?> FindByPatientId(string patientId)

#### Parameters

`patientId` string

  The unique identifier of the patient whose care plans are being queried.

#### Returns

Task<List<PatientCarePlan>>

  A task that represents the asynchronous operation. The task result contains a list of PatientCarePlan for the given patient, or `null` if no care plans are found.

### FindByPatientNumber(string)

Asynchronously retrieves the list of care plans associated with the specified patient number, returning `null` when no matching care plans are found.

    Task<List<PatientCarePlan>?> FindByPatientNumber(string patientId)

#### Parameters

`patientId` string

  The patient number used to look up the associated care plans.

#### Returns

Task<List<PatientCarePlan>>

  A task representing the asynchronous operation, containing a list of PatientCarePlan entries for the patient, or `null` if none exist.

### InsertManyAsync(List<PatientCarePlan>)

Asynchronously inserts a collection of patient care plans into the underlying data store.

    Task InsertManyAsync(List<PatientCarePlan> patientCarePla)

#### Parameters

`patientCarePla` List<PatientCarePlan>

  The list of PatientCarePlan records to be inserted.

#### Returns

Task