Пример #1
0
        /// <summary>
        /// 函数说明: 根据ICD类别插入ICD表 Creator: [email protected]  2005/06/01
        /// </summary>
        /// <param name="obj">ICD类型</param>
        /// <param name="type">查询类型 </param>
        /// <returns> 错误返回 -1 成功返回  插入操作影响的行数 </returns>
        public int Insert(Neusoft.HISFC.Models.HealthRecord.ICD obj, Neusoft.HISFC.Models.HealthRecord.EnumServer.ICDTypes type)
        {
            //定义字符变量,存储SQL语句
            string strSql = "";
            //唯一主键
            string sSequenceNo = "";

            //获得SQL语句
            switch (type)
            {
            case ICDTypes.ICD10:
                //获得插入ICD10的SQL语句
                if (this.Sql.GetSql("Case.ICDDML.Insert.ICD10", ref strSql) == -1)
                {
                    this.Err = "获得SQL语句出错!没有找到索引Case.ICDDML.Insert.ICD10";
                    return(-1);
                }
                //获得主键
                obj.KeyCode = this.GetSequence("Case.ICDDML.GetSeq.ICD10");
                if (obj.KeyCode == "" || sSequenceNo == null)
                {
                    this.Err = "获得ICD10主键流水号出错!";
                    return(-1);
                }
                break;

            case ICDTypes.ICD9:
                //获得插入 ICD9的SQL语句
                if (this.Sql.GetSql("Case.ICDDML.Insert.ICD9", ref strSql) == -1)
                {
                    this.Err = "获得SQL语句出错!没有找到索引Case.ICDDML.Insert.ICD9";
                    return(-1);
                }
                //获得主键
                obj.KeyCode = this.GetSequence("Case.ICDDML.GetSeq.ICD9");
                if (obj.KeyCode == "" || sSequenceNo == null)
                {
                    this.Err = "获得ICD9主键流水号出错!";
                    return(-1);
                }
                break;

            case ICDTypes.ICDOperation:
                //获得插入手术的SQL语句
                if (this.Sql.GetSql("Case.ICDDML.Insert.ICDOperation", ref strSql) == -1)
                {
                    this.Err = "获得SQL语句出错!没有找到索引Case.ICDDML.Insert.ICDOperation";
                    return(-1);
                }
                //获得主键
                obj.KeyCode = this.GetSequence("Case.ICDDML.GetSeq.ICDOperation");
                if (obj.KeyCode == "" || sSequenceNo == null)
                {
                    this.Err = "获得ICDOperation主键流水号出错!";
                    return(-1);
                }
                break;
            }
            return(this.ExecNoQuery(strSql, GetICDParam(obj)));
        }
Пример #2
0
 private int GetInfo()
 {
     try
     {
         Neusoft.HISFC.Models.HealthRecord.ICD item = null;
         if (this.ucDiagnose1.GetItem(ref item) == -1)
         {
             //MessageBox.Show("获取项目出错!","提示");
             return(-1);
         }
         //			this.contralActive.Text=(item as Neusoft.HISFC.Models.HealthRecord.ICD).Name;
         //			this.contralActive.Tag=item;
         //			this.ucDiag1.Visible=false;
         if (item == null)
         {
             return(-1);
         }
         //ICD诊断名称
         fpEnter1_Sheet1.Cells[this.fpEnter1_Sheet1.ActiveRowIndex, (int)EnumCol.Icd10Code].Text = item.ID;
         //ICD诊断编码
         fpEnter1_Sheet1.Cells[this.fpEnter1_Sheet1.ActiveRowIndex, (int)EnumCol.Icd10Name].Text = item.Name;
         ucDiagnose1.Visible = false;
         fpEnter1.Focus();
         fpEnter1_Sheet1.SetActiveCell(fpEnter1_Sheet1.ActiveRowIndex, (int)EnumCol.OutState);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     return(0);
 }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="orgICD"></param>
 /// <param name="newICD"></param>
 /// <returns></returns>
 private string[] GetICDParam(Neusoft.HISFC.Models.HealthRecord.ICD newICD)
 {
     string[] str = new string[] {
         newICD.KeyCode,                                                         //0
         newICD.ID,
         newICD.SICode,                                                          //1
         newICD.UserCode,                                                        //2
         newICD.SpellCode,                                                       //3
         newICD.WBCode,                                                          //4
         newICD.Name,                                                            //5
         newICD.User01,                                                          //6
         newICD.User02,                                                          //7
         newICD.DeadReason,                                                      //8
         newICD.DiseaseCode,                                                     //9
         newICD.StandardDays.ToString(),                                         //10
         newICD.Is30Illness,                                                     //11
         newICD.IsInfection,                                                     //12
         newICD.IsTumour,                                                        //13
         newICD.InpGrade,                                                        //14
         Neusoft.FrameWork.Function.NConvert.ToInt32(newICD.IsValid).ToString(), //15
         newICD.SeqNo,                                                           //16
         newICD.OperInfo.ID,                                                     //17
         newICD.User01,                                                          //18
         newICD.SexType.ID.ToString(),                                           //19
         Neusoft.FrameWork.Function.NConvert.ToInt32(newICD.TraditionalDiag).ToString()
     };
     return(str);
 }
Пример #4
0
 /// <summary>
 /// 在未对照的ICD9中增加一条
 /// </summary>
 private void AddICD9(string code)
 {
     try
     {
         //定义动态数组 存储
         ArrayList alReturn = new ArrayList();
         //定义业务层实体类
         Neusoft.HISFC.Models.HealthRecord.ICD orgICD = new Neusoft.HISFC.Models.HealthRecord.ICD();
         //查询 对应的ICD9信息
         alReturn = myICD.IsExistAndReturn(code, ICDTypes.ICD9, true);
         if (alReturn == null)
         {
             MessageBox.Show("获得ICD信息出错!" + myICD.Err);
             return;
         }
         try
         {
             orgICD = alReturn[0] as Neusoft.HISFC.Models.HealthRecord.ICD;
         }
         catch (Exception ex)
         {
             MessageBox.Show("获得ICD信息出错!" + ex.Message);
             return;
         }
         DataRow row = dtICD9.NewRow();
         SetRow(orgICD, row);
         dtICD9.Rows.Add(row);
         dtICD9.AcceptChanges();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Пример #5
0
        /// <summary>
        /// 从Reader  中读取数据
        /// </summary>
        /// <returns> 出现未处理的错误返回 null 有记录list.Count >1  没有记录 list.Count =0</returns>
        /// Creator: [email protected]  2005/06/01
        private ArrayList ICDReaderInfo()
        {
            //定义 动态数组, 用来存储读出的信息
            ArrayList list = new ArrayList();

            try
            {
                //定义实体
                Neusoft.HISFC.Models.HealthRecord.ICD icd = null;
                while (this.Reader.Read())
                {
                    icd = new Neusoft.HISFC.Models.HealthRecord.ICD();

                    icd.KeyCode       = Reader[0].ToString();                                                 //ICD主键
                    icd.ID            = Reader[1].ToString();                                                 //ICD编码
                    icd.SICode        = Reader[2].ToString();                                                 //医保中心代码
                    icd.UserCode      = Reader[3].ToString();                                                 //统计代码
                    icd.SpellCode     = Reader[4].ToString();                                                 //拼音码
                    icd.WBCode        = Reader[5].ToString();                                                 //五笔码
                    icd.Name          = Reader[6].ToString();                                                 //ICD名称
                    icd.User01        = Reader[7].ToString();                                                 //疾病名称1
                    icd.User02        = Reader[8].ToString();                                                 //疾病名称2
                    icd.DeadReason    = Reader[9].ToString();                                                 //死亡原因
                    icd.DiseaseCode   = Reader[10].ToString();                                                //疾病分类代码
                    icd.StandardDays  = Neusoft.FrameWork.Function.NConvert.ToInt32(Reader[11].ToString());   //标准住院日
                    icd.Is30Illness   = Reader[12].ToString();                                                //是否30种疾病
                    icd.IsInfection   = Reader[13].ToString();                                                //是否传染病
                    icd.IsTumour      = Reader[14].ToString();                                                //是否恶性肿瘤
                    icd.InpGrade      = Reader[15].ToString();                                                //住院等级
                    icd.IsValid       = Neusoft.FrameWork.Function.NConvert.ToBoolean(Reader[16].ToString()); //是否有效
                    icd.SeqNo         = Reader[17].ToString();                                                //序号
                    icd.OperInfo.ID   = Reader[18].ToString();
                    icd.OperInfo.Name = Reader[19].ToString();
                    if (!Reader.IsDBNull(20))
                    {
                        icd.OperInfo.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(Reader[20].ToString());
                    }
                    icd.User01          = Reader[21].ToString(); //副诊断码
                    icd.SexType.ID      = Reader[22].ToString(); //适用性别
                    icd.TraditionalDiag = Neusoft.FrameWork.Function.NConvert.ToBoolean(Reader[23].ToString());
                    list.Add(icd);                               //填充数据
                    icd = null;
                }
                this.Reader.Close(); //关闭reade
            }
            catch (Exception ex)
            {
                this.Err = ex.Message;

                if (!this.Reader.IsClosed) // 判断是否关闭了Reader
                {
                    this.Reader.Close();   //没有关闭则先关闭
                }

                return(null); //出现错误返回null
            }

            return(list);
        }
Пример #6
0
 /// <summary>
 /// 获取修改或新增的信息
 /// </summary>
 private void GetICDinfo()
 {
     try
     {
         if (editType == EditTypes.Add)
         {
             newICD.User01          = textSeqNO.Text;                                                              //副诊断码
             newICD.ID              = this.textICDid.Text;                                                         //ICD编码
             newICD.Name            = this.textICDName.Text;                                                       //ICD名称
             newICD.SpellCode       = this.textSpellCode.Text;                                                     //拼音码
             newICD.WBCode          = this.WBCode.Text;                                                            //五笔码
             newICD.UserCode        = this.textUserCode.Text;                                                      //统计码
             newICD.Is30Illness     = Neusoft.FrameWork.Function.NConvert.ToInt32(Is30Illness.Checked).ToString(); //是否是30种疾病
             newICD.IsInfection     = Neusoft.FrameWork.Function.NConvert.ToInt32(IsInfection.Checked).ToString(); //是否是传染病
             newICD.IsTumour        = Neusoft.FrameWork.Function.NConvert.ToInt32(IsTumour.Checked).ToString();    //;            //是否是肿瘤
             newICD.IsValid         = true;
             newICD.SexType.ID      = this.SexComBox.Tag.ToString();                                               //适用性别
             newICD.SexType.Name    = this.SexComBox.Text;
             newICD.TraditionalDiag = cbTraditional.Checked;
         }
         if (editType == EditTypes.Modify)
         {
             newICD                 = orgICD.Clone();
             newICD.User01          = textSeqNO.Text;                                                              //副诊断码
             newICD.Name            = this.textICDName.Text;                                                       //ICD名称
             newICD.SpellCode       = this.textSpellCode.Text;                                                     //拼音码
             newICD.WBCode          = this.WBCode.Text;                                                            //五笔码
             newICD.UserCode        = this.textUserCode.Text;                                                      //统计码
             newICD.Is30Illness     = Neusoft.FrameWork.Function.NConvert.ToInt32(Is30Illness.Checked).ToString(); //是否是30种疾病
             newICD.IsInfection     = Neusoft.FrameWork.Function.NConvert.ToInt32(IsInfection.Checked).ToString(); //是否是传染病
             newICD.IsTumour        = Neusoft.FrameWork.Function.NConvert.ToInt32(IsTumour.Checked).ToString();    //;            //是否是肿瘤
             newICD.IsValid         = this.IsValid.Checked;                                                        //有效性
             newICD.SexType.ID      = this.SexComBox.Tag.ToString();                                               //适用性别
             newICD.SexType.Name    = this.SexComBox.Text;
             newICD.TraditionalDiag = cbTraditional.Checked;
         }
         #region 取操作员 和操作时间
         //这个地方不是很准,只是暂时给前台显示用。
         Neusoft.HISFC.BizLogic.HealthRecord.ICD icd = new Neusoft.HISFC.BizLogic.HealthRecord.ICD();
         //操作员 编码 姓名
         newICD.OperInfo.ID   = icd.Operator.ID;
         newICD.OperInfo.Name = icd.Operator.Name;
         //操作时间
         newICD.OperInfo.OperTime = icd.GetDateTimeFromSysDateTime();
         #endregion
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        /// <summary>
        /// 重载保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="neuObject"></param>
        /// <returns></returns>
        protected override int OnSave(object sender, object neuObject)
        {
            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();
            this.deptDiagManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            bool isAddData = false;

            for (int i = 0; i < this.neuFpEnter1_Sheet1.RowCount; i++)
            {
                if (this.neuFpEnter1_Sheet1.Cells[i, 6].Text == "NEW")
                {
                    Neusoft.FrameWork.Models.NeuObject    obj = new Neusoft.FrameWork.Models.NeuObject();
                    Neusoft.HISFC.Models.HealthRecord.ICD icd = this.neuFpEnter1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.HealthRecord.ICD;
                    obj.ID     = this.deptID;
                    obj.Name   = icd.KeyCode;
                    obj.Memo   = icd.Name;
                    obj.User01 = icd.SpellCode;
                    obj.User02 = this.currOper.ID;

                    int iReturn = this.deptDiagManager.InsertDeptDiag(obj);

                    if (iReturn < 0)
                    {
                        Neusoft.FrameWork.Management.PublicTrans.RollBack();
                        MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存失败!" + this.deptDiagManager.Err));
                        return(-1);
                    }
                }
            }
            Neusoft.FrameWork.Management.PublicTrans.Commit();

            for (int i = 0; i < this.neuFpEnter1_Sheet1.RowCount; i++)
            {
                if (this.neuFpEnter1_Sheet1.Cells[i, 6].Text == "NEW")
                {
                    this.neuFpEnter1_Sheet1.Cells[i, 6].Text = "";
                    isAddData = true;
                }
            }
            if (isAddData)
            {
                MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存成功!"));
            }
            else
            {
                MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("没有需要保存的数据!"));
            }

            return(base.OnSave(sender, neuObject));
        }
Пример #8
0
        /// <summary>
        /// 插入变更信息
        /// </summary>
        /// <param name="orgICD">变更前状态</param>
        /// <param name="newICD">变更后状态</param>
        /// <param name="type">诊断类型枚举</param>
        /// <returns>-1 出错  >=1成功</returns>
        /// Creator: [email protected]  2005/06/01
        private int InsertShift(Neusoft.HISFC.Models.HealthRecord.ICD orgICD, Neusoft.HISFC.Models.HealthRecord.ICD newICD, ICDTypes type)
        {
            try
            {
                //定义字符变量,存储SQL语句
                string strSql = "";
                //根据type获得SQL语句
                switch (type)
                {
                case ICDTypes.ICD10:
                    //获取SQL 语句
                    if (this.Sql.GetSql("Case.ICDDML.InsertShift.ICD10", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错";
                        return(-1);
                    }
                    break;

                case ICDTypes.ICD9:
                    //获取SQL 语句
                    if (this.Sql.GetSql("Case.ICDDML.InsertShift.ICD9", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错";
                        return(-1);
                    }
                    break;

                case ICDTypes.ICDOperation:
                    //获取SQL 语句
                    if (this.Sql.GetSql("Case.ICDDML.InsertShift.ICDOperation", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错";
                        return(-1);
                    }
                    break;
                    //赋值
                }
                //执行插入操作
                return(this.ExecNoQuery(strSql, GetICDLogParam(orgICD, newICD)));
            }
            catch (Exception ex)
            {
                this.Err = ex.Message; //发生未处理异常
                return(-1);
            }
        }
        private void txtInput_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up)
            {
                this.ucDiagnose1.PriorRow();
            }
            if (e.KeyCode == Keys.Down)
            {
                this.ucDiagnose1.NextRow();
            }
            if (e.KeyCode == Keys.Enter)
            {
                Neusoft.HISFC.Models.HealthRecord.ICD icd = new Neusoft.HISFC.Models.HealthRecord.ICD();
                this.ucDiagnose1.GetItem(ref icd);
                if (icd != null)
                {
                    for (int i = 0; i < this.neuFpEnter1_Sheet1.RowCount; i++)
                    {
                        if (icd.ID == this.neuFpEnter1_Sheet1.Cells[i, 1].Text.Trim())
                        {
                            MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("列表中已存在" + icd.Name + "!"));
                            return;
                        }
                    }
                    this.txtInput.Tag = icd;

                    this.neuFpEnter1_Sheet1.Rows.Add(0, 1);
                    this.neuFpEnter1_Sheet1.Cells[0, 0].Text  = icd.KeyCode.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 1].Text  = icd.ID.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 2].Text  = icd.Name.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 3].Text  = this.currOper.Name.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 4].Text  = DateTime.Now.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 5].Value = icd.IsValid;
                    this.neuFpEnter1_Sheet1.Cells[0, 6].Text  = "NEW";

                    this.neuFpEnter1_Sheet1.Rows[0].Tag = icd;
                }
                this.ucDiagnose1.Visible = false;

                e.Handled = true;
            }
            if (e.KeyCode == Keys.Escape)
            {
                this.ucDiagnose1.Visible = false;
            }
        }
Пример #10
0
        /// <summary>
        /// 从ICD9 列表 中删除 对照完的行
        /// </summary>
        private void DeleteICD9(Neusoft.HISFC.Models.HealthRecord.ICD obj)
        {
            if (dtICD9.Rows.Count < 1)
            {
                //没有数据可删除
                return;
            }
            object[] findObj = new object[] { obj.KeyCode };

            DataRow row = this.dtICD9.Rows.Find(findObj);

            if (row == null)
            {
                MessageBox.Show("查找ICD信息出错!");
                return;
            }

            dtICD9.Rows.Remove(row);
        }
Пример #11
0
 /// <summary>
 /// frmICDInfo自定义事件,弹出窗口确定按钮按下后触发
 /// </summary>
 /// <param name="info"></param>
 private void icdInfo_SaveButtonClick(Neusoft.HISFC.Models.HealthRecord.ICD info)
 {
     try
     {
         //处理事件
         if (editType == EditTypes.Add)
         {
             //定义变量
             DataRow row = ds.Tables[0].NewRow();
             //增加一行
             SetRow(info, row);
             ds.Tables[0].Rows.Add(row);
         }
         else
         {
             object[] keys = new object[] { info.KeyCode };
             DataRow  row  = ds.Tables[0].Rows.Find(keys);
             if (row == null)
             {
                 MessageBox.Show("查找项目出错!");
                 return;
             }
             else
             {
                 SetRow(info, row);
             }
         }
         ds.Tables[0].AcceptChanges();
         LockFp();
         //				//设置fpSpread1 的属性
         //				if(System.IO.File.Exists(this.filePath))
         //				{
         //					Neusoft.FrameWork.WinForms.Classes.CustomerFp.ReadColumnProperty(this.fpSpread1_Sheet1, this.filePath);
         //
         //				}
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        private int GetInfo()
        {
            try
            {
                Neusoft.HISFC.Models.HealthRecord.ICD icd = null;
                if (this.ucDiagnose1.GetItem(ref icd) == -1)
                {
                    return(-1);
                }
                if (icd != null)
                {
                    for (int i = 0; i < this.neuFpEnter1_Sheet1.RowCount; i++)
                    {
                        if (icd.ID == this.neuFpEnter1_Sheet1.Cells[i, 1].Text.Trim())
                        {
                            MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("列表中已存在" + icd.Name + "!"));
                            return(-1);
                        }
                    }
                    this.txtInput.Tag = icd;

                    this.neuFpEnter1_Sheet1.Rows.Add(0, 1);
                    this.neuFpEnter1_Sheet1.Cells[0, 0].Text  = icd.KeyCode.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 1].Text  = icd.ID.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 2].Text  = icd.Name.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 3].Text  = this.currOper.Name.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 4].Text  = DateTime.Now.ToString();
                    this.neuFpEnter1_Sheet1.Cells[0, 5].Value = icd.IsValid;
                    this.neuFpEnter1_Sheet1.Cells[0, 6].Text  = "NEW";

                    this.neuFpEnter1_Sheet1.Rows[0].Tag = icd;
                }
                this.ucDiagnose1.Visible = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return(1);
        }
Пример #13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="orgICD"></param>
 /// <param name="newICD"></param>
 /// <returns></returns>
 private string[] GetICDLogParam(Neusoft.HISFC.Models.HealthRecord.ICD orgICD, Neusoft.HISFC.Models.HealthRecord.ICD newICD)
 {
     string[] str = new string[] {
         orgICD.ID,
         orgICD.SICode,
         orgICD.UserCode,
         orgICD.SpellCode,
         orgICD.WBCode,
         orgICD.Name,
         orgICD.User01,
         orgICD.User02,
         orgICD.DeadReason,
         orgICD.DiseaseCode,
         orgICD.StandardDays.ToString(),
         orgICD.Is30Illness,
         orgICD.IsInfection,
         orgICD.IsTumour,
         orgICD.InpGrade,
         Neusoft.FrameWork.Function.NConvert.ToInt32(orgICD.IsValid).ToString(),
         newICD.SICode,
         newICD.UserCode,
         newICD.SpellCode,
         newICD.WBCode,
         newICD.Name,
         newICD.User01,
         newICD.User02,
         newICD.DeadReason,
         newICD.DiseaseCode,
         newICD.StandardDays.ToString(),
         newICD.Is30Illness,
         newICD.IsInfection,
         newICD.IsTumour,
         newICD.InpGrade,
         Neusoft.FrameWork.Function.NConvert.ToInt32(newICD.IsValid).ToString(),
         this.Operator.ID
     };
     return(str);
 }
Пример #14
0
        /// <summary>
        /// 获取ICD9数据,填充到TexBox中
        /// </summary>
        private void AddInfoICD10()
        {
            if (fpSpread1_Sheet1.Rows.Count == 0)
            {
                return;
            }
            //获取要对照的数据
            //当前活动行
            int currRow = fpSpread1_Sheet1.ActiveRowIndex;

            string sICDCode = fpSpread1_Sheet1.Cells[currRow, GetColumnKey(fpSpread1_Sheet1, "诊断码")].Text;

            if (sICDCode == "" || sICDCode == null)
            {
                return;
            }

            Neusoft.HISFC.Models.HealthRecord.ICD icd10 = new Neusoft.HISFC.Models.HealthRecord.ICD();

            ArrayList al = myICD.IsExistAndReturn(sICDCode, ICDTypes.ICD10, true);

            if (al == null)
            {
                MessageBox.Show("获得ICD10信息出错!");
                return;
            }

            icd10 = al[0] as Neusoft.HISFC.Models.HealthRecord.ICD;

            //ICD9 编码
            textBoxICD10.Text = icd10.ID;
            //ICD9 名称
            textBoxICD10Name.Text = icd10.Name;
            //ICD 拼音
            textBoxICD10.Tag = icd10;
        }
Пример #15
0
 /// <summary>
 /// 在Table 中添加加一行
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="row"></param>
 private void SetRow(Neusoft.HISFC.Models.HealthRecord.ICD obj, DataRow row)
 {
     row["sequence_no"] = obj.KeyCode;
     row["诊断码"]         = obj.ID;
     row["医保中心代码"]      = obj.SICode;
     row["统计代码"]        = obj.UserCode;
     row["拼音码"]         = obj.SpellCode;
     row["五笔码"]         = obj.WBCode;
     row["诊断名称"]        = obj.Name;
     row["第二诊断名称"]      = obj.User01;
     row["第三诊断名称"]      = obj.User02;
     row["死亡原因"]        = obj.DeadReason;
     row["疾病分类"]        = obj.DiseaseCode;
     row["标准住院日"]       = obj.StandardDays;
     row["30种疾病"]       = Neusoft.FrameWork.Function.NConvert.ToBoolean(obj.Is30Illness);
     row["传染病"]         = Neusoft.FrameWork.Function.NConvert.ToBoolean(obj.IsInfection);
     row["肿瘤"]          = Neusoft.FrameWork.Function.NConvert.ToBoolean(obj.IsTumour);
     row["住院等级"]        = obj.InpGrade;
     row["有效性"]         = obj.IsValid;
     row["序号"]          = obj.SeqNo;
     row["操作员编码"]       = obj.OperInfo.ID;
     row["操作员"]         = obj.OperInfo.Name;
     row["操作时间"]        = obj.OperInfo.OperTime;
 }
Пример #16
0
        /// <summary>
        /// 返回选择项
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public int GetItem(ref Neusoft.HISFC.Models.HealthRecord.ICD item)
        {
            int row = fpSpread1_Sheet1.ActiveRowIndex;

            if (row < 0 || fpSpread1_Sheet1.RowCount == 0)
            {
                item = null;
                return(-1);
            }
            string IcdCode = fpSpread1_Sheet1.GetText(row, 0);//项目代码
            string IcdName = fpSpread1_Sheet1.GetText(row, 1);

            foreach (Neusoft.HISFC.Models.HealthRecord.ICD icd in al)
            {
                if (icd.ID == IcdCode && icd.Name == IcdName)
                {
                    item = icd;
                    return(0);
                }
            }

            item = null;
            return(-1);
        }
Пример #17
0
        /// <summary>
        /// 更新ICD表
        /// </summary>
        /// <param name="orgICD">变更前实体</param>
        /// <param name="newICD">变更后实体</param>
        /// <param name="type">诊断类型枚举</param>
        /// <returns>-1 表示程序中有未处理的错误 >1 表示成功</returns>
        /// Creator: [email protected]  2005/06/01
        public int Update(Neusoft.HISFC.Models.HealthRecord.ICD orgICD, Neusoft.HISFC.Models.HealthRecord.ICD newICD, ICDTypes type)
        {
            try
            {
                //定义字符变量 ,保存更新SQL语句
                string strUpdateSql = "";
                //定义 整数变量,保存更新或插入操作影响的行数
                switch (type)
                {
                case ICDTypes.ICD10:
                    //获得更新ICD10的SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Update.ICD10", ref strUpdateSql) == -1)
                    {
                        this.Err = "获得SQL语句出错!索引:Case.ICDDML.Update.ICD10";
                        return(-1);
                    }
                    break;

                case ICDTypes.ICD9:
                    //获得更新ICD9的SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Update.ICD9", ref strUpdateSql) == -1)
                    {
                        this.Err = "获得SQL语句出错!";
                        return(-1);
                    }
                    break;

                case ICDTypes.ICDOperation:
                    //获得更新手术的SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Update.ICDOperation", ref strUpdateSql) == -1)
                    {
                        this.Err = "获得SQL语句出错!";
                        return(-1);
                    }
                    break;
                }
                //执行更新操作
                int iReturn = 0;
                iReturn = this.ExecNoQuery(strUpdateSql, GetICDParam(newICD)); //执行操作
                if (iReturn == 0)                                              //没有更新记录,前台考虑是否并发
                {
                    return(0);
                }
                else if (iReturn == -1)//数据库操作失败
                {
                    return(-1);
                }
                //执行插入变更记录
                iReturn = InsertShift(orgICD, newICD, type);
                if (iReturn == -1)//插入操作失败
                {
                    return(-1);
                }
                else//插入操作成功
                {
                    return(iReturn);
                }
            }
            catch (Exception ex)
            {
                this.Err = ex.Message; //发生异常
                return(-1);
            }
        }
Пример #18
0
        /// <summary>
        /// 判断录入的ICD编码是否存在,如果存在返回符合条件的实体,否则返回null参数
        /// </summary>
        /// <param name="ICDCode">录入的ICD编码</param>
        /// <param name="type">ICD类别</param>
        /// <param name="isValid">是否有效 true 有效 false 作废</param>
        /// <returns>null 数据库操作失败 </returns>
        ///          Creator: [email protected]  2005/06/01
        public Neusoft.HISFC.Models.HealthRecord.ICD IsExistAndReturnOne(string ICDCode, ICDTypes type, bool isValid)
        {
            //主要处理当操作员在做新增操作时判断输入ICDCode是否存在,
            //如果不存在那么默认新增状态,如果输入的ICDCode存在,则为修改状态
            //定义字符变量,存储SQL语句
            string strSql = "";
            //定义字符变量,存储查询条件
            string strWhere = "";
            //第一动态数组 ,存储符合条件的记录
            ArrayList arrList = new ArrayList();

            Neusoft.HISFC.Models.HealthRecord.ICD info = null;
            try
            {
                //根据type获得对应的SQL语句
                switch (type)
                {
                case ICDTypes.ICD10:
                    //获取SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Query.ICD10.Base", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错, 索引:Case.ICDDML.Query.ICD10";
                        return(null);
                    }
                    break;

                case ICDTypes.ICD9:
                    //获取SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Query.ICD9.Base", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错, 索引:Case.ICDDML.Query.ICD9";
                        return(null);
                    }
                    break;

                case ICDTypes.ICDOperation:
                    //获取SQL语句
                    if (this.Sql.GetSql("Case.ICDDML.Query.ICDOperation.Base", ref strSql) == -1)
                    {
                        this.Err = "获取SQL语句出错,索引:Case.ICDDML.Query.ICDOperation";
                        return(null);
                    }
                    break;
                }

                if (this.Sql.GetSql("Case.ICDDML.Query.IsExistAndReturn", ref strWhere) == -1)
                {
                    this.Err = "获取SQL语句出错,索引:Case.ICDDML.Query.IsExistAndReturn";
                    return(null);
                }

                strSql += strWhere;

                try
                {
                    strSql = string.Format(strSql, ICDCode, NConvert.ToInt32(isValid));
                }
                catch (Exception ex)
                {
                    this.Err = "SQL语句赋值出错!" + ex.Message;
                }
                //执行SQL语句
                this.ExecQuery(strSql);
                //读取数据
                arrList = ICDReaderInfo();
                if (arrList == null)
                {
                    return(null);
                }
                if (arrList.Count > 0)
                {
                    info = (Neusoft.HISFC.Models.HealthRecord.ICD)arrList[0];
                }
                return(info);
            }
            catch (Exception ex)
            {
                this.Err = ex.Message;   //获取错误信息

                if (!Reader.IsClosed)    //如果Reader没有关闭
                {
                    this.Reader.Close(); //关闭Reader
                }

                return(null); // 错误返回null
            }
        }
Пример #19
0
        /// <summary>
        /// 修改ICD信息
        /// </summary>
        private void ModifyInfo()
        {
            if (this.fpSpread1_Sheet1.RowCount <= 0)
            {
                return;
            }

            int currRow = fpSpread1_Sheet1.ActiveRowIndex;//当前行

            if (currRow < 0)
            {
                return;
            }
            ArrayList alReturn = new ArrayList(); //返回的ICD信息
            string    sICDCode = "";              //选取的ICD编码

            //定义变量,存储要修改的信息
            Neusoft.HISFC.Models.HealthRecord.ICD orgICD = new Neusoft.HISFC.Models.HealthRecord.ICD();
            ////获得有效性
            //string IsValue = fpSpread1_Sheet1.Cells[currRow, GetColumnKey("有效性")].Value.ToString();
            ////如果已经是无效,则不允许修改
            //if (IsValue == "False")
            //{
            //    MessageBox.Show("此项目已经无效,不能再被修改");
            //    return;
            //}
            //获得ICD编码

            sICDCode = fpSpread1_Sheet1.Cells[currRow, GetColumnKey("诊断码")].Text;

            if (sICDCode == "" || sICDCode == null)
            {
                return;
            }

            alReturn = myICD.IsExistAndReturn(sICDCode, type, true);

            if (alReturn == null)
            {
                MessageBox.Show("获得ICD信息出错!" + myICD.Err);
                return;
            }
            if (alReturn.Count == 0)
            {
                alReturn = myICD.IsExistAndReturn(sICDCode, type, false);
            }
            if (alReturn.Count == 0)
            {
                MessageBox.Show("获得ICD信息出错");
                return;
            }
            try
            {
                orgICD = alReturn[0] as Neusoft.HISFC.Models.HealthRecord.ICD;
            }
            catch (Exception ex)
            {
                MessageBox.Show("获得ICD信息出错!" + ex.Message);
                return;
            }
            //实例化要弹出的窗口
            frmICDInfo icdInfo = new frmICDInfo();

            //显示待修改信息
            icdInfo.OrgICD = orgICD;
            //赋值 ICD的类型
            icdInfo.ICDType = type;
            //赋值 修改的类型
            icdInfo.EditType = EditTypes.Modify;
            //保存修改类型
            editType = EditTypes.Modify;
            //订制事件 。
            icdInfo.SaveButtonClick += new frmICDInfo.SaveInfo(icdInfo_SaveButtonClick);
            //显示窗体
            icdInfo.ShowDialog();
        }
Пример #20
0
 /// <summary>
 /// 在dtICD中添加加一行
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="row"></param>
 private void SetRow(Neusoft.HISFC.Models.HealthRecord.ICD obj, DataRow row)
 {
     row["sequence_no"] = obj.KeyCode;
     row["诊断码"]         = obj.ID;
     row["医保中心代码"]      = obj.SICode;
     row["统计代码"]        = obj.UserCode;
     row["拼音码"]         = obj.SpellCode;
     row["五笔"]          = obj.WBCode;
     row["诊断名称"]        = obj.Name;
     row["第二诊断名称"]      = obj.User01;
     row["第三诊断名称"]      = obj.User02;
     row["死亡原因"]        = obj.DeadReason;
     row["疾病分类"]        = obj.DiseaseCode;
     row["标准住院日"]       = obj.StandardDays;
     if (obj.Is30Illness == "1" || obj.Is30Illness == "是")
     {
         row["是否30中疾病"] = "是";
     }
     else
     {
         row["是否30中疾病"] = "否";
     }
     if (obj.IsInfection == "1" || obj.IsInfection == "是")
     {
         row["是否传染病"] = "是";
     }
     else
     {
         row["是否传染病"] = "否";
     }
     if (obj.IsTumour == "1" || obj.IsTumour == "是")
     {
         row["是否肿瘤"] = "是";
     }
     else
     {
         row["是否肿瘤"] = "否";
     }
     row["住院等级"] = obj.InpGrade;
     if (obj.IsValid)
     {
         row["有效性"] = "有效";
     }
     else
     {
         row["有效性"] = "无效";
     }
     row["序号"]        = obj.SeqNo;
     row["oper_code"] = obj.OperInfo.ID;
     row["操作员"]       = obj.OperInfo.Name;
     row["操作时间"]      = obj.OperInfo.OperTime;
     row["副诊断码"]      = obj.User01;
     //if (obj.SexType.ID == "A")
     //{
     //    row["适用性别"] = "全部";
     //}
     //else if (obj.SexType.ID == "M")
     //{
     row["适用性别"] = obj.SexType.Name;
     //}
     //else
     //{
     //    row["适用性别"] = "女";
     //}
 }