/// <summary>
        /// 获取诊断
        /// </summary>
        protected string GetDiagnose(Neusoft.HISFC.Models.RADT.PatientInfo patientInfo)
        {
            Neusoft.HISFC.BizLogic.HealthRecord.Diagnose diag = new Neusoft.HISFC.BizLogic.HealthRecord.Diagnose();
            if (patientInfo.CaseState == "1" || patientInfo.CaseState == "2")
            {
                //从医生站录入的信息中查询
                ArrayList diagList = diag.QueryCaseDiagnose(patientInfo.ID, "%", Neusoft.HISFC.Models.HealthRecord.EnumServer.frmTypes.DOC);
                if (diagList != null && diagList.Count > 0)
                {
                    Neusoft.HISFC.Models.HealthRecord.Diagnose obj = diagList[0] as Neusoft.HISFC.Models.HealthRecord.Diagnose;
                    return(obj.DiagInfo.ICD10.Name);
                }
            }

            return("");
        }
Exemple #2
0
 /// <summary>
 /// 获得病案诊断表中的患者诊断信息,针对已经有病案的患者查询
 /// </summary>
 /// <param name="InpatientNO">住院流水号</param>
 /// <param name="diagType">诊断类型 门诊诊断,入院诊断等 查询所有的可以输入 %</param>
 /// <param name="OperType">"DOC"查询医生站录入的诊断信息 “CAS" 查询病案是录入的诊断信息</param>
 /// <returns>诊断信息数组元素型: Neusoft.HISFC.Models.HealthRecord.Diagnose</returns>
 public ArrayList QueryCaseDiagnose(string InpatientNO, string diagType, Neusoft.HISFC.Models.HealthRecord.EnumServer.frmTypes OperType)
 {
     this.SetDB(diagMgr);
     return(diagMgr.QueryCaseDiagnose(InpatientNO, diagType, OperType));
 }
        void Neusoft.HISFC.BizProcess.Interface.HealthRecord.HealthRecordInterface.ControlValue(Neusoft.HISFC.Models.HealthRecord.Base obj)
        {
            #region 赋值
            Neusoft.HISFC.BizLogic.HealthRecord.Base      baseDml    = new Neusoft.HISFC.BizLogic.HealthRecord.Base();
            Neusoft.HISFC.BizLogic.HealthRecord.DeptShift deptMger   = new Neusoft.HISFC.BizLogic.HealthRecord.DeptShift();
            Neusoft.HISFC.BizLogic.HealthRecord.Fee       feeCaseMgr = new Neusoft.HISFC.BizLogic.HealthRecord.Fee();
            Neusoft.HISFC.Models.HealthRecord.Base        myItem     = obj as Neusoft.HISFC.Models.HealthRecord.Base;

            this.payKindCbx.Text = GetPaykindForCaseFirst(myItem.PatientInfo.Pact.ID); // myItem.PatientInfo.Pact.Name;//.PayKind.ID;//付费方式、
            this.cardNO.Text     = myItem.PatientInfo.PID.CardNO;                      //门诊卡号
            this.xNO.Text        = myItem.XNum;                                        //X光号

            this.InpatientNO.Text    = myItem.PatientInfo.PID.PatientNO;               //住院号
            this.medCardTextBox.Text = myItem.PatientInfo.SSN;                         //社保号
            txtInHosNo.Text          = myItem.PatientInfo.InTimes.ToString();          //入院次数
            //this.inpatientNOTextBox.Text = myItem.PatientInfo.ID; //住院流水号
            this.nameTextBox.Text = myItem.PatientInfo.Name;                           //姓名
            this.sexComboBox.Text = myItem.PatientInfo.Sex.Name;                       //性别
            if (myItem.PatientInfo.Sex.ID.ToString() == "M")
            {
                sexComboBox.Text = "1";
            }
            else if (myItem.PatientInfo.Sex.ID.ToString() == "F")
            {
                sexComboBox.Text = "2";
            }
            //if(myItem.PatientInfo.MainDiagnose.ToString()!= null)
            if (myItem.PatientInfo.ClinicDiagnose != null)
            {
                this.inDiagComboBox.Text = myItem.PatientInfo.ClinicDiagnose.ToString(); //住院诊断
            }
            this.birYear.Text    = myItem.PatientInfo.Birthday.Year.ToString();          //出生日期
            this.birMon.Text     = myItem.PatientInfo.Birthday.Month.ToString();         //出生日期
            this.birDay.Text     = myItem.PatientInfo.Birthday.Day.ToString();           //出生日期
            this.ageTextBox.Text = this.inpatientManager.GetAge(myItem.PatientInfo.Birthday);
            //this.ageTextBox.Text = myItem.PatientInfo.Age;//年龄
            //this.marryComboBox.Tag = myItem.PatientInfo.MaritalStatus.ID;//婚姻状况

            switch (myItem.PatientInfo.MaritalStatus.ID.ToString())
            {
            case "M":
                marryTextBox.Text = "2";
                break;

            case "W":
                marryTextBox.Text = "4";
                break;

            case "A":
                marryTextBox.Text = "3";
                break;

            case "D":
                marryTextBox.Text = "3";
                break;

            case "R":
                marryTextBox.Text = "2";
                break;

            case "S":
                marryTextBox.Text = "1";
                break;
            }
            //marryTextBox.Text = myItem.PatientInfo.ClinicDiagnose.ToString();// MaritalStatus.ID.ToString();
            this.neuComboBox1.Tag  = myItem.PatientInfo.Profession.ID;
            this.workComboBox.Text = this.neuComboBox1.Text;
            //this.workComboBox.Tag = myItem.PatientInfo.Profession.ID;//职业
            //this.workComboBox.Text = myItem.PatientInfo.Profession.Name;

            this.birthInComboBox1.Tag = myItem.PatientInfo.AreaCode; //出生地
            //this.birthInComboBox.Text = this.birthInComboBox1.Text;
            this.birthInComboBox.Text = myItem.PatientInfo.AreaCode; //出生地
            //switch (myItem.PatientInfo.Nationality.ID.ToString())
            //{
            //    case "1":
            //        this.nationComboBox.Text = "汉族";
            //}


            this.nationComboBox1.Tag   = myItem.PatientInfo.Nationality.ID;     //.ID;//民族
            this.nationComboBox.Text   = this.nationComboBox1.Text;             //myItem.PatientInfo.Country.ToString();
            this.districtComboBox.Text = myItem.PatientInfo.Country.ToString(); //国籍
            //this.districtComboBox.Text = myItem.PatientInfo.DIST; //籍贯
            this.IDTextBox.Text         = myItem.PatientInfo.IDCard;            //身份证
            this.workAdressTextBox.Text = myItem.PatientInfo.AddressBusiness;;  //工作单位地址
            this.workPhoneTextBox.Text  = myItem.PatientInfo.PhoneBusiness;     //工作单位电话
            this.workZipTextBox.Text    = myItem.PatientInfo.BusinessZip;       //邮编 
            this.homeAdTextBox.Text     = myItem.PatientInfo.AddressHome;       //家庭住址
            this.homeZipTextBox.Text    = myItem.PatientInfo.HomeZip;           //邮编 
            this.linkNameTextBox.Text   = myItem.PatientInfo.Kin.Name;          //联系人名称
            //this.relationComboBox.Tag = myItem.PatientInfo.Kin.RelationLink;//联系人关系
            this.neuComboBox2.Tag      = myItem.PatientInfo.Kin.Relation.ID;    // PatientInfo.Kin.RelationLink;
            this.relationComboBox.Text = myItem.PatientInfo.Kin.Relation.Name;  //联系人关系

            //this.relationComboBox.Text =  myItem.PatientInfo.Kin.Relation.Name;
            this.linkAdressTextBox.Text = myItem.PatientInfo.Kin.RelationAddress; //联系人地址 有待考察;
            this.linkPhoneTextBox.Text  = myItem.PatientInfo.Kin.RelationPhone;   //联系人电话 有待考察;

            //由变更表获取 入院科室
            Neusoft.HISFC.Models.RADT.Location indept = baseDml.GetDeptIn(myItem.PatientInfo.ID);
            if (indept != null) //入院科室
            {
                //入院科室代码
                inDeptComboBox.Tag = indept.Dept.ID;
                //入院科室名称
                inDeptComboBox.Text = indept.Dept.Name;
            }
            else
            {
                this.inDeptComboBox.Tag  = myItem.PatientInfo.PVisit.PatientLocation.Dept.ID;
                this.inDeptComboBox.Text = myItem.PatientInfo.PVisit.PatientLocation.Dept.Name;
            }
            //由变更表获取 出院科室
            Neusoft.HISFC.Models.RADT.Location outDept = baseDml.GetDeptOut(myItem.PatientInfo.ID);
            if (outDept != null)
            {
                this.outDeptComboBox.Tag  = outDept.Dept.ID;
                this.outDeptComboBox.Text = outDept.Dept.Name;
            }

            this.CYear2.Text     = myItem.PatientInfo.PVisit.InTime.Year.ToString();  //入院时间
            this.CMon2.Text      = myItem.PatientInfo.PVisit.InTime.Month.ToString(); //入院时间
            this.CDay2.Text      = myItem.PatientInfo.PVisit.InTime.Day.ToString();   //入院时间
            this.neuLabel21.Text = myItem.PatientInfo.PVisit.Circs.ID;                //入院情况

            //出院时间不等于最小时间且患者状态为 出院登记状态
            if (myItem.PatientInfo.PVisit.OutTime != System.DateTime.MinValue && myItem.PatientInfo.PVisit.InState.ID.ToString() == "B")
            {
                this.OutYear.Text = myItem.PatientInfo.PVisit.OutTime.Year.ToString();  //出院日期
                this.OutMon.Text  = myItem.PatientInfo.PVisit.OutTime.Month.ToString(); //出院日期
                this.OutDay.Text  = myItem.PatientInfo.PVisit.OutTime.Day.ToString();   //出院日期
            }
            this.ClinicDiag.Text     = myItem.ClinicDiag.Name;                          //门诊诊断
            this.inDiagComboBox.Text = myItem.InHospitalDiag.Name;                      //入院诊断

            #region 暂时不用 打印的时候 不需要打印人员
            //				houseDocComboBox.Tag = myItem.PatientInfo.PVisit.AdmittingDoctor.ID ;
            //				houseDocTextBox.Text = myItem.PatientInfo.PVisit.AdmittingDoctor.ID ;
            //				//住院医师姓名
            //				houseDocComboBox.Text = myItem.PatientInfo.PVisit.AdmittingDoctor.Name;
            //				//主治医师代码
            //				chargeDocComboBox.Tag = myItem.PatientInfo.PVisit.AttendingDoctor.ID;
            //				chargeDocComboBox.Text = myItem.PatientInfo.PVisit.AttendingDoctor.Name;
            //				chargeDocTextBox.Text =  myItem.PatientInfo.PVisit.AttendingDoctor.ID;
            //				//主任医师代码
            //				chiefDocComboBox.Tag = myItem.PatientInfo.PVisit.ConsultingDoctor.ID;
            //				chiefDocComboBox.Text = myItem.PatientInfo.PVisit.ConsultingDoctor.Name;
            //				chiefDocTextBox.Text = myItem.PatientInfo.PVisit.ConsultingDoctor.ID;
            //				//科主任代码
            //				//			info.PVisit.ReferringDoctor.ID
            //				//进修医师代码
            //				refDocComboBox.Tag = myItem.RefresherDocd;
            //				refDocTextBox.Text = myItem.RefresherDocd;
            //				refDocComboBox.Text = myItem.RefresherDonm;
            //				//研究生实习医师代码
            //				graDocComboBox.Tag = myItem.GraDocCode;
            //				graDocComboBox.Text = myItem.GraDocName;
            //				//实习医师代码
            //				praDocComboBox.Tag = myItem.PraDocCode;
            //				praDocComboBox.Text = myItem.PraDocName;
            #endregion

            //if (this.OutYear.Text != "1")
            //{
            //    int inDays = (int)new System.TimeSpan(myItem.PatientInfo.PVisit.OutTime.Ticks
            //        - myItem.PatientInfo.PVisit.InTime.Ticks).TotalDays;
            //    if (inDays > 0)
            //        this.inDaysTextBox.Text = inDays.ToString();//住院天数
            //}
            //else
            //{
            //    this.inDaysTextBox.Text = "";
            //}
            this.inDaysTextBox.Text = myItem.InHospitalDays.ToString();//住院天数


            //this.inSourceComboBox.Tag = myItem.PatientInfo.PVisit.InSource.ID;//入院来源


            //诊断信息
            Neusoft.HISFC.BizLogic.HealthRecord.Diagnose diag = new Neusoft.HISFC.BizLogic.HealthRecord.Diagnose();
            ArrayList alDiag = new ArrayList();

            //中日只能医生录入病案
            alDiag = diag.QueryCaseDiagnose(myItem.PatientInfo.ID, "%", Neusoft.HISFC.Models.HealthRecord.EnumServer.frmTypes.DOC);
            if (alDiag.Count > 0)
            {
                Neusoft.HISFC.Models.HealthRecord.Diagnose diagNose = new Neusoft.HISFC.Models.HealthRecord.Diagnose();

                //foreach (Neusoft.HISFC.Models.HealthRecord.Diagnose diagNose in alDiag)
                #region 诊断赋值
                int row = 0;
                for (int i = 0; i < alDiag.Count; i++)
                {
                    diagNose = alDiag[i] as Neusoft.HISFC.Models.HealthRecord.Diagnose;
                    if (diagNose.DiagInfo.IsMain)
                    {
                        this.mainDiagICD.Text  = diagNose.DiagInfo.ICD10.ID;
                        this.MainDiagName.Text = diagNose.DiagInfo.ICD10.Name;
                        switch (diagNose.DiagOutState)
                        {
                        case "1":
                            this.MainDiag1.Text = "√";
                            break;

                        case "2":
                            this.MainDiag2.Text = "√";
                            break;

                        case "3":
                            this.MainDiag3.Text = "√";
                            break;

                        case "4":
                            this.MainDiag4.Text = "√";
                            break;

                        case "5":
                            this.MainDiag5.Text = "√";
                            break;
                        }
                    }
                    else if (diagNose.DiagInfo.DiagType.ID == "6")//病理诊断
                    {
                        this.txtDiagClPa.Text = diagNose.DiagInfo.ICD10.Name;
                    }
                    else if (diagNose.DiagInfo.DiagType.ID == "10")//门诊诊断
                    {
                        this.ClinicDiag.Text = diagNose.DiagInfo.ICD10.Name;
                    }
                    else if (diagNose.DiagInfo.DiagType.ID == "11")//入院诊断
                    {
                        this.inDiagComboBox.Text = diagNose.DiagInfo.ICD10.Name;
                    }
                    else if (diagNose.DiagInfo.DiagType.ID == "4")
                    {
                        this.txtInfectionPosition.Text += diagNose.DiagInfo.ICD10.Name + " ";
                    }
                    else
                    {
                        if (i > 6)
                        {
                            continue;
                        }
                        row = row + 1;
                        switch (row)
                        {
                        case 1:
                            this.otherDiagName1.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode1.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag11.Text = "√";
                                break;

                            case "2":
                                this.otherDiag12.Text = "√";
                                break;

                            case "3":
                                this.otherDiag13.Text = "√";
                                break;

                            case "4":
                                this.otherDiag14.Text = "√";
                                break;

                            case "5":
                                this.otherDiag15.Text = "√";
                                break;
                            }
                            break;

                        case 2:
                            this.otherDiagName2.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode2.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag21.Text = "√";
                                break;

                            case "2":
                                this.otherDiag22.Text = "√";
                                break;

                            case "3":
                                this.otherDiag23.Text = "√";
                                break;

                            case "4":
                                this.otherDiag24.Text = "√";
                                break;

                            case "5":
                                this.otherDiag25.Text = "√";
                                break;
                            }
                            break;

                        case 3:
                            this.otherDiagName3.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode3.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag31.Text = "√";
                                break;

                            case "2":
                                this.otherDiag32.Text = "√";
                                break;

                            case "3":
                                this.otherDiag33.Text = "√";
                                break;

                            case "4":
                                this.otherDiag34.Text = "√";
                                break;

                            case "5":
                                this.otherDiag35.Text = "√";
                                break;
                            }
                            break;

                        case 4:
                            this.otherDiagName4.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode4.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag41.Text = "√";
                                break;

                            case "2":
                                this.otherDiag42.Text = "√";
                                break;

                            case "3":
                                this.otherDiag43.Text = "√";
                                break;

                            case "4":
                                this.otherDiag44.Text = "√";
                                break;

                            case "5":
                                this.otherDiag45.Text = "√";
                                break;
                            }
                            break;

                        case 5:
                            this.otherDiagName5.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode5.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag51.Text = "√";
                                break;

                            case "2":
                                this.otherDiag52.Text = "√";
                                break;

                            case "3":
                                this.otherDiag53.Text = "√";
                                break;

                            case "4":
                                this.otherDiag54.Text = "√";
                                break;

                            case "5":
                                this.otherDiag55.Text = "√";
                                break;
                            }
                            break;

                        case 6:
                            this.otherDiagName6.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode6.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag61.Text = "√";
                                break;

                            case "2":
                                this.otherDiag62.Text = "√";
                                break;

                            case "3":
                                this.otherDiag63.Text = "√";
                                break;

                            case "4":
                                this.otherDiag64.Text = "√";
                                break;

                            case "5":
                                this.otherDiag65.Text = "√";
                                break;
                            }
                            break;

                        case 7:
                            this.otherDiagName7.Text = diagNose.DiagInfo.ICD10.Name;
                            this.otherDiagCode7.Text = diagNose.DiagInfo.ICD10.ID;
                            switch (diagNose.DiagOutState)
                            {
                            case "1":
                                this.otherDiag71.Text = "√";
                                break;

                            case "2":
                                this.otherDiag72.Text = "√";
                                break;

                            case "3":
                                this.otherDiag73.Text = "√";
                                break;

                            case "4":
                                this.otherDiag74.Text = "√";
                                break;

                            case "5":
                                this.otherDiag75.Text = "√";
                                break;
                            }
                            break;
                        }
                    }
                }

                #endregion
            }

            //this.txtInfectionPosition.Text = myItem.InfectionPosition.Name;//感染部位名称
            if (string.IsNullOrEmpty(myItem.FirstAnaphyPharmacy.Name))//药物过敏1
            {
                myItem.FirstAnaphyPharmacy.Name = "";
            }
            if (string.IsNullOrEmpty(myItem.SecondAnaphyPharmacy.Name))//药物过敏2
            {
                myItem.SecondAnaphyPharmacy.Name = "";
            }
            txtAnaphyFlag.Text = myItem.FirstAnaphyPharmacy.Name + " " + myItem.SecondAnaphyPharmacy.Name;

            if (string.IsNullOrEmpty(myItem.Hbsag))
            {
                myItem.Hbsag = "00";
            }
            if (string.IsNullOrEmpty(myItem.HcvAb))
            {
                myItem.HcvAb = "00";
            }
            if (string.IsNullOrEmpty(myItem.HivAb))
            {
                myItem.HivAb = "00";
            }
            if (string.IsNullOrEmpty(myItem.CePi))
            {
                myItem.CePi = "00";
            }
            if (string.IsNullOrEmpty(myItem.ClPa))
            {
                myItem.ClPa = "00";
            }
            if (string.IsNullOrEmpty(myItem.PiPo))
            {
                myItem.PiPo = "00";
            }
            if (string.IsNullOrEmpty(myItem.OpbOpa))
            {
                myItem.OpbOpa = "00";
            }
            if (string.IsNullOrEmpty(myItem.FsBl))
            {
                myItem.FsBl = "00";
            }

            this.HbsAg.Text            = myItem.Hbsag.Substring(myItem.Hbsag.Length - 1);
            this.HCVAb.Text            = myItem.HcvAb.Substring(myItem.Hbsag.Length - 1);
            this.HIVAb.Text            = myItem.HivAb.Substring(myItem.Hbsag.Length - 1);
            this.txtCepi.Text          = myItem.CePi.Substring(myItem.Hbsag.Length - 1);   //门诊与出院
            this.txtClPa.Text          = myItem.ClPa.Substring(myItem.Hbsag.Length - 1);   //临床_病理符合
            this.txtPiPo.Text          = myItem.PiPo.Substring(myItem.Hbsag.Length - 1);   //入出_院符合
            this.txtOpbOpa.Text        = myItem.OpbOpa.Substring(myItem.Hbsag.Length - 1); //术前_后符合
            this.txtFsBl.Text          = myItem.FsBl.Substring(myItem.Hbsag.Length - 1);   //放射_病理符合
            this.txtSalvTimes.Text     = myItem.SalvTimes.ToString();                      //抢救次数
            this.txtSuccTimes.Text     = myItem.SuccTimes.ToString();                      //成功次数
            this.txtDeptChiefDonm.Text = myItem.PatientInfo.PVisit.ReferringDoctor.Name;   //科主任
            this.txtChiefDocName.Text  = myItem.PatientInfo.PVisit.ConsultingDoctor.Name;  //主任医师
            this.txtChargeDocName.Text = myItem.PatientInfo.PVisit.AttendingDoctor.Name;   //主治医师
            this.RefresherDoc.Text     = myItem.RefresherDoc.Name;                         //进修医生
            this.txtGraDocName.Text    = myItem.GraduateDoc.Name;                          //研究生实习医生
            this.txtHouseDocName.Text  = myItem.PatientInfo.PVisit.AdmittingDoctor.Name;   //住院医师
            this.txtPraDocCode.Text    = myItem.PatientInfo.PVisit.TempDoctor.Name;        //实习医师
            this.txtCodingCode.Text    = myItem.CodingOper.Name;                           //编码员

            #endregion

            ////保存转科信息的列表
            //ArrayList changeDept = new ArrayList();
            ////获取转科信息
            //changeDept = deptMger.QueryChangeDeptFromShiftApply(myItem.PatientInfo.ID, "2");
            //LoadChangeDept(changeDept);

            //ArrayList alOrg = new ArrayList();
            //Neusoft.HISFC.BizLogic.HealthRecord.Diagnose diag = new Neusoft.HISFC.BizLogic.HealthRecord.Diagnose();
            //alOrg = diag.QueryCaseDiagnose(myItem.PatientInfo.ID, "%", Neusoft.HISFC.Models.HealthRecord.EnumServer.frmTypes.DOC);
        }