Example #1
0
        /// <summary>
        /// 構造函數。
        /// </summary>
        /// <param name="surveys"></param>
        /// <param name="conclusion"></param>
        /// <param name="db"></param>
        public SaveConclusioModel(Surveys surveys, SurveysConclusion conclusion, DbContext db)
        {
            Conclusion = conclusion;
            var template = db.Set <SurveysTemplate>().Find(surveys.TemplateId);

            UserId            = surveys.UserId;
            SurveysTemplateId = surveys.TemplateId;
            var question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "姓名");

            if (null != question)
            {
                Name = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts;
            }
            question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "手机号");
            if (null != question)
            {
                Mobile = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts;
            }
            question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "性别");
            if (null != question)
            {
                Sex = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts;
            }
            //写入方剂Id
            var idTp = surveys.ThingPropertyItems.FirstOrDefault(c => c.Name == "PrescriptionId");

            PrescriptionId = idTp?.Value;
            //写入方剂数据

            idTp = conclusion.ThingPropertyItems.FirstOrDefault(c => c.Name == CnMedicineAlgorithmBase.CnPrescriptionesName);
            if (null != idTp)
            {
                Prescriptiones = EntityUtility.FromJson <List <CnPrescription> >(idTp.Value);
            }
        }
Example #2
0
        /// <summary>
        /// 获取初诊结果。
        /// </summary>
        /// <param name="surveys"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        protected override SurveysConclusion GetResultCore(Surveys surveys, ApplicationDbContext db)
        {
            SurveysConclusion result = new SurveysConclusion()
            {
                SurveysId = surveys.Id,
            };

            db.Set <SurveysAnswerTemplate>().Load();
            var answerTemplates = db.Set <SurveysAnswerTemplate>();
            var coll            = GetFirstCore(surveys, db);

            result.Conclusion = string.Join(",", coll.CnDrugResult.Select(c => $"{c.Item1}{c.Item2}"));
            SetCnPrescriptiones(result, coll.CnDrugResult);
            result.ExtendedInfomation = coll.GetDescription();
            result.Description        = $"{string.Join(",", coll.InsomniaCnDrugConversions.Select(c => c.CnMedicineConclusions).Distinct())}";
            if (string.IsNullOrWhiteSpace(result.Description))
            {
                result.Description = "(无有效病症输入)";
            }
            return(result);
        }
Example #3
0
        protected override SurveysConclusion GetResultCore(Surveys surveys, ApplicationDbContext db)
        {
            var result = new SurveysConclusion()
            {
                SurveysId = surveys.Id
            };

            result.GeneratedIdIfEmpty();
            var sy = db.SurveysTemplates.Where(c => c.Name == CnName).FirstOrDefault();

            if (null == sy)
            {
                return(null);
            }
            SetSigns(surveys.SurveysAnswers, db);
            result.Conclusion = string.Join(",", Results.Select(c => $"{c.Item1}{c.Item2}"));
            SetCnPrescriptiones(result, Results);

            if (string.IsNullOrWhiteSpace(result.Conclusion))
            {
                result.Conclusion = "(患者身体健康,无需用药。)";
            }
            return(result);
        }