public M1RiskInput GetM1RiskInput(DataConnection pclsCache, string UserId)
        {
            M1RiskInput Input = new M1RiskInput();
            Input = new UsersMethod().GetM1RiskInput(pclsCache, UserId);
            if(Input != null)
            {
                BasicInfo BaseList = new UsersMethod().GetBasicInfo(pclsCache, UserId);
                if (BaseList != null)
                {
                    if (BaseList.Birthday != "" && BaseList.Birthday != "0" && BaseList.Birthday != null)
                    {
                        Input.Age = new UsersMethod().GetAgeByBirthDay(pclsCache, Convert.ToInt32(BaseList.Birthday));//年龄
                    }
                    if (BaseList.Gender != "" && BaseList.Gender != "0" && BaseList.Gender != null)
                    {
                        Input.Gender = Convert.ToInt32(BaseList.Gender);//性别
                    }
                }
            }

            return Input;
        }
Beispiel #2
0
        /// <summary>
        /// 获取高血压评估所需输入(BasicInfoDetail部分) SYF 20151117
        /// </summary>
        /// <param name="pclsCache"></param>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public M1RiskInput GetM1RiskInput(DataConnection pclsCache, string UserId)
        {
            M1RiskInput Input = new M1RiskInput();
            try
            {
                if (!pclsCache.Connect())
                {
                    return null;
                }
                InterSystems.Data.CacheTypes.CacheSysList list = null;
                list = Ps.BasicInfoDetail.GetM1RiskInput(pclsCache.CacheConnectionObject, UserId);
                
                if (list != null)
                {
                    #region
                    if (list[1] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[1].Split('|');//值和日期分开
                        Input.Height = Convert.ToInt32(ItemAll[0]);
                        Input.HeightTime = ItemAll[1] + " " + ItemAll[2];
                    }
                    
                    if(list[0] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[0].Split('|');//值和日期分开
                        Input.Weight = Convert.ToInt32(ItemAll[0]);
                        Input.WeightTime = ItemAll[1] + " " + ItemAll[2];
                    }
                    Input.BMI = Math.Round(Input.Weight / (Input.Height / 100.0) / (Input.Height / 100.0), 2);

                    if (list[2] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[2].Split('|');//值和日期分开
                        Input.AbdominalGirth = Convert.ToInt32(ItemAll[0]);
                        Input.AbdominalGirthTime = ItemAll[1];
                    }

                    if (list[3] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[3].Split('|');//值和日期分开
                        Input.Heartrate = Convert.ToInt32(ItemAll[0]);
                        Input.HeartrateTime = ItemAll[1];
                    }

                    if (list[4] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[4].Split('|');//值和日期分开
                        Input.Parent = Convert.ToInt32(ItemAll[0]);
                        Input.ParentTime = ItemAll[1];
                    }

                    if (list[5] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[5].Split('|');//值和日期分开
                        Input.Smoke = Convert.ToInt32(ItemAll[0]);
                        Input.SmokeTime = ItemAll[1];
                    }

                    if (list[6] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[6].Split('|');//值和日期分开
                        Input.Stroke = Convert.ToInt32(ItemAll[0]);
                        Input.StrokeTime = ItemAll[1];
                    }

                    if (list[7] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[7].Split('|');//值和日期分开
                        Input.Lvh = Convert.ToInt32(ItemAll[0]);
                        Input.LvhTime = ItemAll[1];
                    }

                    if (list[8] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[8].Split('|');//值和日期分开
                        Input.Diabetes = Convert.ToInt32(ItemAll[0]);
                        Input.DiabetesTime = ItemAll[1];
                    }

                    if (list[9] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[9].Split('|');//值和日期分开
                        Input.Treat = Convert.ToInt32(ItemAll[0]);
                        Input.TreatTime = ItemAll[1];
                    }

                    if (list[10] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[10].Split('|');//值和日期分开
                        Input.Heartattack = Convert.ToInt32(ItemAll[0]);
                        Input.HeartattackTime = ItemAll[1];
                    }

                    if (list[11] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[11].Split('|');//值和日期分开
                        Input.Af = Convert.ToInt32(ItemAll[0]);
                        Input.AfTime = ItemAll[1];
                    }

                    if (list[12] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[12].Split('|');//值和日期分开
                        Input.Chd = Convert.ToInt32(ItemAll[0]);
                        Input.ChdTime = ItemAll[1];
                    }

                    if (list[13] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[13].Split('|');//值和日期分开
                        Input.Valve = Convert.ToInt32(ItemAll[0]);
                        Input.ValveTime = ItemAll[1];
                    }

                    if (list[14] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[14].Split('|');//值和日期分开
                        Input.Tcho = Convert.ToDouble(ItemAll[0]);
                        Input.TchoTime = ItemAll[1];
                    }

                    if (list[15] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[15].Split('|');//值和日期分开
                        Input.Creatinine = Convert.ToDouble(ItemAll[0]);
                        Input.CreatinineTime = ItemAll[1];
                    }

                    if (list[16] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[16].Split('|');//值和日期分开
                        Input.Hdlc = Convert.ToDouble(ItemAll[0]);
                        Input.HdlcTime = ItemAll[1];
                    }

                    if (list[17] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[17].Split('|');//值和日期分开
                        Input.SBP = Convert.ToInt32(ItemAll[0]);
                        Input.SBPTime = ItemAll[1];
                    }

                    if (list[18] == null)
                    {
                        return null;
                    }
                    else
                    {
                        string[] ItemAll = list[18].Split('|');//值和日期分开
                        Input.DBP = Convert.ToInt32(ItemAll[0]);
                        Input.DBPTime = ItemAll[1];
                    }
                    #endregion
                }
                return Input;
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.ToString(), "获取名称失败!");
                HygeiaComUtility.WriteClientLog(HygeiaEnum.LogType.ErrorLog, "UsersMethod.GetM1RiskInput", "数据库操作异常! error information : " + ex.Message + Environment.NewLine + ex.StackTrace);
                return null;
            }
            finally
            {
                pclsCache.DisConnect();
            }

        }
Beispiel #3
0
        public int SetM1RiskInput(DataConnection pclsCache, string PatientId, M1RiskInput M1RiskInput, int RecordDate, int RecordTime, string piUserId, string piTerminalName, string piTerminalIP, int piDeviceType)
        {
            int ret = 0;
            int fret = 1;
            try
            {
                #region//插入PsVitalSigns表
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "BodySigns", "Height", M1RiskInput.Height.ToString(), "cm", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "BodySigns", "Weight", M1RiskInput.Weight.ToString(), "kg", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "M1", "QG0018", M1RiskInput.AbdominalGirth.ToString(), "mm", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "M1", "QG0007", M1RiskInput.Heartrate.ToString(), "次/分", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "M1", "QG0013", M1RiskInput.SBP.ToString(), "mmHg", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new VitalInfoMethod().SetData(pclsCache, PatientId, RecordDate, RecordTime, "M1", "QG0012", M1RiskInput.DBP.ToString(), "mmHg", piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                #endregion

                #region//插入PsBasicInfoDetail表
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QC0001", 1, M1RiskInput.Parent.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QF0011", 1, M1RiskInput.Smoke.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QA0007", 1, M1RiskInput.Stroke.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QJ0024", 1, M1RiskInput.Lvh.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QB0045", 1, M1RiskInput.Diabetes.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QD0002", 1, M1RiskInput.Treat.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QA0004", 1, M1RiskInput.Heartattack.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QA0005", 1, M1RiskInput.Af.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QA0002", 1, M1RiskInput.Chd.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QA0006", 1, M1RiskInput.Valve.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QH0002", 1, M1RiskInput.Tcho.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QH0001", 1, M1RiskInput.Creatinine.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                ret = new UsersMethod().BasicInfoDetailSetData(pclsCache, PatientId, "M1", "QH0003", 1, M1RiskInput.Hdlc.ToString(), "", 1, piUserId, piTerminalName, piTerminalIP, piDeviceType);
                if (ret == 0)
                {
                    fret = 0;
                }
                #endregion

                return fret;
            }
            catch (Exception ex)
            {
                HygeiaComUtility.WriteClientLog(HygeiaEnum.LogType.ErrorLog, "RiskInfoMethod.SetM1RiskInput", "数据库操作异常! error information : " + ex.Message + Environment.NewLine + ex.StackTrace);
                return 0;
            }
            finally
            {
                pclsCache.DisConnect();
            }
        }
 public M1Risk AddM1Risk(string PatientId, M1RiskInput M1RiskInput, int RecordDate, int RecordTime, string piUserId, string piTerminalName, string piTerminalIP, int piDeviceType)
 {
     return repository.AddM1Risk(pclsCache, PatientId, M1RiskInput, RecordDate, RecordTime, piUserId, piTerminalName, piTerminalIP, piDeviceType);
 }
 public M1Risk AddM1Risk(DataConnection pclsCache, string PatientId, M1RiskInput M1RiskInput, int RecordDate, int RecordTime, string piUserId, string piTerminalName, string piTerminalIP, int piDeviceType)
 {
     M1Risk M1Risk = new M1Risk();
     int ret = 0;
     ret = new RiskInfoMethod().SetM1RiskInput(pclsCache, PatientId, M1RiskInput, RecordDate, RecordTime, piUserId, piTerminalName, piTerminalIP, piDeviceType);
     if (ret == 1)
     {
         M1Risk = new RiskInfoRepository().GetM1Risk(pclsCache, PatientId);
     }
     return M1Risk;
 }
        /// <summary>
        /// 获取高血压风险评估结果 SYF 2015-11-16
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public M1Risk GetM1Risk(DataConnection pclsCache, string UserId)
        {
            M1Risk Output = new M1Risk();
            M1RiskInput Input = new M1RiskInput();
            Input = new RiskInfoRepository().GetM1RiskInput(pclsCache, UserId);
            if (Input != null)
            {
                #region//获取模型所需输入
                int Age = Input.Age;//年龄默认1岁(避免出现0岁)
                int Gender = Input.Gender;//性别男
                int Height = Input.Height;//身高176cm
                int Weight = Input.Weight;//体重69千克
                double BMI = Input.BMI;
                int AbdominalGirth = Input.AbdominalGirth; //腹围
                int Heartrate = Input.Heartrate;//心率
                int Parent = Input.Parent;//父母中至少有一方有高血压
                int Smoke = Input.Smoke;//不抽烟
                int Stroke = Input.Stroke;//没有中风
                int Lvh = Input.Lvh; ;//有左心室肥大
                int Diabetes = Input.Diabetes;//有伴随糖尿病
                int Treat = Input.Treat;//高血压是否在治疗(接受过)没有
                int Heartattack = Input.Heartattack;//有过心脏事件(心血管疾病)
                int Af = Input.Af;//没有过房颤
                int Chd = Input.Chd;//有冠心病(心肌梗塞)
                int Valve = Input.Valve;//没有心脏瓣膜病
                double Tcho = Input.Tcho;//总胆固醇浓度5.2mmol/L
                double Creatinine = Input.Creatinine;//肌酐浓度140μmoI/L
                double Hdlc = Input.Hdlc;//高密度脂蛋白胆固醇1.21g/ml
                int SBP = Input.SBP;//当前收缩压
                int DBP = Input.DBP;//当前舒张压
                #endregion

                #region//用于模型计算时的调整
                if (Gender <= 2)
                {
                    Gender = Gender - 1;
                }
                else
                {
                    Gender = 0;
                }
                if (Gender == 1)//为计算方便,性别值对调
                {
                    Gender = 0;
                }
                else
                {
                    Gender = 1;
                }
                if (Parent > 1)
                {
                    Parent = 0;
                }
                if (Smoke > 1)
                {
                    Smoke = 0;
                }
                if (Stroke > 1)
                {
                    Stroke = 0;
                }
                if (Lvh > 1)
                {
                    Lvh = 0;
                }
                if (Diabetes > 1)
                {
                    Diabetes = 0;
                }
                if (Treat > 1)
                {
                    Treat = 0;
                }
                if (Heartattack > 1)
                {
                    Heartattack = 0;
                }
                if (Af > 1)
                {
                    Af = 0;
                }
                if (Chd > 1)
                {
                    Chd = 0;
                }
                if (Valve > 1)
                {
                    Valve = 0;
                }
                #endregion

                #region//高血压风险
                double Hyperother = -0.15641 * Age - 0.20293 * Gender - 0.19073 * Smoke - 0.16612 * Parent - 0.03388 * BMI;
                Hyperother = Hyperother - 0.05933 * SBP - 0.12847 * DBP + 0.00162 * Age * DBP;
                double Hyper = 1 - Math.Exp(-Math.Exp(((Math.Log(4)) - (22.94954 + Hyperother)) / 0.87692));
                #endregion

                #region//HarvardRiskInfactor这个变量存的是Harvard风险评估计算公式中的风险因数,界面上需要做的是加上收缩压的风险因数,然后代入公式计算。
                int HarvardRiskInfactor = 0;

                //男性风险值
                if (Gender == 1)
                {
                    if (Age <= 39)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 19;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 0;
                        }
                    }
                    else if (Age <= 44 && Age >= 40)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 7;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 4;
                        }
                    }
                    else if (Age <= 49 && Age >= 45)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 7;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 7;
                        }
                    }
                    else if (Age <= 54 && Age >= 50)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 11;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 6;
                        }
                    }
                    else if (Age <= 59 && Age >= 55)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 14;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 6;
                        }
                    }
                    else if (Age <= 64 && Age >= 60)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 18;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 5;
                        }
                    }
                    else if (Age <= 69 && Age >= 65)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 22;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 4;
                        }
                    }
                    else
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 25;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 4;
                        }
                    }
                    //年龄和抽烟的风险值加成
                    if (Tcho < 5)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (Tcho >= 5.0 && Tcho <= 5.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (Tcho >= 6.0 && Tcho <= 6.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    else if (Tcho >= 7.0 && Tcho <= 7.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 5;
                    }
                    else if (Tcho >= 8.0 && Tcho <= 8.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 7;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 9;
                    }
                    //总胆固醇浓度风险值加成
                    if (Height < 145)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 6;
                    }
                    else if (Height >= 145 && Height <= 154)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    else if (Height >= 155 && Height <= 164)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else if (Height >= 165 && Height <= 174)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    //身高风险值加成
                    if (Creatinine < 50)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (Creatinine >= 50 && Creatinine <= 69)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (Creatinine >= 70 && Creatinine <= 89)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (Creatinine >= 90 && Creatinine <= 109)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    //肌酐浓度风险值加成
                    if (Chd == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    //心肌梗塞(冠心病)风险值加成
                    if (Stroke == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    //中风风险值加成 
                    if (Lvh == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    //左室高血压(左心室肥大)风险值加成
                    if (Diabetes == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    //糖尿病风险值加成
                    if (SBP <= 119)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (SBP >= 120 && SBP <= 129)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (SBP >= 130 && SBP <= 139)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (SBP >= 130 && SBP <= 139)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (SBP >= 140 && SBP <= 149)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else if (SBP >= 150 && SBP <= 159)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    else if (SBP >= 160 && SBP <= 169)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 5;
                    }
                    else if (SBP >= 170 && SBP <= 179)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 6;
                    }
                    else if (SBP >= 180 && SBP <= 189)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    else if (SBP >= 190 && SBP <= 199)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 9;
                    }
                    else if (SBP >= 200 && SBP <= 209)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 10;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 11;
                    }
                    //收缩压加成
                }
                //女性风险值计算
                else
                {
                    if (Age <= 39)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 13;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 0;
                        }
                    }
                    else if (Age <= 44 && Age >= 40)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 12;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 5;
                        }
                    }
                    else if (Age <= 49 && Age >= 45)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 11;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 9;
                        }
                    }
                    else if (Age <= 54 && Age >= 50)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 10;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 14;
                        }
                    }
                    else if (Age <= 59 && Age >= 55)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 10;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 18;
                        }
                    }
                    else if (Age <= 64 && Age >= 60)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 9;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 23;
                        }
                    }
                    else if (Age <= 69 && Age >= 65)
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 9;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 27;
                        }
                    }
                    else
                    {
                        if (Smoke == 1)
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 8;
                        }
                        else
                        {
                            HarvardRiskInfactor = HarvardRiskInfactor + 32;
                        }
                    }
                    //年龄和抽烟的风险值加成
                    if (Tcho < 5)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (Tcho >= 5.0 && Tcho <= 5.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (Tcho >= 6.0 && Tcho <= 6.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (Tcho >= 7.0 && Tcho <= 7.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (Tcho >= 8.0 && Tcho <= 8.9)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    //总胆固醇浓度风险值加成
                    if (Height < 145)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 6;
                    }
                    else if (Height >= 145 && Height <= 154)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    else if (Height >= 155 && Height <= 164)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else if (Height >= 165 && Height <= 174)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    //身高风险值加成
                    if (Creatinine < 50)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (Creatinine >= 50 && Creatinine <= 69)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (Creatinine >= 70 && Creatinine <= 89)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (Creatinine >= 90 && Creatinine <= 109)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    //肌酐浓度风险值加成
                    if (Chd == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    //心肌梗塞(冠心病)风险值加成
                    if (Stroke == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    //中风风险值加成 
                    if (Lvh == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    //左室高血压(左心室肥大)风险值加成
                    if (Diabetes == 1)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 9;
                    }
                    //糖尿病风险值加成
                    if (SBP <= 119)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 0;
                    }
                    else if (SBP >= 120 && SBP <= 129)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 1;
                    }
                    else if (SBP >= 130 && SBP <= 139)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (SBP >= 130 && SBP <= 139)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 2;
                    }
                    else if (SBP >= 140 && SBP <= 149)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 3;
                    }
                    else if (SBP >= 150 && SBP <= 159)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 4;
                    }
                    else if (SBP >= 160 && SBP <= 169)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 5;

                    }
                    else if (SBP >= 170 && SBP <= 179)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 6;
                    }
                    else if (SBP >= 180 && SBP <= 189)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 7;
                    }
                    else if (SBP >= 190 && SBP <= 199)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 8;
                    }
                    else if (SBP >= 200 && SBP <= 209)
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 9;
                    }
                    else
                    {
                        HarvardRiskInfactor = HarvardRiskInfactor + 10;
                    }
                    //收缩压加成
                }
                #endregion//以上是女性风险值
                double Harvard = 6.304 * Math.Pow(10, -8) * Math.Pow(HarvardRiskInfactor, 5) - 5.027 * Math.Pow(10, -6) * Math.Pow(HarvardRiskInfactor, 4) + 0.0001768 * Math.Pow(HarvardRiskInfactor, 3) - 0.001998 * Math.Pow(HarvardRiskInfactor, 2) + 0.01294 * HarvardRiskInfactor + 0.0409;
                Harvard = Harvard / 100;

                #region//FraminghamRiskInfactor这个变量存的是Framingham风险评估计算公式中的风险因数,界面上需要做的是加上收缩压的风险因数,然后代入公式计算。
                //这个Framingham模型也是需要收缩压值的,分为接受过治疗的血压和未接受过治疗的血压,模型分为男女进行计算,因为不同性别公式不同
                double FraminghamRiskInfactor = 0.0;
                double Framingham = 0.0;
                if (Gender == 1) //男性
                {
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Age) * 3.06117;//性别
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Tcho) * 1.12370;//总胆固醇
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Hdlc) * (-0.93263);//高密度脂蛋白胆固醇
                    if (Smoke == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 0.65451;//抽烟
                    }
                    if (Diabetes == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 0.57367;//抽烟
                    }
                    if (Treat == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 1.99881 * Math.Log(SBP);
                    }
                    else
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 1.93303 * Math.Log(SBP);
                    }
                    Framingham = 1 - Math.Pow(0.88936, Math.Exp(FraminghamRiskInfactor - 23.9802));
                }
                else //女性
                {
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Age) * 2.3288;//性别
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Tcho) * 1.20904;//总胆固醇
                    FraminghamRiskInfactor = FraminghamRiskInfactor + Math.Log(Hdlc) * (-0.70833);//高密度脂蛋白胆固醇
                    if (Smoke == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 0.52873;//抽烟
                    }
                    if (Diabetes == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 0.69154;//抽烟
                    }
                    if (Treat == 1)
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 2.82263 * Math.Log(SBP);
                    }
                    else
                    {
                        FraminghamRiskInfactor = FraminghamRiskInfactor + 2.76157 * Math.Log(SBP);
                    }
                    Framingham = 1 - Math.Pow(0.95012, Math.Exp(FraminghamRiskInfactor - 26.1931));
                }
                #endregion

                #region//StrokeRiskInfactor这个变量存的是中风风险评估计算公式中的风险因数,界面上需要做的是加上收缩压的风险因数,然后计算。
                int StrokeRiskInfactor = 0;
                double StrokeRisk = 0.0;
                if (Gender == 1) //男性
                {
                    if (Age <= 56)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 0;
                    }
                    else if (Age >= 57 && Age <= 59)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 1;
                    }
                    else if (Age >= 60 && Age <= 62)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 2;
                    }
                    else if (Age >= 63 && Age <= 65)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 3;
                    }
                    else if (Age >= 66 && Age <= 68)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 4;
                    }
                    else if (Age >= 69 && Age <= 72)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 5;
                    }
                    else if (Age >= 73 && Age <= 75)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 6;
                    }
                    else if (Age >= 76 && Age <= 78)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 7;
                    }
                    else if (Age >= 79 && Age <= 81)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 8;
                    }
                    else if (Age >= 82 && Age <= 84)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 9;
                    }
                    else
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 10;
                    }
                    if (Diabetes == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 2;
                    }
                    //糖尿病风险值加成
                    if (Smoke == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 3;
                    }
                    //吸烟风险值加成
                    if (Heartattack == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 4;
                    }
                    //心血管疾病史(心脏事件)风险值加成
                    if (Af == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 4;
                    }
                    //房颤风险值加成
                    if (Lvh == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 5;
                    }
                    if (Treat != 1) //没有治疗过高血压的情况
                    {
                        if (SBP <= 105)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 0;
                        }
                        else if (SBP >= 106 && SBP <= 115)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 1;
                        }
                        else if (SBP >= 116 && SBP <= 125)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 2;
                        }
                        else if (SBP >= 126 && SBP <= 135)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 3;
                        }
                        else if (SBP >= 136 && SBP <= 145)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 4;
                        }
                        else if (SBP >= 146 && SBP <= 155)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 5;
                        }
                        else if (SBP >= 156 && SBP <= 165)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 6;
                        }
                        else if (SBP >= 166 && SBP <= 175)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 7;
                        }
                        else if (SBP >= 176 && SBP <= 185)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 8;
                        }
                        else if (SBP >= 186 && SBP <= 195)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 9;
                        }
                        else
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 10;
                        }
                    }
                    else//治疗过高血压的情况
                    {
                        if (SBP <= 105)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 0;
                        }
                        else if (SBP >= 106 && SBP <= 112)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 1;
                        }
                        else if (SBP >= 113 && SBP <= 117)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 2;
                        }
                        else if (SBP >= 118 && SBP <= 123)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 3;
                        }
                        else if (SBP >= 124 && SBP <= 129)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 4;
                        }
                        else if (SBP >= 130 && SBP <= 135)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 5;
                        }
                        else if (SBP >= 136 && SBP <= 142)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 6;
                        }
                        else if (SBP >= 143 && SBP <= 150)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 7;
                        }
                        else if (SBP >= 151 && SBP <= 161)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 8;
                        }
                        else if (SBP >= 162 && SBP <= 176)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 9;
                        }
                        else
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 10;
                        }
                    }
                    double[] Risk = new double[] { 3, 3, 4, 4, 5, 5, 6, 7, 8, 10, 11, 13, 15, 17, 20, 22, 26, 29, 33, 37, 42, 47, 52, 57, 63, 68, 74, 79, 84, 88 };
                    StrokeRisk = Risk[StrokeRiskInfactor - 1] / 100;
                }
                else //女性
                {
                    if (Age <= 56)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 0;
                    }
                    else if (Age >= 57 && Age <= 59)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 1;
                    }
                    else if (Age >= 60 && Age <= 62)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 2;
                    }
                    else if (Age >= 63 && Age <= 64)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 3;
                    }
                    else if (Age >= 65 && Age <= 67)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 4;
                    }
                    else if (Age >= 68 && Age <= 70)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 5;
                    }
                    else if (Age >= 71 && Age <= 73)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 6;
                    }
                    else if (Age >= 74 && Age <= 76)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 7;
                    }
                    else if (Age >= 77 && Age <= 78)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 8;
                    }
                    else if (Age >= 79 && Age <= 81)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 9;
                    }
                    else
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 10;
                    }
                    if (Diabetes == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 3;
                    }
                    //糖尿病风险值加成
                    if (Smoke == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 3;
                    }
                    //吸烟风险值加成
                    if (Heartattack == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 2;
                    }
                    //心血管疾病史(心脏事件)风险值加成
                    if (Af == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 6;
                    }
                    //房颤风险值加成
                    if (Lvh == 1)
                    {
                        StrokeRiskInfactor = StrokeRiskInfactor + 4;
                    }
                    if (Treat != 1) //没有治疗过高血压的情况
                    {
                        if (SBP <= 94)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 0;
                        }
                        else if (SBP >= 95 && SBP <= 106)
                        {


                            StrokeRiskInfactor = StrokeRiskInfactor + 1;
                        }
                        else if (SBP >= 107 && SBP <= 118)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 2;
                        }
                        else if (SBP >= 119 && SBP <= 130)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 3;
                        }
                        else if (SBP >= 131 && SBP <= 143)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 4;
                        }
                        else if (SBP >= 144 && SBP <= 155)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 5;
                        }
                        else if (SBP >= 156 && SBP <= 167)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 6;
                        }
                        else if (SBP >= 168 && SBP <= 180)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 7;
                        }
                        else if (SBP >= 181 && SBP <= 192)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 8;
                        }
                        else if (SBP >= 193 && SBP <= 204)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 9;
                        }
                        else
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 10;
                        }
                    }
                    else//治疗过高血压的情况
                    {
                        if (SBP <= 94)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 0;
                        }
                        else if (SBP >= 95 && SBP <= 106)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 1;
                        }
                        else if (SBP >= 107 && SBP <= 113)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 2;
                        }
                        else if (SBP >= 114 && SBP <= 119)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 3;
                        }
                        else if (SBP >= 120 && SBP <= 125)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 4;
                        }
                        else if (SBP >= 126 && SBP <= 131)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 5;
                        }
                        else if (SBP >= 132 && SBP <= 139)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 6;
                        }
                        else if (SBP >= 140 && SBP <= 148)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 7;
                        }
                        else if (SBP >= 149 && SBP <= 160)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 8;
                        }
                        else if (SBP >= 161 && SBP <= 204)
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 9;
                        }
                        else
                        {
                            StrokeRiskInfactor = StrokeRiskInfactor + 10;
                        }
                    }
                    double[] Risk = new double[] { 1, 1, 2, 2, 2, 3, 4, 4, 5, 6, 8, 9, 11, 13, 16, 19, 23, 27, 32, 37, 43, 50, 57, 64, 71, 78, 84 };
                    StrokeRisk = Risk[StrokeRiskInfactor - 1] / 100;
                }
                #endregion

                #region//HeartFailureRiskInfactor这个变量存的是心衰风险评估计算公式中的风险因数,界面上需要做的是加上收缩压的风险因数,然后计算。
                int HeartFailureRiskInfactor = 0;
                double HeartFailureRisk = 0.0;
                if (Gender == 1) //男性
                {
                    if (Age <= 49)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (Age >= 50 && Age <= 54)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (Age >= 55 && Age <= 59)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else if (Age >= 60 && Age <= 64)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    else if (Age >= 65 && Age <= 69)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 4;
                    }
                    else if (Age >= 70 && Age <= 74)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }
                    else if (Age >= 75 && Age <= 79)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 6;
                    }
                    else if (Age >= 80 && Age <= 84)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 7;
                    }
                    else if (Age >= 85 && Age <= 89)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 8;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 9;
                    }
                    if (Heartrate <= 54)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (Heartrate >= 55 && Heartrate <= 64)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (Heartrate >= 65 && Heartrate <= 79)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else if (Heartrate >= 80 && Heartrate <= 89)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    else if (Heartrate >= 90 && Heartrate <= 104)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 4;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }
                    //心率风险值加成
                    if (Lvh == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 4;
                    }
                    //左心室肥大(左室高血压)风险值加成
                    if (Chd == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 8;
                    }
                    //冠心病风险值加成
                    if (Valve == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }
                    //瓣膜疾病风险值加成
                    if (Smoke == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    //糖尿病风险值加成
                    if (SBP <= 119)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (SBP >= 120 && SBP <= 139)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (SBP >= 140 && SBP <= 169)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else if (SBP >= 170 && SBP <= 189)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    else if (SBP >= 190 && SBP <= 219)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 4;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }

                    if (HeartFailureRiskInfactor <= 5)
                    {
                        HeartFailureRisk = 1;
                    }
                    else if (HeartFailureRiskInfactor > 5 && HeartFailureRiskInfactor < 14)
                    {
                        HeartFailureRisk = 3;
                    }
                    else if (HeartFailureRiskInfactor >= 14 && HeartFailureRiskInfactor < 16)
                    {
                        HeartFailureRisk = 5;
                    }
                    else if (HeartFailureRiskInfactor >= 16 && HeartFailureRiskInfactor < 18)
                    {
                        HeartFailureRisk = 8;
                    }
                    else if (HeartFailureRiskInfactor >= 18 && HeartFailureRiskInfactor < 20)
                    {
                        HeartFailureRisk = 11;
                    }
                    else if (HeartFailureRiskInfactor >= 20 && HeartFailureRiskInfactor < 22)
                    {
                        HeartFailureRisk = 11;
                    }
                    else if (HeartFailureRiskInfactor >= 22 && HeartFailureRiskInfactor < 24)
                    {
                        HeartFailureRisk = 22;
                    }
                    else if (HeartFailureRiskInfactor >= 24 && HeartFailureRiskInfactor < 25)
                    {
                        HeartFailureRisk = 30;
                    }
                    else if (HeartFailureRiskInfactor >= 25 && HeartFailureRiskInfactor < 26)
                    {
                        HeartFailureRisk = 34;
                    }
                    else if (HeartFailureRiskInfactor >= 26 && HeartFailureRiskInfactor < 27)
                    {
                        HeartFailureRisk = 39;
                    }
                    else if (HeartFailureRiskInfactor >= 27 && HeartFailureRiskInfactor < 28)
                    {
                        HeartFailureRisk = 44;
                    }
                    else if (HeartFailureRiskInfactor >= 28 && HeartFailureRiskInfactor < 29)
                    {
                        HeartFailureRisk = 49;
                    }
                    else if (HeartFailureRiskInfactor >= 29 && HeartFailureRiskInfactor < 30)
                    {
                        HeartFailureRisk = 54;
                    }
                    else
                    {
                        HeartFailureRisk = 59;
                    }

                    HeartFailureRisk = HeartFailureRisk / 100;
                }
                else //女性
                {
                    if (Age <= 49)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (Age >= 50 && Age <= 54)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (Age >= 55 && Age <= 59)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else if (Age >= 60 && Age <= 64)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    else if (Age >= 65 && Age <= 69)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 4;
                    }
                    else if (Age >= 70 && Age <= 74)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }
                    else if (Age >= 75 && Age <= 79)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 6;
                    }
                    else if (Age >= 80 && Age <= 84)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 7;
                    }
                    else if (Age >= 85 && Age <= 89)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 8;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 9;
                    }
                    //年龄的风险加权值
                    if (Heartrate < 60)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (Heartrate >= 60 && Heartrate <= 79)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (Heartrate >= 80 && Heartrate <= 104)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    //心率风险值加成
                    if (Lvh == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 5;
                    }
                    //左心室肥大(左室高血压)风险值加成
                    if (Chd == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 6;
                    }
                    //冠心病风险值加成
                    if (Valve == 1)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 6;
                        if (Smoke == 1)
                        {
                            HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                        }
                    }
                    else
                    {
                        if (Smoke == 1)
                        {
                            HeartFailureRiskInfactor = HeartFailureRiskInfactor + 6;
                        }
                    }
                    //瓣膜疾病和糖尿病风险值加成
                    if (BMI < 21)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (BMI >= 21 && BMI <= 25)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else if (BMI > 25 && BMI <= 29)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 3;
                    }
                    if (SBP < 140)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 0;
                    }
                    else if (SBP >= 140 && SBP <= 209)
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 1;
                    }
                    else
                    {
                        HeartFailureRiskInfactor = HeartFailureRiskInfactor + 2;
                    }

                    if (HeartFailureRiskInfactor < 10)
                    {
                        HeartFailureRisk = 1;
                    }
                    else if (HeartFailureRiskInfactor <= 28)
                    {
                        double[] Risk = new double[] { 2, 2, 3, 3, 4, 5, 7, 9, 11, 14, 17, 21, 25, 30, 36, 42, 48, 54, 60 };
                        HeartFailureRisk = Risk[HeartFailureRiskInfactor - 10];
                    }
                    else
                    {
                        HeartFailureRisk = 60;
                    }
                    HeartFailureRisk = HeartFailureRisk / 100;
                }
                #endregion

                #region//输出数据
                Output.Hyper = Math.Round(Hyper * 100, 2);
                Output.Harvard = Math.Round(Harvard * 100, 2);
                Output.Framingham = Math.Round(Framingham * 100, 2);
                Output.StrokeRisk = Math.Round(StrokeRisk * 100, 2);
                Output.HeartFailureRisk = Math.Round(HeartFailureRisk * 100, 2);
                Output.SBP = SBP;
                Output.DBP = DBP;
                #endregion
            }
            else 
            {
                Output = null;
            }
            return Output;
        }