public IenResult SavePatientItem(PatientEducationItem item) { IenResult result = new IenResult(); if (this.broker != null) { DsioEducationItem dsioEdItem = GetDsioItem(item); DsioPatientEducationItem dsioItem = new DsioPatientEducationItem(dsioEdItem); dsioItem.EducationItemIen = item.EducationItemIen; dsioItem.PatientDfn = item.PatientDfn; dsioItem.CompletedOn = Util.GetFileManDateAndTime(item.CompletedOn); DsioSavePatientEducationCommand command = new DsioSavePatientEducationCommand(this.broker); command.AddCommandArguments(dsioItem); RpcResponse response = command.Execute(); result.SetResult(response.Status == RpcResponseStatus.Success, response.InformationalMessage); if (result.Success) { result.Ien = command.Ien; } } return(result); }
public static BrokerOperationResult CompleteEducationItem(IDashboardRepository repo, string patientDfn, string educationItemIen, string checklistItemIen) { BrokerOperationResult returnResult = new BrokerOperationResult(); // *** Two-step process: // *** (1) Create completed patient education item // *** (2) Complete the checklist item PatientEducationItem patItem = new PatientEducationItem() { PatientDfn = patientDfn, EducationItemIen = educationItemIen, CompletedOn = DateTime.Now }; IenResult saveResult = repo.Education.SavePatientItem(patItem); returnResult.SetResult(saveResult.Success, saveResult.Message); if (saveResult.Success) { PregnancyChecklistItemsResult result = repo.Checklist.GetPregnancyItems(patientDfn, "", checklistItemIen); returnResult.SetResult(result.Success, result.Message); if (result.Success) { if (result.Items != null) { if (result.Items.Count > 0) { PregnancyChecklistItem checkItem = result.Items[0]; checkItem.CompletionStatus = DsioChecklistCompletionStatus.Complete; checkItem.CompletionLink = saveResult.Ien; IenResult ienResult = repo.Checklist.SavePregnancyItem(checkItem); returnResult.SetResult(ienResult.Success, ienResult.Message); if (returnResult.Success) { returnResult = UpdateNextDates(repo, patientDfn, checkItem.PregnancyIen); if (returnResult.Success) { returnResult.Message = "Education item completed"; } } } } } } return(returnResult); }
public ActionResult PatientSelect(PatientEducationSelect model) { ActionResult returnResult; List <string> ienList = model.GetSelectedIenList(); bool ok = false; if (ienList != null) { foreach (string ien in ienList) { PatientEducationItem patItem = new PatientEducationItem(); patItem.EducationItemIen = ien; patItem.PatientDfn = model.Patient.Dfn; patItem.CompletedOn = DateTime.Now; IenResult ienResult = this.DashboardRepository.Education.SavePatientItem(patItem); if (!ienResult.Success) { this.Error(ienResult.Message); ok = false; break; } else { ok = true; } } } if (ok) { this.Information("Education Items Added Successfully"); returnResult = RedirectToAction("PatientIndex", new { dfn = model.Patient.Dfn }); } else { this.CurrentPatientDfn = model.Patient.Dfn; model.Patient = this.CurrentPatient; returnResult = View(model); } return(returnResult); }
public PatientEducationItemsResult GetPatientItems(string patientDfn, string ien, DateTime fromDate, DateTime toDate, EducationItemType itemType, int page, int itemsPerPage) { PatientEducationItemsResult result = new PatientEducationItemsResult(); if (this.broker != null) { DsioGetPatientEducationCommand command = new DsioGetPatientEducationCommand(this.broker); string dsioItemType = GetDsioItemType(itemType); string fmFromDate = Util.GetFileManDate(fromDate); string fmToDate = Util.GetFileManDate(toDate); command.AddCommandArguments(patientDfn, ien, fmFromDate, fmToDate, dsioItemType, page, itemsPerPage); RpcResponse response = command.Execute(); result.SetResult(response.Status == RpcResponseStatus.Success, response.InformationalMessage); if (result.Success) { if (command.Items != null) { if (command.Items.Count > 0) { foreach (DsioPatientEducationItem dsioItem in command.Items) { EducationItem item = GetItem(dsioItem); PatientEducationItem patItem = new PatientEducationItem(item); patItem.CompletedOn = Util.GetDateTime(dsioItem.CompletedOn); patItem.CompletedBy = dsioItem.CompletedBy; result.Items.Add(patItem); } result.TotalResults = command.TotalResults; } } } } return(result); }