# Interface IPatientCarePlanService

Namespace
  adas_core.Application.Services.Interfaces

Assembly
  adas-core.Application.dll

    public interface IPatientCarePlanService

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

## Methods

### ArchiveByPatientId(ObjectId)

Asynchronously archives records associated with the specified patient identifier.

    Task ArchiveByPatientId(ObjectId patientid)

#### Parameters

`patientid` ObjectId

  The unique identifier of the patient whose records are to be archived.

#### Returns

Task

### ArchiveCarePlanFromJob(Patient, List<OptionList>)

Archives the care plan associated with a finished procedure for the specified patient, processing the provided list of items to be archived.

    Task ArchiveCarePlanFromJob(Patient patientWithFinishedProcedure, List<OptionList> itemsToArchive)

#### Parameters

`patientWithFinishedProcedure` Patient

  The patient whose procedure has been completed and whose care plan should be archived.

`itemsToArchive` List<OptionList>

  The collection of option list items to be archived as part of the care plan archival process.

#### Returns

Task

### FindAll()

Retrieves all patient care plans from the system.

    Task<List<PatientCarePlan>> FindAll()

#### Returns

Task<List<PatientCarePlan>>

  A task containing a list of all PatientCarePlan records.

### FindByPatientId(ObjectId)

Retrieves a list of patient 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 are being retrieved.

#### Returns

Task<List<PatientCarePlan>>

  A task that represents the asynchronous operation, containing a list of PatientCarePlan records for the given patient.

### FindByUserId(ObjectId)

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

    Task<List<PatientCarePlan>> FindByUserId(ObjectId userId)

#### Parameters

`userId` ObjectId

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

#### Returns

Task<List<PatientCarePlan>>

  A task that represents the asynchronous operation. The task result contains a list of patient care plans associated with the user.

### InsertOneAsync(PatientCarePlan)

Asynchronously inserts a single patient care plan into the underlying data store.

    Task InsertOneAsync(PatientCarePlan patientCarePlan)

#### Parameters

`patientCarePlan` PatientCarePlan

  The patient care plan to insert.

#### Returns

Task

### UpdateManyObjectId(string, ObjectId, ObjectId)

Updates the ObjectId references from the specified old identifier to a new one across multiple records associated with the given patient.

    Task UpdateManyObjectId(string patientid, ObjectId patientId, ObjectId oldId)

#### Parameters

`patientid` string

  The string identifier of the patient whose related records will be updated.

`patientId` ObjectId

  The ObjectId of the patient used to locate the records to update.

`oldId` ObjectId

  The existing ObjectId value to be replaced in the matched records.

#### Returns

Task