84 lines
4.3 KiB
C#
84 lines
4.3 KiB
C#
using adas_core.Domain.Enums;
|
|
using adas_core.Domain.Models;
|
|
using adas_core.Domain.Models.DTO;
|
|
using adas_core.Domain.Models.Filter;
|
|
using adas_core.Domain.Models.Masters;
|
|
using adas_core.Domain.Models.MongoModels;
|
|
using adas_core.Domain.Models.Responses;
|
|
using MongoDB.Bson;
|
|
|
|
namespace adas_core.Application.Services.Interfaces;
|
|
|
|
public interface IPatientService : IApiRequestService
|
|
{
|
|
Task<Patient?> FindByPatientId(string patientId, bool withLocation = false);
|
|
Task<Patient?> FindByPatientIdWithLocale(string patientId, LocaleEnum localeEnum);
|
|
Task<Patient?> FindByPatientNumberArchived(string patientNumber);
|
|
Task<Patient?> FindByPatientNumber(string patientNumber, bool withLocation = false);
|
|
Task<Patient?> FindByLocation(PatientLocation? location);
|
|
Task<Patient?> FindByPointOfCareId(ObjectId pocId);
|
|
Task<Patient?> FindByUnitAndPocId(ObjectId unit, ObjectId pointOfCare);
|
|
Task<List<Patient>> FindByPointOfCare(string pointOfCare);
|
|
Task<long> CountPatientsByUnitId(ObjectId unitId);
|
|
|
|
Task<Patient?> FindPatient(string? patientId, string? patientNumber, PatientLocation? location,
|
|
bool findByLocation = false);
|
|
|
|
Task Insert(Patient patient);
|
|
Task InsertAsync(Patient patient);
|
|
Task ArchivePatient(Patient patient);
|
|
Task ArchivePatientData(ObjectId patientid);
|
|
Task MergePatient(Patient patient, string oldPatienNumber);
|
|
Task UpdateLocation(ObjectId id, PatientLocation? location);
|
|
Task UpdateAttendingDoctor(ObjectId id, Person doctor);
|
|
Task UpdatePatientData(ObjectId id, string patientNumber, Person data, bool updatePatientNumber = true);
|
|
Task UpdatePatientData(ObjectId id, string patientNumber, Patient patient, bool updatePatientNumber = true);
|
|
Task Update(Patient patient);
|
|
Task<bool> Move(Patient patient, ObjectId newPocId, ObjectId oldPocId);
|
|
Task<Patient?> FindById(ObjectId id, bool withLocation = false);
|
|
Task<Box?> GetBox(PointOfCare poc, bool observations = false, List<string>? filterObservations = null);
|
|
Task<Patient?> CreatePatientFromRequest(ApiRequest apiRequest, bool ignoreLocation = false);
|
|
Task<Patient?> FindPatientByApiRequest(ApiRequest apiRequest);
|
|
Task ArchivePatientWithoutObservationsSinceDate(DateTime date);
|
|
|
|
Task ArchiveDischargedPatients(int hoursBeforeArchive);
|
|
Task<List<Patient>> FindAll(bool withLocation = false);
|
|
Task<PaginationResponse<Patient>> GetPaginatedPatients(PaginationFilter filter);
|
|
|
|
Task DischargeInactivePatients(DateTime sinceDate, int hoursBeforeArchive);
|
|
Task<Patient?> UpdateOne(Patient updatedPatient);
|
|
|
|
Task SendNewPatientBroadcast(Patient patient);
|
|
Task SendPatientUpdateBroadcast(Patient patient);
|
|
Task<List<Patient>> FindInActivePoC();
|
|
Task<List<Patient>> FindInInactivePoC();
|
|
|
|
Task<Patient?> GetByPointOfCare(PointOfCare item, bool observations = false,
|
|
List<string>? filterObservations = null);
|
|
|
|
Task<Patient?> GetByPointOfCareAndLocale(PointOfCare item, Unit? unit, LocaleEnum? localeEnum);
|
|
Task<Patient?> UpdatePatientAltable(ObjectId patientId, OptionList altable, User? user);
|
|
Task ExitPatientById(ObjectId id, bool archivePatient = true);
|
|
|
|
Task<Patient?> UpdatePatientMasterList(ObjectId patientId, MasterListType typeName,
|
|
List<OptionList> updatedOptions,
|
|
User? user, List<OptionList>? carePlanLog);
|
|
|
|
Task GenerateNurseCarePlanAndInsert(MasterListType carePlanType, List<OptionList>? options,
|
|
Patient patient, User? user);
|
|
|
|
Task UpdatePatientIncomingData(ObjectId patientId, Patient person);
|
|
Task UpdatePatientDemographicData(ObjectId patientId, Patient person, User? user);
|
|
Task<Patient?> SearchByPatientNumberAndDistinctUnit(string patientNumber, ObjectId unitId);
|
|
Task<List<Patient>> FindAllPatientWithFinishedProcedures(int archiveProcedureEndDateAfterMinutes);
|
|
Task<List<Patient>> FindAllPatientWithFinishedTest(int archiveTestEndDateAfterMinutes);
|
|
Task<List<Patient>> FindAllPatientWithFinishedTreatment(int archiveTreatmentEndDateAfterMinutes);
|
|
|
|
Task UpdatePatientIncomingData(ObjectId patientId, Patient person, PatientIncomeData personDataChange,
|
|
User user);
|
|
|
|
Task UpdatePatientMasterListItemChange(UpdateOptionMasterListDto opt, IEnumerable<Unit> unitList,
|
|
string typeName);
|
|
|
|
Task DeletePatientMasterListItem(OptionList opt, IEnumerable<Unit> unitList, string typeName);
|
|
} |