public void SetPatientInfo(Neusoft.HISFC.Object.Registration.Register register) { this.lblAdress.Text = register.AddressHome; this.lblAge.Text = register.Age; this.lblGms.Text = register.User03.ToString(); this.lblName.Text = register.Name; this.lblPaytype.Text = register.Pact.Name; this.lblSex.Text = register.Sex.Name; }
/// <summary> /// 门诊按照执行科室,最小费用等分发票 /// </summary> /// <param name="payKindCode">患者的费用类别</param> /// <param name="feeItemLists">患者的总体费用明细</param> /// <returns>成功 分好的费用明细,每个ArrayList代表一组应该生成发票的费用明细 失败 null</returns> public ArrayList SplitInvoice(Neusoft.HISFC.Object.Registration.Register register, ref ArrayList feeItemLists) { //获得是否按照执行科室分发票,默认不刷新参数,默认值为 false即不按照执行科室分发票. bool isSplitByExeDept = controlParamIntegrate.GetControlParam <bool>(Neusoft.HISFC.Integrate.Const.IS_SPLIT_INVOICE_BY_EXEDEPT, false, false); //分组后发票 ArrayList exeGroupList = new ArrayList(); if (isSplitByExeDept) { //按照执行科室分组 exeGroupList = CollectFeeItemListsByExeDeptCode(feeItemLists); } else { exeGroupList = feeItemLists; } //获得是否按照最小分发票,默认不刷新参数,默认值为 false即不按照最小分发票. bool isSplitByFeeCode = controlParamIntegrate.GetControlParam <bool>(Neusoft.HISFC.Integrate.Const.IS_SPLIT_INVOICE_BY_FEECODE, false, false); ArrayList finalSplitList = new ArrayList(); if (isSplitByFeeCode) { foreach (ArrayList groupList in exeGroupList) { ArrayList spList = this.SplitInvoiceByFeeCode(register.Pact.PayKind.ID, groupList); foreach (ArrayList list in spList) { finalSplitList.Add(list); } } } else { finalSplitList = exeGroupList; } //feeItemLists = new ArrayList(); foreach (ArrayList list in finalSplitList) { foreach (FeeItemList f in list) { feeItemLists.Add(f); } } return(finalSplitList); }
/// <summary> /// /// </summary> /// <param name="registerObj"></param> /// <param name="outFeeDetailList"></param> /// <returns></returns> public int ProcessOutPatientFeeDetail(Neusoft.HISFC.Object.Registration.Register registerObj, ref System.Collections.ArrayList alOutFeeDetail) { foreach (Neusoft.HISFC.Object.Fee.Outpatient.FeeItemList feeItemList in alOutFeeDetail) { int returnValue = this.QueryItem(registerObj, feeItemList); switch (returnValue) { case 0: //没有维护 { //不处理 break; } case 1: //有维护 { DialogResult d = System.Windows.Forms.MessageBox.Show("该项目在适应症中有维护,是否选择按照适应症收费", "提示", MessageBoxButtons.YesNoCancel); if (d == DialogResult.Cancel) { return(-1); } else { if (d == DialogResult.OK) { //插入本地建的适应症的费用表 return(1); } else { //不处理 } } break; } case -1: //出错 { break; } default: break; } } return(1); }
/// <summary> /// 根据输入的住院号/门诊号 查询诊断信息 /// </summary> /// <param name="patientInfo"></param> /// <param name="Type"></param> /// <returns>-1 出错 0 传入的病人信息为空,不作处理,1 不允许有病案,2病案已经封存,不允许医生修改和查阅 3 查询有数据 4查询没有数据 </returns> public int LoadInfo(string InpatientNO) //Neusoft.HISFC.Object.RADT.PatientInfo patientInfo, Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes Type) { try { if (this.fpEnter1_Sheet1.RowCount > 0) { this.fpEnter1_Sheet1.Rows.Remove(0, this.fpEnter1_Sheet1.RowCount); } if (InpatientNO == null || InpatientNO == "") { //没有该病人的信息 MessageBox.Show("请选择病人"); return(0); } this.inpatientNo = InpatientNO; Neusoft.HISFC.Object.RADT.PatientInfo patient = new Neusoft.HISFC.Object.RADT.PatientInfo(); Neusoft.HISFC.Integrate.RADT pa = new Neusoft.HISFC.Integrate.RADT();// Neusoft.HISFC.Management.RADT.InPatient(); Neusoft.HISFC.Integrate.Registration.Registration register = new Neusoft.HISFC.Integrate.Registration.Registration(); //从住院主表中查旬 patient = pa.GetPatientInfoByPatientNO(InpatientNO); if (patient == null) { Neusoft.HISFC.Object.Registration.Register obj = register.GetByClinic(InpatientNO); if (obj == null) { MessageBox.Show("查询病人信息出错"); return(-1); } patient = new Neusoft.HISFC.Object.RADT.PatientInfo(); patient.ID = obj.ID; patient.CaseState = "1"; } if (patient.CaseState == "0") { //不允许有病案 return(1); } //定义业务层的类 Neusoft.HISFC.Management.HealthRecord.Diagnose diag = new Neusoft.HISFC.Management.HealthRecord.Diagnose(); diagList = new ArrayList(); if (frmType == Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC) // 医生站录入病历 { #region 医生站录入病历 //目前允许有病历 并且目前没有录入病历 或者标志位位空(默认是允许录入病历) // 医生站录入病例 if (patient.CaseState == null || patient.CaseState == "1" || patient.CaseState == "2") { //从医生站录入的信息中查询 diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC); } else { // 病案已经封存已经不允许医生修改和查阅 return(2); } #endregion } else if (frmType == Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS)//病案室录入病历 { #region 病案室录入病历 //目前允许有病历 并且目前没有录入病历 或者标志位位空(默认是允许录入病历) if (patient.CaseState == null || patient.CaseState == "1" || patient.CaseState == "2") { //医生站已经录入病案 diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.DOC); } else if (patient.CaseState == "3") { //病案室已经录入病案 diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS); } else if (patient.CaseState == "4") { //病案已经封存 不允许修改。 diagList = diag.QueryCaseDiagnose(patient.ID, "%", Neusoft.HISFC.Object.HealthRecord.EnumServer.frmTypes.CAS); this.fpEnter1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; } #endregion } else { //没有传入参数 不作任何处理 } if (diagList != null) { //查询有数据 AddInfoToFP(diagList); return(3); } else {//查询没有数据 return(4); } } catch (Exception ex) { MessageBox.Show(ex.Message); return(-1); } }
public void SetPatientInfo(Neusoft.HISFC.Object.Registration.Register register) { this.myRegister = register; this.SetPatient(); this.QueryOrder(); }
/// <summary> /// 从适应症表中查找维护的项目 /// </summary> /// <param name="?"></param> /// <returns> -1 报错 0 没有维护 1 有维护 </returns> private int QueryItem(Neusoft.HISFC.Object.Registration.Register registerObj, Neusoft.HISFC.Object.Fee.Outpatient.FeeItemList feeitemlist) { return(0); }