public List <int> GetDiaryNumericData(string PatID, DateTime StartDate, DateTime EndDate, string Query) { PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); List <HeadacheDiary> HDiary = new List <HeadacheDiary>(); List <int> NumericData = new List <int>(); foreach (HeadacheDiary vr in pt.HeadacheDiary) { TimeSpan ts1 = vr.RecordDate - StartDate; TimeSpan ts2 = EndDate - vr.RecordDate; if (ts1.Days >= 0 && ts2.Days >= 0) { HDiary.Add(vr); } } if (Query == "头痛程度") { foreach (HeadacheDiary d in HDiary) { NumericData.Add(d.HeadacheDegree); } } else if (Query == "头痛时长") { foreach (HeadacheDiary d in HDiary) { NumericData.Add(d.HeadacheTime); } } return(NumericData); }
public ActionResult Index(PatBasicInfor pat) { PatOperation pto = new PatOperation(); string PID = Request.Form["门诊号"]; if (string.IsNullOrEmpty(pat.Name) || string.IsNullOrEmpty(pat.Sex) || string.IsNullOrEmpty(pat.Age) || string.IsNullOrEmpty(pat.Phone)) { ModelState.AddModelError("", "带*的输入项不能为空"); } else { Regex reg = new Regex("^[0-9]+$"); Match ma1 = reg.Match(pat.Age); Match ma2 = reg.Match(pat.Phone); if (ma1.Success && ma2.Success) { } else { ModelState.AddModelError("", "手机和年龄必须为数字"); } } if (ModelState.IsValid) { string user; user = HttpContext.Request.Cookies["username"].Value.ToString(); pto.InsertPat(pat, PID, user); return RedirectToAction("Index", "Diagnosis", new { ID = pat.Id }); } else { return View(); } }
public bool SaveAdvice(string id, string strAdvice) { PatBasicInfor pt = context.PatBasicInforSet.Find(id); DocSuggestionSet docSuggestion = new DocSuggestionSet(); try { docSuggestion.PatBasicInforId = id; docSuggestion.Suggestion = strAdvice; docSuggestion.IfNew = 1; docSuggestion.SuggestionTime = DateTime.Now; pt.DocSuggestionSet.Add(docSuggestion); pt.LastSuggestionTime = docSuggestion.SuggestionTime; context.SaveChanges(); return(true); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(false); } }
public bool SaveRecord(string PatID, VisitData VData) { try { VisitData vdata = DataPreprocess(VData); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); pt.HeadacheFamilyMember = vdata.HFamilyMember;//个人信息相关保存 pt.OtherFamilyDisease = vdata.OFamilyDisease; ObjectMapper.CopyProperties(vdata.lifestyle, pt.Lifestyle); pt.PreviousDrug = vdata.PDrug; foreach (PreviousDrug pg in pt.PreviousDrug) { pg.PatBasicInforId = PatID; if (pg.DrugCategory != null && (pg.DayAmoutnPerM == null || pg.MonthTotalAmount == null)) { } } if (vdata.Similarfamily == "有") { pt.SimilarFamily = true; } else { pt.SimilarFamily = false; } pt.PreviousExam = vdata.PExam; if (vdata.visitrecord != null) { VisitRecord vr = new VisitRecord();//问诊记录信息保存 vr = vdata.visitrecord; vr.MedicationAdvice = vdata.MAdvice; vr.VisitDate = System.DateTime.Now; // vr.VisitDate = DateTime.Now.Date; vr.PrimaryHeadachaOverView = vdata.PHeadacheOverview; vr.GADQuestionaire = vdata.GADquestionaire; vr.DisabilityEvaluation = vdata.Disabilityevaluation; vr.PHQuestionaire = vdata.PHquestionaire; vr.SleepStatus = vdata.Sleepstatus; vr.PatBasicInforId = PatID; pt.VisitRecord.Add(vr); } context.SaveChanges(); return(true); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(false); } }
public List <VisitRecord> GetVistRecord(string PatID) { PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); List <VisitRecord> visit = new List <VisitRecord>(); foreach (VisitRecord vr in pt.VisitRecord) { visit.Add(vr); } visit.Reverse(); return(visit); }
public bool UpdateRecord(string PatID, string VisitID, VisitData VData) { try { VisitData vdata = DataPreprocess(VData); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); pt.HeadacheFamilyMember = vdata.HFamilyMember;//个人信息相关保存 pt.OtherFamilyDisease = vdata.OFamilyDisease; ObjectMapper.CopyProperties(vdata.lifestyle, pt.Lifestyle); pt.PreviousDrug = vdata.PDrug; pt.PreviousExam = vdata.PExam; if (vdata.Similarfamily == "有") { pt.SimilarFamily = true; } else { pt.SimilarFamily = false; } if (vdata.visitrecord != null) { IEnumerable <VisitRecord> record = from p in context.VisitRecordSet.ToList() where (p.PatBasicInfor.Id == PatID) && (p.Id == int.Parse(VisitID)) select p; VisitRecord vr = record.First(); ObjectMapper.CopyProperties(vdata.visitrecord, vr); ObjectMapper.CopyProperties(vdata.PHeadacheOverview, vr.PrimaryHeadachaOverView); ObjectMapper.CopyProperties(vdata.GADquestionaire, vr.GADQuestionaire); ObjectMapper.CopyProperties(vdata.PHquestionaire, vr.PHQuestionaire); ObjectMapper.CopyProperties(vdata.Disabilityevaluation, vr.DisabilityEvaluation); ObjectMapper.CopyProperties(vdata.Sleepstatus, vr.SleepStatus); vr.PrimaryHeadachaOverView.VisitRecord = vr; vr.GADQuestionaire.VisitRecord = vr; vr.PHQuestionaire.VisitRecord = vr; vr.DisabilityEvaluation.VisitRecord = vr; vr.SleepStatus.VisitRecord = vr; vr.PatBasicInforId = PatID; vr.VisitDate = DateTime.Now.Date; context.Entry(vr).State = System.Data.EntityState.Modified; } context.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
public ActionResult Index(PatBasicInfor pat) { PatOperation pto = new PatOperation(); string PID = Request.Form["门诊号"]; if (string.IsNullOrEmpty(pat.Name) || string.IsNullOrEmpty(pat.Sex) || string.IsNullOrEmpty(pat.Age) || string.IsNullOrEmpty(pat.Phone)) { ModelState.AddModelError("", "带*的输入项不能为空"); } else { Regex reg = new Regex("^[0-9]+$"); Match ma1 = reg.Match(pat.Age); Match ma2 = reg.Match(pat.Phone); if (ma1.Success && ma2.Success) { } else { ModelState.AddModelError("", "手机和年龄必须为数字"); } } if (ModelState.IsValid) { string user; user = HttpContext.Request.Cookies["username"].Value.ToString(); //pto.InsertPat(pat, PID, user); VisitDataOperation vr = new VisitDataOperation(); mPatInfo p =new mPatInfo(); p.Name=pat.Name; p.Sex=pat.Sex; p.Age=pat.Age; p.Phone=pat.Phone; p.Address = pat.Address; p.Education = pat.Education; p.Height = pat.Height; p.Weight = pat.Weight; p.Job = pat.Job; string pid=vr.InsertPat(p,user); return RedirectToAction("Index", "Diagnosis", new { ID = pid}); } else { return View(); } }
public bool InsertPat(PatBasicInfor pat, string PID, string User) { try { pat.Id = System.Guid.NewGuid().ToString().Replace("-", ""); Lifestyle lstyle = new Lifestyle(); lstyle.PatBasicInfor = pat; pat.Lifestyle = lstyle; var users = from s in context.DoctorAccountSet.ToList() select s; DoctorAccount user = users.Where(s => s.UserName == User).FirstOrDefault(); user.PatBasicInfor.Add(pat); context.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
public bool InsertPat(PatBasicInfor pat, string PID, string User) { try { pat.Id = System.Guid.NewGuid().ToString().Replace("-", ""); Lifestyle lstyle = new Lifestyle(); lstyle.PatBasicInfor=pat; pat.Lifestyle = lstyle; var users = from s in context.DoctorAccountSet.ToList() select s; DoctorAccount user = users.Where(s => s.UserName == User).FirstOrDefault(); user.PatBasicInfor.Add(pat); context.SaveChanges(); return true; } catch (Exception e) { return false; } }
public tableData GetPatinfo(PatBasicInfor pat) { tableData rd = new tableData(); rd.Name = pat.Name; rd.Sex = pat.Sex; rd.Age = pat.Age; //rd.ListID = Convert.ToString(i + 1); rd.PatBasicInforId = pat.Id; var record = from p in container.VisitRecordSet.ToList() where (p.PatBasicInfor.Id == pat.Id) select p; var num = record.Count(); if (num != 0) { VisitRecord vt = record.First(); rd.Date = vt.VisitDate.ToString("yyyy-MM-dd"); if (vt.DiagnosisResult1 != null || vt.DiagnosisResult2 != null || vt.DiagnosisResult3 != null) { if (vt.DiagnosisResult1.Contains("慢性每日头痛")) { var style = vt.DiagnosisResult1.Split(new Char[] { ':' }); if (style.Length > 1) { rd.HeadacheStyle = style[1]; } else { rd.HeadacheStyle = vt.DiagnosisResult1 + vt.DiagnosisResult2 + vt.DiagnosisResult3; } } else { rd.HeadacheStyle = vt.DiagnosisResult1 + vt.DiagnosisResult2 + vt.DiagnosisResult3; } } } return(rd); }
public List <DiaryDataPoint> GetDiaryQualitativeData(string PatID, DateTime StartDate, DateTime EndDate, string Query) { List <DiaryDataPoint> Result = new List <DiaryDataPoint>(); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); List <HeadacheDiary> HDiary = new List <HeadacheDiary>(); List <string> Hdata = new List <string>(); foreach (HeadacheDiary vr in pt.HeadacheDiary) { TimeSpan ts1 = vr.RecordDate - StartDate; TimeSpan ts2 = EndDate - vr.RecordDate; if (ts1.Days >= 0 && ts2.Days >= 0) { HDiary.Add(vr); } } if (Query == "头痛性质") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.HeadacheType); } } if (Query == "头痛部位") { foreach (HeadacheDiary hd in HDiary) { foreach (HDheadacheplace ha in hd.HDheadacheplace) { Hdata.Add(ha.postion + ha.detailposition); } } } if (Query == "伴随症状") { foreach (HeadacheDiary hd in HDiary) { foreach (HDAcompanion ha in hd.HDAcompanion) { Hdata.Add(ha.symptom); } } } if (Query == "头痛先兆") { foreach (HeadacheDiary hd in HDiary) { foreach (HDHeadacheProdrome ha in hd.HDHeadacheProdrome) { Hdata.Add(ha.symptom); } } } if (Query == "诱发因素") { foreach (HeadacheDiary hd in HDiary) { foreach (HDPrecipitatingFactor ha in hd.HDPrecipitatingFactor) { Hdata.Add(ha.factor); } } } if (Query == "缓解因素") { foreach (HeadacheDiary hd in HDiary) { foreach (HDMitigatingFactors ha in hd.HDMitigatingFactors) { Hdata.Add(ha.factor); } } } Result = Count(Hdata); return(Result); }
public ReportData ViewDetail(string PatID, string RecordID) { ReportData rdata = new ReportData(); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); rdata.Name = pt.Name; rdata.Age = pt.Age; rdata.Sex = pt.Sex; rdata.Address = pt.Address; rdata.Education = pt.Education; rdata.Job = pt.Job; rdata.Phone = pt.Phone; rdata.Weight = pt.Weight; rdata.Height = pt.Height; if (pt.SimilarFamily != null) { if (pt.SimilarFamily == true) { rdata.SimilarFamily = true; } else { rdata.SimilarFamily = false; } } if (pt.Lifestyle != null) { rdata.patlifestyle.SmokeState = pt.Lifestyle.SmokeState; rdata.patlifestyle.SmokeYear = pt.Lifestyle.SmokeYear; rdata.patlifestyle.DrinkState = pt.Lifestyle.DrinkState; rdata.patlifestyle.DrinkYear = pt.Lifestyle.DrinkYear; rdata.patlifestyle.TeaPerDay = pt.Lifestyle.TeaPerDay; rdata.patlifestyle.CoffePerDay = pt.Lifestyle.CoffePerDay; rdata.patlifestyle.ExerciseOften = pt.Lifestyle.ExerciseOften; } //if (pt.SimilarFamily!=null) //{ // rdata.SimilarFamily = pt.SimilarFamily; //} foreach (HeadacheFamilyMember hfmember in pt.HeadacheFamilyMember) { rdata.Hfamilymember.Add(hfmember.Person); } foreach (OtherFamilyDisease ofdisease in pt.OtherFamilyDisease) { rdata.Ofamilydisease.Add(ofdisease.DiseaseName); } foreach (PreviousDrug pdrug in pt.PreviousDrug) { PDrug pd = new PDrug(); ObjectMapper.CopyProperties(pdrug, pd); rdata.previousdrug.Add(pd); } foreach (PreviousExam pexam in pt.PreviousExam) { Exam exam = new Exam(); ObjectMapper.CopyProperties(pexam, exam); rdata.previousexam.Add(exam); } if (RecordID != "") { var record = from p in context.VisitRecordSet.ToList() where (p.PatBasicInfor.Id == PatID) && (p.Id == int.Parse(RecordID)) select p; VisitRecord vr = record.First(); if (vr != null) { rdata.VisitDate = vr.VisitDate; rdata.CDSSDiagnosis1 = vr.CDSSDiagnosis1; rdata.CDSSDiagnosis2 = vr.CDSSDiagnosis2; rdata.CDSSDiagnosis3 = vr.CDSSDiagnosis3; rdata.DiagnosisResult1 = vr.DiagnosisResult1; rdata.DiagnosisResult2 = vr.DiagnosisResult2; rdata.DiagnosisResult3 = vr.DiagnosisResult3; rdata.Prescription = vr.Prescription; rdata.ChiefComplaint = vr.ChiefComplaint; rdata.PreviousDiagnosis = vr.PreviousDiagnosis; rdata.PrescriptionNote = vr.PrescriptionNote; foreach (SecondaryHeadacheSymptom ss in vr.SecondaryHeadacheSymptom) { rdata.secondaryheadachesymptom.Add(ss.Symptom); } foreach (MedicationAdvice madvice in vr.MedicationAdvice) { HMedicine hmedicine = new HMedicine(); hmedicine.DrugApplication = madvice.DrugApplication; hmedicine.DrugCategory = madvice.DrugCategory; hmedicine.DrugName = madvice.DrugName; hmedicine.DrugDose = madvice.DrugDose; hmedicine.DrugDoseUnit = madvice.DrugDoseUnit; rdata.medicationadvice.Add(hmedicine); } if (vr.PrimaryHeadachaOverView != null) { rdata.headacheoverview.HeadacheType = vr.PrimaryHeadachaOverView.HeadacheType; rdata.headacheoverview.HeadacheDegree = vr.PrimaryHeadachaOverView.HeadacheDegree; rdata.headacheoverview.HeadcheTime = vr.PrimaryHeadachaOverView.HeadcheTime; rdata.headacheoverview.HeacheTimeUnit = vr.PrimaryHeadachaOverView.HeacheTimeUnit; rdata.headacheoverview.FrequencyPerMonth = vr.PrimaryHeadachaOverView.FrequencyPerMonth; rdata.headacheoverview.OnsetFixedPeriod = vr.PrimaryHeadachaOverView.OnsetFixedPeriod; rdata.headacheoverview.OnsetDate = vr.PrimaryHeadachaOverView.OnsetDate; rdata.headacheoverview.OnsetAmount = vr.PrimaryHeadachaOverView.OnsetAmount; rdata.headacheoverview.DailyAggravation = vr.PrimaryHeadachaOverView.DailyAggravation; rdata.headacheoverview.FirstOnsetContinue = vr.PrimaryHeadachaOverView.FirstOnsetContinue; foreach (HeadachePlace hp in vr.PrimaryHeadachaOverView.HeadachePlace) { string strPlace = hp.Position + hp.SpecificPlace; rdata.headacheplace.Add(strPlace); } foreach (HeadacheProdrome hprodrome in vr.PrimaryHeadachaOverView.HeadacheProdrome) { rdata.headacheprodrome.Add(hprodrome.Prodrome); } foreach (MitigatingFactors mfactors in vr.PrimaryHeadachaOverView.MitigatingFactors) { rdata.mitigatingfactors.Add(mfactors.FactorName); } foreach (HeadacheAccompany haccompay in vr.PrimaryHeadachaOverView.HeadacheAccompany) { rdata.headacheaccompany.Add(haccompay.Symptom); } foreach (PrecipitatingFactor pfactor in vr.PrimaryHeadachaOverView.PrecipitatingFactor) { Factor f = new Factor(); f.FName = pfactor.FactorName; f.FDetail = pfactor.FactorDetail; rdata.precipitatingfactor.Add(f); } foreach (PremonitorySymptom psymptom in vr.PrimaryHeadachaOverView.PremonitorySymptom) { rdata.premonitorsymptom.Add(psymptom.Symptom); } } //add 2013/7/23 if (vr.GADQuestionaire != null) { ObjectMapper.CopyProperties(vr.GADQuestionaire, rdata.gdaquestionaire); } if (vr.PHQuestionaire != null) { ObjectMapper.CopyProperties(vr.PHQuestionaire, rdata.phquestionaire); } if (vr.SleepStatus != null) { ObjectMapper.CopyProperties(vr.SleepStatus, rdata.sleepconditon); } if (vr.DisabilityEvaluation != null) { ObjectMapper.CopyProperties(vr.DisabilityEvaluation, rdata.disablityevaluation); } } } else { rdata.VisitDate = DateTime.Now.Date; rdata.headacheoverview.OnsetDate = DateTime.Now.Date; } return(rdata); }
//2014530 public bool DeletePat(string PatID) { try { var patient = from p in context.PatBasicInforSet.ToList() where (p.Id == PatID) select p; PatBasicInfor ptfor = patient.First(); VisitDataOperation visitop = new VisitDataOperation(); //删除viewrecord if (ptfor.VisitRecord.Count != 0) { var vr = from v in context.VisitRecordSet.ToList() where (v.PatBasicInforId == PatID) select v; foreach (var r in vr) { //不能调用 VisitDataOperation的删除就诊记录方法,因为两次savechange 操作会让删除病人时报“存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。”错误 /* var recordId = r.Id.ToString(); * visitop.DeleteRecord(PatID, recordId); */ if (r.PrimaryHeadachaOverView != null) { while (r.PrimaryHeadachaOverView.HeadachePlace.Count != 0) { context.HeadachePlaceSet.Remove(r.PrimaryHeadachaOverView.HeadachePlace.First()); } while (r.PrimaryHeadachaOverView.HeadacheAccompany.Count != 0) { context.HeadacheAccompanySet.Remove(r.PrimaryHeadachaOverView.HeadacheAccompany.First()); } while (r.PrimaryHeadachaOverView.HeadacheProdrome.Count != 0) { context.HeadacheProdromeSet.Remove(r.PrimaryHeadachaOverView.HeadacheProdrome.First()); } while (r.PrimaryHeadachaOverView.PrecipitatingFactor.Count != 0) { context.PrecipitatingFactorSet.Remove(r.PrimaryHeadachaOverView.PrecipitatingFactor.First()); } while (r.PrimaryHeadachaOverView.MitigatingFactors.Count != 0) { context.MitigatingFactorsSet.Remove(r.PrimaryHeadachaOverView.MitigatingFactors.First()); } while (r.PrimaryHeadachaOverView.PremonitorySymptom.Count != 0) { context.PremonitorySymptom集.Remove(r.PrimaryHeadachaOverView.PremonitorySymptom.First()); } context.PrimaryHeadacheOverViewSet.Remove(r.PrimaryHeadachaOverView); } while (r.MedicationAdvice.Count != 0) { context.MedicationAdviceSet.Remove(r.MedicationAdvice.FirstOrDefault()); } while (r.SecondaryHeadacheSymptom.Count != 0) { context.SecondaryHeadacheSymptomSet.Remove(r.SecondaryHeadacheSymptom.FirstOrDefault()); } //add 2013/7/23 if (r.GADQuestionaire != null) { context.GADQuestionaireSet.Remove(r.GADQuestionaire); } if (r.GADQuestionaire != null) { context.GADQuestionaireSet.Remove(r.GADQuestionaire); } if (r.PHQuestionaire != null) { context.PHQuestionaireSet.Remove(r.PHQuestionaire); } if (r.SleepStatus != null) { context.SleepStatusSet.Remove(r.SleepStatus); } if (r.DisabilityEvaluation != null) { context.DisabilityEvaluationSet.Remove(r.DisabilityEvaluation); } // visitrecord 内容删除 context.VisitRecordSet.Remove(r); } } //头痛日志 while (ptfor.HeadacheDiary.Count() != 0) { context.HeadacheDiarySet.Remove(ptfor.HeadacheDiary.First()); } //删除患有头痛家族成员 while (ptfor.HeadacheFamilyMember.Count != 0) { context.HeadacheFamilyMemberSet.Remove(ptfor.HeadacheFamilyMember.First()); } while (ptfor.Lifestyle != null) { context.LifestyleSet.Remove(ptfor.Lifestyle);//是不是一对一的删不了? //context.Entry(ptfor.Lifestyle).State = System.Data.EntityState.Deleted; } while (ptfor.OtherFamilyDisease.Count != 0) { context.OtherFamilyDiseaseSet.Remove(ptfor.OtherFamilyDisease.First()); } while (ptfor.PreviousDrug.Count != 0) { context.PreviousDrugSet.Remove(ptfor.PreviousDrug.First()); } while (ptfor.PreviousExam.Count != 0) { context.PreviousExamSet.Remove(ptfor.PreviousExam.First()); } //医生推送建议表 while (ptfor.DocSuggestionSet.Count != 0) { context.DocSuggestionSet.Remove(ptfor.DocSuggestionSet.First()); } context.PatBasicInforSet.Remove(ptfor); //context.Entry(ptfor).State = System.Data.EntityState.Deleted; context.SaveChanges(); return(true); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(false); } }
public List <DiaryDataPoint> GetDiaryQualitativeData(string PatID, DateTime StartDate, DateTime EndDate, string Query) { List <DiaryDataPoint> Result = new List <DiaryDataPoint>(); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); List <HeadacheDiary> HDiary = new List <HeadacheDiary>(); List <string> Hdata = new List <string>(); foreach (HeadacheDiary Hr in pt.HeadacheDiary) { TimeSpan?ts1 = Hr.StartTime - StartDate; TimeSpan?ts2 = EndDate - Hr.StartTime; if (ts1 != null && ts2 != null) { var ts1val = ts1.Value; var ts2val = ts2.Value; if (ts1val.Days >= 0 && ts2val.Days >= 0) { HDiary.Add(Hr); } } } if (Query == "头痛性质") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Type.ToString()); } } if (Query == "头痛部位") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Position.ToString()); } } if (Query == "伴随症状") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Companion); } } if (Query == "头痛先兆") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Prodrome); } } if (Query == "诱发因素") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Precipiating); } } if (Query == "缓解因素") { foreach (HeadacheDiary hd in HDiary) { Hdata.Add(hd.Mitigating); } } if (Query == "眼眶周围") { foreach (HeadacheDiary hd in HDiary) { int?IfAroundEye = hd.IfAroundEye; if (IfAroundEye != null) { var IfAroundEyeval = IfAroundEye.Value; Hdata.Add(IfAroundEyeval.ToString()); } } } if (Query == "运动加剧") { foreach (HeadacheDiary hd in HDiary) { int?IfActivityAggravate = hd.IfActivityAggravate; if (IfActivityAggravate != null) { var IfActivityAggravateval = IfActivityAggravate.Value; Hdata.Add(IfActivityAggravateval.ToString()); } } } if (Query == "诊断结论") { foreach (HeadacheDiary hd in HDiary) { int?AidDiagnosis = hd.AidDiagnosis; if (AidDiagnosis != null) { var AidDiagnosisval = AidDiagnosis.Value; Hdata.Add(AidDiagnosisval.ToString()); } } } Result = Count(Hdata); return(Result); }
public List <DiaryDateNum> GetDiaryNumericData(string PatID, DateTime StartDate, DateTime EndDate, string Query) { PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); List <HeadacheDiary> HDiary = new List <HeadacheDiary>(); List <DiaryDateNum> dnum = new List <DiaryDateNum>(); List <int> NumericData = new List <int>();//头痛程度时长的数据存储 foreach (HeadacheDiary vr in pt.HeadacheDiary) { TimeSpan?ts1 = vr.StartTime - StartDate; TimeSpan?ts2 = EndDate - vr.StartTime; if (ts1 != null && ts2 != null) { var ts1val = ts1.Value; var ts2val = ts2.Value; if (ts1val.Days >= 0 && ts2val.Days >= 0) { HDiary.Add(vr); } } } if (Query == "头痛程度") { foreach (HeadacheDiary diary in HDiary) { DiaryDateNum ddn = new DiaryDateNum(); if (diary.StartTime != null) { var date = diary.StartTime.Value; ddn.headacheDate = date.Date.ToString(); } int?degree = diary.Degree; if (degree != null) { var degreeval = degree.Value; // NumericData.Add(degreeval); ddn.headacheNum = degreeval; } dnum.Add(ddn); } } if (Query == "头痛时长") { foreach (HeadacheDiary diary in HDiary) { DiaryDateNum ddn = new DiaryDateNum(); if (diary.StartTime != null) { var date = diary.StartTime.Value; ddn.headacheDate = date.Date.ToString(); } TimeSpan?lastingTime = diary.EndTime - diary.StartTime; if (lastingTime != null) { TimeSpan newlastTime = lastingTime.Value; var tsD = newlastTime.Days; var tsH = newlastTime.Hours; var tsM = newlastTime.Minutes; double tss = tsH + tsD * 24 + tsM / 60.0; //var nt = Math.Round(tss, 1); //NumericData.Add(tsD); //NumericData.Add(tsH); //NumericData.Add(tsM); ddn.headacheNum = tss; } dnum.Add(ddn); } } return(dnum); }
public bool UpdateRecord(string PatID, string VisitID, VisitData VData) { try { VisitData vdata = DataPreprocess(VData); PatBasicInfor pt = context.PatBasicInforSet.Find(PatID); pt.HeadacheFamilyMember = vdata.HFamilyMember;//个人信息相关保存 pt.OtherFamilyDisease = vdata.OFamilyDisease; ObjectMapper.CopyProperties(vdata.lifestyle, pt.Lifestyle); pt.PreviousDrug = vdata.PDrug;//需要看一下,这里的Pdrug有没有数据 foreach (PreviousDrug pg in pt.PreviousDrug) { pg.PatBasicInforId = PatID; } pt.PreviousExam = vdata.PExam; if (vdata.Similarfamily == "有") { pt.SimilarFamily = true; } else { pt.SimilarFamily = false; } if (vdata.visitrecord != null) { IEnumerable <VisitRecord> record = from p in context.VisitRecordSet.ToList() where (p.PatBasicInfor.Id == PatID) && (p.Id == int.Parse(VisitID)) select p; VisitRecord vr = record.First(); ObjectMapper.CopyProperties(vdata.visitrecord, vr); ObjectMapper.CopyProperties(vdata.PHeadacheOverview, vr.PrimaryHeadachaOverView); ObjectMapper.CopyProperties(vdata.GADquestionaire, vr.GADQuestionaire); ObjectMapper.CopyProperties(vdata.PHquestionaire, vr.PHQuestionaire); ObjectMapper.CopyProperties(vdata.Disabilityevaluation, vr.DisabilityEvaluation); ObjectMapper.CopyProperties(vdata.Sleepstatus, vr.SleepStatus); vr.PrimaryHeadachaOverView.VisitRecord = vr; vr.GADQuestionaire.VisitRecord = vr; vr.PHQuestionaire.VisitRecord = vr; vr.DisabilityEvaluation.VisitRecord = vr; vr.SleepStatus.VisitRecord = vr; vr.PatBasicInforId = PatID; vr.VisitDate = System.DateTime.Now; //vr.VisitDate = DateTime.Now.Date; //System.DateTime.Now.ToString("G"); context.Entry(vr).State = System.Data.EntityState.Modified; } context.SaveChanges(); return(true); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(false); } //catch (Exception e) //{ // return false; //} }