public ReportHistoryViewModel(PatientEntity model) { ShowImageCommand = new DelegateCommand(OnShowImageCommand); LogOffCommand = new DelegateCommand(OnLogOffCommand); PatientEntity = model; if (PatientEntity.MaritalStatus == "No") { PatientEntity.MaritalStatus = "Single"; } else { PatientEntity.MaritalStatus = "Married"; } if (PatientEntity.Sex == "m") { PatientEntity.Sex = "Male"; } else { PatientEntity.Sex = "Female"; } if (PatientEntity.AllergyDrugs == "Yes") { ShowAllergyOption = true; } if (PatientEntity.IfResidentOfM == "Yes") { PatientEntity.OtherOption = "IC Number:"; PatientEntity.OthersID = PatientEntity.IcNumber; } else { PatientEntity.OtherOption = PatientEntity.OtherOption + ":"; } string path = Path.Combine(Program.BaseDir(), "Uploads"); var report = new Patient().GetAllReport(model.Id); foreach (var item in report) { var result = new Patient().GetAllReportData(item.Id); item.ReportDatas = new ObservableCollection <ReportData>(); foreach (var data in result) { data.ImageUrl = Path.Combine(path, data.Img); item.ReportDatas.Add(data); } PatientReports.Add(item); } ViewReportDataCommand = new DelegateCommand(OnViewReportDataCommand); }
public ReportViewModel(PatientEntity model, PatientReport obj) { ShowImageCommand = new DelegateCommand(OnShowImageCommand); BackCommand = new DelegateCommand(OnBackCommand); LogOffCommand = new DelegateCommand(OnLogOffCommand); PrintPDFCommand = new DelegateCommand(OnPrintPDFCommand); string path = Path.Combine(Program.BaseDir(), "Uploads"); ReportDatas = new ObservableCollection <ReportData>(); PatientEntity = model; if (PatientEntity.Sex == "m") { PatientEntity.Sex = "Male"; } else { PatientEntity.Sex = "Female"; } if (PatientEntity.MaritalStatus == "No") { PatientEntity.MaritalStatus = "Single"; } else { PatientEntity.MaritalStatus = "Married"; } if (PatientEntity.IfResidentOfM == "Yes") { PatientEntity.OtherOption = "IC Number:"; PatientEntity.OthersID = PatientEntity.IcNumber; } else { PatientEntity.OtherOption = PatientEntity.OtherOption + ":"; } if (obj != null) { PatientReport = obj; } else { PatientReport = new Patient().GetLastestReport(model.Id); } if (PatientReport != null) { var osResult = new Patient().GetPosteriorOSReportData(PatientReport.Id, false); var odResult = new Patient().GetPosteriorODReportData(PatientReport.Id, false); bool docReview = osResult.Any(x => x.Prediction == "Doctor review recommended"); if (!docReview) { docReview = odResult.Any(x => x.Prediction == "Doctor review recommended"); } bool noDR = osResult.Any(x => x.Prediction == "No DR detected"); if (!noDR) { noDR = odResult.Any(x => x.Prediction == "No DR detected"); } bool badImg = osResult.Any(x => x.Prediction == "Bad Image"); if (!badImg) { badImg = odResult.Any(x => x.Prediction == "Bad Image"); } if (docReview) { PredictionResult = "EXAMINATION RESULT: Diabetic Retinopathy Suspected - Doctor Review Recommended * KINDLY CORRELATE CLINICALLY *"; } else if (noDR) { PredictionResult = "EXAMINATION RESULT: No Abnormlities detected * KINDLY CORRELATE CLINICALLY *"; } else if (badImg) { PredictionResult = "EXAMINATION RESULT: Bad Image * KINDLY CORRELATE CLINICALLY *"; } else { PredictionResult = "EXAMINATION RESULT: * KINDLY CORRELATE CLINICALLY *"; } foreach (var data in osResult) { data.ImageUrl = Path.Combine(path, data.Img); data.FileName = Path.GetFileName(data.ImageUrl); OSReportDatas.Add(data); } foreach (var data in odResult) { data.ImageUrl = Path.Combine(path, data.Img); data.FileName = Path.GetFileName(data.ImageUrl); ODReportDatas.Add(data); } } var report = new Patient().GetAllReport(model.Id); foreach (var item in report) { var result = new Patient().GetAllReportData(item.Id); item.ReportDatas = new ObservableCollection <ReportData>(); foreach (var data in result) { data.ImageUrl = Path.Combine(path, data.Img); item.ReportDatas.Add(data); } PatientReports.Add(item); } TakeReportCommand = new DelegateCommand(OnTakeReportCommand); PreviousReportCommand = new DelegateCommand(OnPreviousReportCommand); FtpTransferCommand = new DelegateCommand(OnFtpTransferCommand); ViewReportDataCommand = new DelegateCommand(OnViewReportDataCommand); SaveNextCommand = new DelegateCommand(OnSaveNextCommand); SaveExitCommand = new DelegateCommand(OnSaveExitCommand); SendMailCommand = new DelegateCommand(OnSendMailCommand); ViewPDFCommand = new DelegateCommand(OnViewPDFCommand); if (PatientReport != null) { CreateReport(PatientReport); } }