/// <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); }
/// <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); } }
/// <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)); }
/// <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)); }
/// <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; //病案所在科室 }
/// <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); }
/// <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); } }
/// <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); } }
/// <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; }
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); }
/// <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); } }
/// <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)); }
/// <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)); }