public string PatientCareEndingStatus(int patientId) { using (UnitOfWork unitOfWork = new UnitOfWork(new GreencardContext())) { var careendingStatus = new PatientCareEnding(); var lookupManager = new BLookupManager(); var exitReason = unitOfWork.PatientCareEndingRepository.FindBy( x => x.PatientId == patientId & !x.DeleteFlag & !x.Active) .FirstOrDefault(); if (exitReason != null) { careendingStatus.ExitReason = exitReason.ExitReason; careendingStatus.ExitDate = exitReason.ExitDate; careendingStatus.TransferOutFacility = exitReason.TransferOutFacility; careendingStatus.DateOfDeath = exitReason.DateOfDeath; careendingStatus.CareEndingNotes = exitReason.CareEndingNotes; } else { careendingStatus.ExitReason = 0; } unitOfWork.Dispose(); return(careendingStatus.ToString()); } }
public int ResetPatientCareEnding(PatientCareEnding patientCareEnding) { using (UnitOfWork unitOfWork = new UnitOfWork(new GreencardContext())) { unitOfWork.PatientCareEndingRepository.Update(patientCareEnding); unitOfWork.Complete(); int Id = patientCareEnding.Id; unitOfWork.Dispose(); return(Id); } }
public int ResetPatientCareEnding(PatientCareEnding patientCareEnding) { try { return(mgr.ResetPatientCareEnding(patientCareEnding)); } catch (Exception e) { throw new Exception(e.Message); } }
public int UpdatePatientCareEnding(int patientId, int patientMasterVisitId, int patientEnrollmentId, int exitReason, DateTime exitDate, string transferOutFacility, DateTime dateOfDeath, string careEndingNotes) { PatientCareEnding patientCareEnding = new PatientCareEnding() { PatientId = patientId, PatientMasterVisitId = patientMasterVisitId, PatientEnrollmentId = patientEnrollmentId, ExitReason = exitReason, ExitDate = exitDate, TransferOutFacility = transferOutFacility, DateOfDeath = dateOfDeath, CareEndingNotes = careEndingNotes }; return(mgr.AddPatientCareEnding(patientCareEnding)); }
public int AddPatientCareEndingOther(int patientId, int patientMasterVisitId, int patientEnrollmentId, int exitReason, DateTime exitDate, string careEndingNotes, int?tracingOutome, int?reasonLostToFollowup) { PatientCareEnding patientCareEnding = new PatientCareEnding() { PatientId = patientId, PatientMasterVisitId = patientMasterVisitId, PatientEnrollmentId = patientEnrollmentId, ExitReason = exitReason, ExitDate = exitDate, CareEndingNotes = careEndingNotes, TracingOutome = tracingOutome, ReasonLostToFollowup = reasonLostToFollowup }; return(mgr.AddPatientCareEnding(patientCareEnding)); }
public int AddPatientCareEndingTransferOut(int patientId, int patientMasterVisitId, int patientEnrollmentId, int exitReason, DateTime exitDate, string transferOutFacility, string careEndingNotes, string reasonForTransferOut, DateTime?dateExpectedToReport) { PatientCareEnding patientCareEnding = new PatientCareEnding() { PatientId = patientId, PatientMasterVisitId = patientMasterVisitId, PatientEnrollmentId = patientEnrollmentId, ExitReason = exitReason, ExitDate = exitDate, TransferOutFacility = transferOutFacility, CareEndingNotes = careEndingNotes, ReasonForTransferOut = reasonForTransferOut, DateExpectedToReport = dateExpectedToReport }; return(mgr.AddPatientCareEnding(patientCareEnding)); }
public int AddPatientCareEndingDeath(int patientId, int patientMasterVisitId, int patientEnrollmentId, int exitReason, DateTime exitDate, DateTime?dateOfDeath, string careEndingNotes, int?reasonsForDeath, int?specificCausesOfDeath) { PatientCareEnding patientCareEnding = new PatientCareEnding() { PatientId = patientId, PatientMasterVisitId = patientMasterVisitId, PatientEnrollmentId = patientEnrollmentId, ExitReason = exitReason, ExitDate = exitDate, DateOfDeath = dateOfDeath, CareEndingNotes = careEndingNotes, ReasonsForDeath = reasonsForDeath, SpecificCausesOfDeath = specificCausesOfDeath }; return(mgr.AddPatientCareEnding(patientCareEnding)); }
public int UpdatePatientCareEnding(PatientCareEnding patientCareEnding) { using (UnitOfWork unitOfWork = new UnitOfWork(new GreencardContext())) { var careEnding = unitOfWork.PatientCareEndingRepository.FindBy( x => x.PatientId == patientCareEnding.PatientId & !x.DeleteFlag & !x.Active) .FirstOrDefault(); if (careEnding != null) { careEnding.ExitReason = patientCareEnding.ExitReason; careEnding.ExitDate = patientCareEnding.ExitDate; careEnding.TransferOutFacility = patientCareEnding.TransferOutFacility; careEnding.DateOfDeath = patientCareEnding.DateOfDeath; careEnding.CareEndingNotes = patientCareEnding.CareEndingNotes; } unitOfWork.PatientCareEndingRepository.Update(careEnding); result = unitOfWork.Complete(); unitOfWork.Dispose(); return(result); } }
public async Task <Result <AddPatientCareEndingResponse> > Handle(AddPatientCareEndingCommand request, CancellationToken cancellationToken) { try { int PatientEnrollmentId; var result = await _unitOfWork.Repository <PatientEnrollment>().Get(x => x.PatientId == request.PatientId && x.ServiceAreaId == request.ServiceAreaId && x.DeleteFlag == false && !x.CareEnded).FirstOrDefaultAsync(); var PatientCare = await _unitOfWork.Repository <PatientCareEnding>().Get(x => x.PatientMasterVisitId == request.PatientMasterVisitId && x.PatientId == request.PatientId && x.DeleteFlag == false).FirstOrDefaultAsync(); if (PatientCare != null) { PatientCare.PatientId = request.PatientId; PatientCare.PatientMasterVisitId = request.PatientMasterVisitId; PatientCare.ExitReason = request.DisclosureReason; PatientCare.ExitDate = request.CareEndedDate; PatientCare.CareEndingNotes = request.Specify; PatientCare.DateOfDeath = request.DeathDate; _unitOfWork.Repository <PatientCareEnding>().Update(PatientCare); await _unitOfWork.SaveAsync(); if (PatientCare.Id > 0) { Id = PatientCare.Id; } Message += "Patient Information has been updated"; } else { if (result != null) { PatientEnrollmentId = result.Id; if (PatientEnrollmentId > 0) { PatientCareEnding pc = new PatientCareEnding() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, PatientEnrollmentId = PatientEnrollmentId, ExitReason = request.DisclosureReason, ExitDate = request.CareEndedDate, CareEndingNotes = request.Specify, DateOfDeath = request.DeathDate, Active = false, DeleteFlag = false, CreatedBy = request.UserId, CreateDate = DateTime.Now, }; await _unitOfWork.Repository <PatientCareEnding>().AddAsync(pc); await _unitOfWork.SaveAsync(); if (pc.Id > 0) { Id = Id; } Message += "Patient has been successfully careended"; } var patientenrollment = await _unitOfWork.Repository <PatientEnrollment>().Get(x => x.Id == PatientEnrollmentId ).FirstOrDefaultAsync(); if (patientenrollment != null) { patientenrollment.CareEnded = true; _unitOfWork.Repository <PatientEnrollment>().Update(patientenrollment); await _unitOfWork.SaveAsync(); } } else { Message += "Patient has not been successfully careended"; } } return(Result <AddPatientCareEndingResponse> .Valid(new AddPatientCareEndingResponse() { Id = Id, Message = Message })); } catch (Exception ex) { return(Result <AddPatientCareEndingResponse> .Invalid(ex.Message)); } }