示例#1
0
        /// <summary>
        /// 根据病历号检索病历基本信息

        /// </summary>
        /// <param name="cardNo">病历号</param>
        /// <returns>-1-失败,1-成功</returns>
        private int QueryByCardNo(string cardNo)
        {
            Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();

            this.InitCaseInfoDisplay();

            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在检索病历信息...");

            Application.DoEvents();

            this.callReturn = this.caseBillIntegrate.GetCaseInfoByCardNo(ref caseInfo, cardNo);
            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
            if (this.callReturn == -1)
            {
                MessageBox.Show(this.caseBillIntegrate.Err);

                return(-1);
            }
            if (this.callReturn == 0)
            {
                MessageBox.Show("该病历不存在");

                return(-1);
            }

            caseInfo.Patient.PID.CardNO = cardNo;
            Neusoft.HISFC.Models.HealthRecord.Case.CaseBill tempBill = new Neusoft.HISFC.Models.HealthRecord.Case.CaseBill();
            tempBill.CaseInfo    = caseInfo;
            tempBill.Memo        = "New";
            this.CurrentCaseBill = tempBill;

            return(1);
        }
示例#2
0
        /// <summary>
        /// 设置FarPoint
        /// </summary>
        private void SetFpSpeard()
        {
            FarPoint.Win.Spread.CellType.TextCellType txt = new FarPoint.Win.Spread.CellType.TextCellType();

            this.fpSpread_Sheet.ColumnCount                    = 15;
            this.fpSpread_Sheet.Columns[0].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 0].Text  = "当前病历号";
            this.fpSpread_Sheet.ColumnHeader.Columns[0].Width  = 100;
            this.fpSpread_Sheet.Columns[1].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 1].Text  = "初诊病历号";
            this.fpSpread_Sheet.ColumnHeader.Columns[1].Width  = 100;
            this.fpSpread_Sheet.Columns[2].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 2].Text  = "门诊病历号";
            this.fpSpread_Sheet.ColumnHeader.Columns[2].Width  = 100;
            this.fpSpread_Sheet.Columns[3].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 3].Text  = "住院病历号";
            this.fpSpread_Sheet.ColumnHeader.Columns[3].Width  = 100;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 4].Text  = "姓名";
            this.fpSpread_Sheet.ColumnHeader.Columns[4].Width  = 60;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 5].Text  = "性别";
            this.fpSpread_Sheet.ColumnHeader.Columns[5].Width  = 40;
            this.fpSpread_Sheet.Columns[6].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 6].Text  = "出生日期";
            this.fpSpread_Sheet.ColumnHeader.Columns[6].Width  = 100;
            this.fpSpread_Sheet.Columns[7].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 7].Text  = "身份证号";
            this.fpSpread_Sheet.ColumnHeader.Columns[7].Width  = 120;
            this.fpSpread_Sheet.Columns[8].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 8].Text  = "病案柜编码";
            this.fpSpread_Sheet.ColumnHeader.Columns[8].Width  = 80;
            this.fpSpread_Sheet.Columns[9].CellType            = txt;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 9].Text  = "病案柜格号";
            this.fpSpread_Sheet.ColumnHeader.Columns[9].Width  = 80;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 10].Text = "病案状态";
            this.fpSpread_Sheet.ColumnHeader.Columns[10].Width = 60;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 11].Text = "丢失原因";
            this.fpSpread_Sheet.ColumnHeader.Columns[11].Width = 80;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 12].Text = "病案所在类型";
            this.fpSpread_Sheet.ColumnHeader.Columns[12].Width = 100;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 13].Text = "病案所在人员";
            this.fpSpread_Sheet.ColumnHeader.Columns[13].Width = 100;
            this.fpSpread_Sheet.ColumnHeader.Cells[0, 14].Text = "病案所在科室";
            this.fpSpread_Sheet.ColumnHeader.Columns[14].Width = 100;

            ArrayList caseList = this.caseInfoMrg.GetAllCaseInfo();

            this.fpSpread_Sheet.RowCount = caseList.Count;

            Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();

            for (int i = 0; i < caseList.Count; i++)
            {
                caseInfo = caseList[i] as Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo;

                this.SetSingleRow(i, caseInfo);
            }
        }
示例#3
0
        /// <summary>
        /// 保存事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="neuObject"></param>
        /// <returns></returns>
        protected override int OnSave(object sender, object neuObject)
        {
            if (this.Valid() < 0)
            {
                return(-1);
            }

            Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();

            caseInfo = this.caseInformation;

            caseInfo.Cabinet.ID   = this.txtCabinetNO.Text;
            caseInfo.GridNO       = this.txtGridNO.Text;
            caseInfo.CaseState.ID = this.cmbCaseState.Tag.ToString();
            caseInfo.LoseState.ID = this.cmbCaseLose.Tag.ToString();
            caseInfo.InType       = Neusoft.FrameWork.Function.NConvert.ToInt32(this.cmbInType.Tag);

            if (this.cmbInEmployee.Visible)
            {
                caseInfo.InEmployee.ID = this.cmbInEmployee.Tag.ToString();
                caseInfo.InDept.ID     = "";
            }
            else if (this.cmbInDept.Visible)
            {
                caseInfo.InDept.ID     = this.cmbInDept.Tag.ToString();
                caseInfo.InEmployee.ID = "";
            }

            //保存数据

            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            //t.BeginTransaction();

            this.caseInfoMrg.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            if (this.caseInfoMrg.Update(caseInfo) < 0)
            {
                MessageBox.Show("更新失败! " + this.caseInfoMrg.Err, "提示");
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                return(-1);
            }

            Neusoft.FrameWork.Management.PublicTrans.Commit();

            //FarPoint刷新
            this.SetSingleRow(this.fpSpread_Sheet.ActiveRow.Index, caseInfo);

            MessageBox.Show("更新成功!", "提示");
            this.Clear();

            return(base.OnSave(sender, neuObject));
        }
示例#4
0
        /// <summary>
        /// 创建患者信息
        /// </summary>
        /// <param name="cardNO"></param>
        /// <param name="empiID"></param>
        /// <param name="?"></param>
        /// <returns></returns>
        public int CreatePatientInfo(string cardNO, string empiID, ref string caseID)
        {
            Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();

            caseInfo.ID = this.GetSequence("HealthRecord.Case.CaseID"); //病历流水号
            caseInfo.Patient.PID.CardNO = cardNO;                       //当前病历号
            caseInfo.Patient.User01     = cardNO;                       //初诊病历号
            caseInfo.EmpiID             = empiID;                       //患者主索引号

            caseID = caseInfo.ID;                                       //返回引用病历流水号

            return(this.Insert(caseInfo));
        }
示例#5
0
        /// <summary>
        /// FarPoint设置单行
        /// </summary>
        /// <param name="caseInfo"></param>
        private void SetSingleRow(int index, Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo)
        {
            caseInfo.CaseState  = this.caseMrg.GetConstant("CASE02", caseInfo.CaseState.ID);
            caseInfo.LoseState  = this.caseMrg.GetConstant("CASE03", caseInfo.LoseState.ID);
            caseInfo.InEmployee = this.caseMrg.GetPersonByID(caseInfo.InEmployee.ID);
            caseInfo.InDept     = this.caseMrg.GetDeptmentById(caseInfo.InDept.ID);

            if (caseInfo.InDept == null)
            {
                caseInfo.InDept = new Neusoft.HISFC.Models.Base.Department();
            }

            this.fpSpread_Sheet.Rows[index].Tag      = caseInfo;
            this.fpSpread_Sheet.Cells[index, 0].Text = caseInfo.Patient.PID.CardNO;                   //当前病历号

            this.fpSpread_Sheet.Cells[index, 1].Text = caseInfo.Patient.User01;                       //初诊病历号

            this.fpSpread_Sheet.Cells[index, 2].Text = caseInfo.Patient.User02;                       //门诊病历号

            this.fpSpread_Sheet.Cells[index, 3].Text = caseInfo.Patient.User03;                       //住院病历号

            this.fpSpread_Sheet.Cells[index, 4].Text = caseInfo.Patient.Name;                         //患者姓名

            this.fpSpread_Sheet.Cells[index, 5].Text = caseInfo.Patient.Sex.Name;                     //患者性别
            this.fpSpread_Sheet.Cells[index, 6].Text = caseInfo.Patient.Birthday.ToShortDateString(); //出生日期
            this.fpSpread_Sheet.Cells[index, 7].Text = caseInfo.Patient.IDCard;                       //身份证号
            this.fpSpread_Sheet.Cells[index, 8].Text = caseInfo.Cabinet.ID;                           //病案柜编码

            this.fpSpread_Sheet.Cells[index, 9].Text = caseInfo.GridNO;                               //病案柜格号

            this.fpSpread_Sheet.Cells[index, 10].Text = caseInfo.CaseState.Name;                      //病案状态

            this.fpSpread_Sheet.Cells[index, 11].Text = caseInfo.LoseState.Name;                      //丢失原因

            //病案所在

            if (caseInfo.InType == 0)
            {
                this.fpSpread_Sheet.Cells[index, 12].Text = "个人";
            }
            else if (caseInfo.InType == 1)
            {
                this.fpSpread_Sheet.Cells[index, 12].Text = "科室";
            }

            this.fpSpread_Sheet.Cells[index, 13].Text = caseInfo.InEmployee.Name; //病案所在个人

            this.fpSpread_Sheet.Cells[index, 14].Text = caseInfo.InDept.Name;     //病案所在科室
        }
示例#6
0
        /// <summary>
        /// 根据病历号获取病历基本信息
        /// </summary>
        /// <param name="caseInfo">病历基本信息</param>
        /// <param name="cardNo">病历号</param>
        /// <returns>-1-失败,0-不存在,1-成功 </returns>
        public int GetCaseInfoByCardNo(ref Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo, string cardNo)
        {
            string selectSql = string.Empty;

            int callReturn = this.Sql.GetSql("Neusoft.HISFC.Management.HealthRecord.Case.CaseInfo.GetCaseInfoByCardNo", ref selectSql);

            if (callReturn == -1)
            {
                return(-1);
            }

            try
            {
                selectSql  = string.Format(selectSql, cardNo);
                callReturn = this.ExecQuery(selectSql);
                if (callReturn == -1)
                {
                    this.Err = "根据病历号获取病历基本信息失败" + this.Err;

                    return(-1);
                }

                if (this.Reader.Read())
                {
                    caseInfo.ID             = this.Reader[0].ToString();
                    caseInfo.CaseState.Name = this.Reader[1].ToString();
                    // 病历归属
                    caseInfo.InType           = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[2].ToString());
                    caseInfo.InDept.Name      = this.Reader[3].ToString();
                    caseInfo.InEmployee.Name  = this.Reader[4].ToString();
                    caseInfo.Patient.Name     = this.Reader[5].ToString();
                    caseInfo.Patient.Sex.ID   = this.Reader[6].ToString();
                    caseInfo.Patient.Birthday = Convert.ToDateTime(this.Reader[7].ToString());
                }
                else
                {
                    return(0);
                }
            }
            catch (Exception exception)
            {
                this.Err = "根据病历号获取病历基本信息失败" + exception.Message;

                return(-1);
            }

            return(1);
        }
示例#7
0
        /// <summary>
        /// 获取所有病案信息
        /// </summary>
        /// <returns></returns>
        public ArrayList GetAllCaseInfo()
        {
            ArrayList arrayList = null;
            string    strSql    = "";

            if (this.Sql.GetSql("HealthReacord.Case.CaseInfo.SelectAll", ref strSql) == -1)
            {
                return(null);
            }

            try
            {
                this.ExecQuery(strSql);
                Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = null;
                arrayList = new ArrayList();
                while (this.Reader.Read())
                {
                    caseInfo    = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();
                    caseInfo.ID = this.Reader[0].ToString();                                                      //病案流水号
                    caseInfo.Patient.PID.CardNO = this.Reader[1].ToString();                                      //当前病历号
                    caseInfo.Patient.User01     = this.Reader[2].ToString();                                      //初诊病历号
                    caseInfo.Patient.User02     = this.Reader[3].ToString();                                      //门诊病历号
                    caseInfo.Patient.User03     = this.Reader[4].ToString();                                      //住院病历号
                    caseInfo.Patient.Name       = this.Reader[5].ToString();                                      //患者姓名
                    caseInfo.Patient.Sex.ID     = this.Reader[6].ToString();                                      //患者性别
                    caseInfo.Patient.Birthday   = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[7]); //患者出生日期
                    caseInfo.Patient.IDCard     = this.Reader[8].ToString();                                      //患者身份证号
                    caseInfo.Cabinet.ID         = this.Reader[9].ToString();                                      //病案柜编码
                    caseInfo.GridNO             = this.Reader[10].ToString();                                     //病案柜格号
                    caseInfo.CaseState.ID       = this.Reader[11].ToString();                                     //病案状态
                    caseInfo.LoseState.ID       = this.Reader[12].ToString();                                     //丢失原因
                    caseInfo.InType             = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[13]);   //病案所在类型
                    caseInfo.InEmployee.ID      = this.Reader[14].ToString();                                     //所在人员编号
                    caseInfo.InDept.ID          = this.Reader[15].ToString();                                     //所在科室编号
                    caseInfo.EmpiID             = this.Reader[16].ToString();                                     //患者主索引号

                    arrayList.Add(caseInfo);
                }

                return(arrayList);
            }
            catch (Exception Ex)
            {
                this.Err = Ex.Message;
                return(null);
            }
        }
示例#8
0
        /// <summary>
        /// 根据病历编码查询病历的信息
        /// </summary>
        /// <param name="">病历流水号</param>
        /// <returns>信息数组元素型: Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo</returns>
        public ArrayList Query(string caseID)
        {
            ArrayList List   = null;
            string    strSql = "";

            if (this.Sql.GetSql("HealthReacord.Case.CaseInfo.Select", ref strSql) == -1)
            {
                return(null);
            }
            try
            {
                //查询
                strSql = string.Format(strSql, caseID);
                this.ExecQuery(strSql);
                Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo = null;
                List = new ArrayList();
                while (this.Reader.Read())
                {
                    caseInfo    = new Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo();
                    caseInfo.ID = this.Reader[0].ToString();           //病案流水号
                    //caseInfo..PatientNO = this.Reader[1].ToString(); //当前病历号
                    //caseInfo.PID.ID = this.Reader[2].ToString();      //初诊病历号
                    //caseInfo.PID.CardNO = this.Reader[3].ToString();  //门诊病历号
                    //caseInfo.PID.CaseNO = this.Reader[4].ToString();//住院病历号
                    caseInfo.Cabinet.ID        = this.Reader[5].ToString();                                              //病案柜编码
                    caseInfo.Cabinet.GridCount = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[6].ToString()); //病案柜格号
                    caseInfo.CaseState.ID      = this.Reader[7].ToString();                                              //病案状态编码,对应常数表CASE02
                    caseInfo.LoseState.ID      = this.Reader[8].ToString();                                              //丢失原因编码,对应常数表CASE03
                    caseInfo.InType            = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[9].ToString()); //所在类型:0-人、1-科室
                    caseInfo.InEmployee.ID     = this.Reader[10].ToString();                                             //所在人员编码
                    caseInfo.InDept.ID         = this.Reader[11].ToString();                                             //所在科室编码
                    List.Add(caseInfo);
                    caseInfo = null;
                }

                return(List);
            }
            catch (Exception ex)
            {
                this.Err = ex.Message;
                return(null);
            }
        }
示例#9
0
        /// <summary>
        /// 控件赋值

        /// </summary>
        private void SetContorl()
        {
            this.caseInformation = fpSpread_Sheet.ActiveRow.Tag as Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo;

            this.txtNowCardNO.Text   = this.caseInformation.Patient.PID.CardNO;
            this.txtFirstCardNO.Text = this.caseInformation.Patient.User01;
            this.txtRegCardNO.Text   = this.caseInformation.Patient.User02;
            this.txtInHosCardNO.Text = this.caseInformation.Patient.User03;
            this.txtName.Text        = this.caseInformation.Patient.Name;
            this.txtSex.Text         = this.caseInformation.Patient.Sex.Name;
            this.txtBirthday.Text    = this.caseInformation.Patient.Birthday.ToShortDateString();
            this.txtIDCard.Text      = this.caseInformation.Patient.IDCard;
            this.txtCabinetNO.Text   = this.caseInformation.Cabinet.ID;
            this.txtGridNO.Text      = this.caseInformation.GridNO;
            this.cmbCaseState.Tag    = this.caseInformation.CaseState.ID;
            this.cmbCaseLose.Tag     = this.caseInformation.LoseState.ID;
            this.cmbInType.Tag       = this.caseInformation.InType.ToString();
            this.cmbInEmployee.Tag   = this.caseInformation.InEmployee.ID;
            this.cmbInDept.Tag       = this.caseInformation.InDept.ID;
        }
示例#10
0
        private string[] GetInfo(Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo)
        {
            string[] str = new string[13];

            str[0]  = caseInfo.ID;                 //病历流水号
            str[1]  = caseInfo.Patient.PID.CardNO; //当前病历号
            str[2]  = caseInfo.Patient.User01;     //初诊病历号
            str[3]  = caseInfo.Patient.User02;     //门诊病历号
            str[4]  = caseInfo.Patient.User03;     //住院病历号
            str[5]  = caseInfo.Cabinet.ID;         //病案柜编码
            str[6]  = caseInfo.GridNO;             //病案柜格号
            str[7]  = caseInfo.CaseState.ID;       //病案状态编码,对应常数表CASE02
            str[8]  = caseInfo.LoseState.ID;       //丢失原因编码,对应常数表CASE03
            str[9]  = caseInfo.InType.ToString();  //所在类型:0-人、1-科室
            str[10] = caseInfo.InEmployee.ID;      //所在人员编码
            str[11] = caseInfo.InDept.ID;          //所在科室编码
            str[12] = caseInfo.EmpiID;             //患者主索引号

            return(str);
        }
示例#11
0
        /// <summary>
        /// 新增病历
        /// </summary>
        /// <param name="CaseInfo">病历类</param>
        /// <returns>出现异常返回-1 成功返回1 插入失败返回 0</returns>
        public int Insert(Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo)
        {
            string strSql = "";

            if (this.Sql.GetSql("HealthReacord.Case.CaseInfo.Insert", ref strSql) == -1)
            {
                return(-1);
            }
            try
            {
                //插入
                strSql = string.Format(strSql, GetInfo(caseInfo));

                return(this.ExecNoQuery(strSql));
            }
            catch (Exception ex)
            {
                this.Err = ex.Message;

                return(-1);
            }
        }
示例#12
0
        /// <summary>
        /// 更新病历记录
        /// </summary>
        /// <param name="caseInfo">病历类</param>
        /// <returns>影响的行数-成功;-1-异常,0失败</returns>
        public int Update(Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo)
        {
            string strSql = "";

            if (this.Sql.GetSql("HealthReacord.Case.CaseInfo.Update", ref strSql) == -1)
            {
                return(-1);
            }
            try
            {
                string[] strParm = GetInfo(caseInfo);
                strSql = string.Format(strSql, strParm);
            }
            catch (Exception ex)
            {
                this.Err = "赋值时候出错!" + ex.Message;

                return(-1);
            }

            // 执行SQL语句返回
            return(this.ExecNoQuery(strSql));
        }
示例#13
0
        /// <summary>
        /// 根据病历号获取病历基本信息

        /// </summary>
        /// <param name="caseInfo">病历基本信息</param>
        /// <param name="cardNo">病历号</param>
        /// <returns>-1-失败,0-不存在,1-成功</returns>
        public int GetCaseInfoByCardNo(ref Neusoft.HISFC.Models.HealthRecord.Case.CaseInfo caseInfo, string cardNo)
        {
            this.SetDB(caseInfoFunction);
            return(caseInfoFunction.GetCaseInfoByCardNo(ref caseInfo, cardNo));
        }