Ejemplo n.º 1
0
        /// <summary>
        /// 发票号
        /// </summary>
        /// <param name="InviceNo"></param>
        /// <param name="InvoiceType"></param>
        public OutPatient(string InviceNo, OPDBillKind InvoiceType)
        {
            List <HIS.Model.MZ_CostMaster> models = null;

            HIS.Model.MZ_PatList model = null;
            string strWhere            = "";

            if (InvoiceType == OPDBillKind.门诊收费发票)
            {
                strWhere = "TICKETNUM='" + InviceNo + "'" + oleDb.And( ) + Tables.mz_costmaster.HANG_FLAG + oleDb.EuqalTo( ) + "1";
            }
            else
            {
                strWhere = "TICKETNUM='" + InviceNo + "'" + oleDb.And( ) + Tables.mz_costmaster.HANG_FLAG + oleDb.EuqalTo( ) + "0";
            }
            models = BindEntity <Model.MZ_CostMaster> .CreateInstanceDAL(oleDb).GetListArray(strWhere);

            if (models.Count == 0)
            {
                throw new Exception("输入的发票流水号找不到病人登记信息");
            }
            else
            {
                model = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(models[0].PatListID);
            }
            BindData(model);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 每次选中一个门诊病人时,增加这个病人的费用明细
        /// </summary>
        /// <param name="plist"></param>
        public void MzAddItems(HIS.Model.MZ_PatList plist)
        {
            List <HIS.Model.MZ_PatList> patlist = new List <HIS.Model.MZ_PatList>();

            patlist.Add(plist);
            DataTable dt = view.BindItems;

            feeOp.mzPlist = patlist;
            DataTable items = feeOp.GetItemDetails(view.IsConfird);

            if (dt == null || dt.Rows.Count == 0)
            {
                view.BindItems = items;
            }
            else
            {
                DataTable dtcopy = dt.Clone();
                dtcopy.Clear();
                DataRow[] rows = dt.Select("patlistid <> " + plist.PatListID + "");
                foreach (DataRow row in rows)
                {
                    dtcopy.Rows.Add(row.ItemArray);
                }
                for (int i = 0; i < items.Rows.Count; i++)
                {
                    dtcopy.Rows.Add(items.Rows[i].ItemArray);
                }
                view.BindItems = dtcopy;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        ///  登记本次就诊
        /// </summary>
        /// <returns>本次就诊号</returns>
        public int NewRegister()
        {
            oleDb.BeginTransaction();
            try
            {
                HIS.Model.PatientInfo patinfo = new HIS.Model.PatientInfo();
                BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).Add(patinfo);


                HIS.Model.MZ_PatList register = new HIS.Model.MZ_PatList( );
                register.CureDate     = Convert.ToDateTime(HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime.ToString("yyyy-MM-dd")); //就诊日期
                register.CureDeptCode = "";                                                                                           //就诊科室
                register.CureEmpCode  = "";                                                                                           //就诊医生
                register.DiseaseCode  = "";                                                                                           //疾病代码
                register.DiseaseName  = "";                                                                                           //疾病名称
                register.HpCode       = "";                                                                                           //就医机构代码
                register.HpGrade      = "";                                                                                           //就医机构级别
                register.MediCard     = "";                                                                                           //医疗证卡号
                register.MediType     = "";                                                                                           //就诊类型
                register.PatCode      = "";                                                                                           //病人代码
                register.PatID        = patinfo.PatID;
                register.PatListID    = 0;                                                                                            //本次就诊号
                register.PatName      = "";                                                                                           //病人姓名
                register.PatSex       = "";                                                                                           //性别
                register.PYM          = "";                                                                                           //拼音码
                register.WBM          = "";                                                                                           //五笔码
                register.Age          = 0;
                register.VisitNo      = (new RegController( )).CreateVisitNo( );

                int newRegisterno = 0;
                newRegisterno = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).Add(register);

                if (newRegisterno > 0)
                {
                    this.PatID     = patinfo.PatID;
                    this.PatListID = newRegisterno;
                    this.VisitNo   = register.VisitNo;
                    oleDb.CommitTransaction( );
                    return(this.PatListID); //返回就诊ID
                }
                else
                {
                    throw new OperatorException("创建病人登记信息失败!");
                }
            }
            catch (OperatorException operr)
            {
                oleDb.RollbackTransaction( );
                throw operr;
            }
            catch (Exception err)
            {
                oleDb.RollbackTransaction( );
                ErrorWriter.WriteLog(err.Message);
                throw new Exception("新登记病人信息发生错误!");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 就诊号
        /// </summary>
        /// <param name="RegisterID"></param>
        public OutPatient(int RegisterID)
        {
            HIS.Model.MZ_PatList model = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(RegisterID);

            if (model == null)
            {
                throw new Exception("无效的就诊号!");
            }
            BindData(model);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 门诊病人类构造函数
        /// </summary>
        /// <param name="patListId">病人就诊Id</param>
        public Patient(long patListId)
        {
            _patList = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(Tables.mz_patlist.PATLISTID + "=" + patListId);

            if (_patList == null)
            {
                _patList = new HIS.Model.MZ_PatList();
            }
            LoadPatientInfo();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 门诊病人类构造函数
        /// </summary>
        /// <param name="visitNo">门诊号</param>
        public Patient(string visitNo)
        {
            _patList = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(Tables.mz_patlist.VISITNO + "='" + CreateFormatVisitNo(visitNo) + "'");

            if (_patList == null)
            {
                _patList = new HIS.Model.MZ_PatList();
            }
            LoadPatientInfo();
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 就诊号号获得病人
        /// </summary>
        /// <param name="InvoiceSerialNo">就诊号</param>
        public OutPatient(string VisitNo)
        {
            //List<HIS.Model.MZ_CostMaster> models = null;
            HIS.Model.MZ_PatList model = null;

            model = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(Tables.mz_patlist.VISITNO + "='" + VisitNo + "'");

            if (model == null)
            {
                throw new Exception("输入的门诊就诊号找不到病人登记信息");
            }
            BindData(model);
        }
Ejemplo n.º 8
0
        private void  LvNotConfir_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            ListViewItem item = e.Item;

            HIS.Model.MZ_PatList pat = (HIS.Model.MZ_PatList)item.Tag;
            if (item.Checked)
            {
                Controller.MzAddItems(pat);
                int i = 0;
                if (selectMzPatlist == null)
                {
                    selectMzPatlist = new List <HIS.Model.MZ_PatList>();
                    selectMzPatlist.Add(pat);
                }
                else
                {
                    for (i = 0; i < selectMzPatlist.Count; i++)
                    {
                        if (selectMzPatlist[i].PatListID == pat.PatListID)
                        {
                            break;
                        }
                    }
                    if (i == selectMzPatlist.Count)
                    {
                        selectMzPatlist.Add(pat);
                    }
                }
            }
            else
            {
                Controller.MzPlusItems(pat);
                if (selectMzPatlist == null)
                {
                    return;
                }
                for (int i = 0; i < selectMzPatlist.Count; i++)
                {
                    if (selectMzPatlist[i].PatListID == pat.PatListID)
                    {
                        selectMzPatlist.Remove(pat);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        ///  每次取消选中一个门诊病人时,删除这个病人的费用明细
        /// </summary>
        /// <param name="plist"></param>
        public void MzPlusItems(HIS.Model.MZ_PatList plist)
        {
            DataTable dt = view.BindItems;

            if (dt == null)
            {
                return;
            }
            DataTable dtcopy = dt.Clone();

            dtcopy.Clear();
            DataRow[] rows = dt.Select("patlistid <> " + plist.PatListID + "");
            foreach (DataRow row in rows)
            {
                dtcopy.Rows.Add(row.ItemArray);
            }
            view.BindItems = dtcopy;
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 绑定数据
        /// </summary>
        /// <param name="model"></param>
        private void BindData(HIS.Model.MZ_PatList model)
        {
            this.PatListID   = model.PatListID;
            this.PatID       = model.PatID;
            this.VisitNo     = model.VisitNo;
            this.PatientName = model.PatName;
            this.Sex         = model.PatSex;
            this.Age         = model.Age;
            this.PYM         = model.PYM;
            this.WBM         = model.WBM;
            _mediCard        = model.MediCard;
            _mediType        = model.MediType;
            _hpCode          = model.HpCode;
            _hpGrade         = model.HpGrade;
            if (model.CureDeptCode.Trim( ) != "")
            {
                _cureDeptCode = model.CureDeptCode;
            }
            else
            {
                _cureDeptCode = model.REG_DEPT_CODE;
            }
            if (model.CureEmpCode.Trim( ) != "")
            {
                _cureEmpCode = model.CureEmpCode;
            }
            else
            {
                _cureEmpCode = model.REG_DOC_CODE;
            }

            _diseaseCode = model.DiseaseCode;

            string[] disease = model.DiseaseName.Split("|".ToCharArray( ));
            _diseaseName = disease[0];
            if (disease.Length > 1)
            {
                _diseaseMemo = disease[1];
            }

            _cureDate = model.CureDate;

            this.Allergic = GetAllergic(Convert.ToInt32(this.PatID));
        }
Ejemplo n.º 11
0
        private void LvNotConfir_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_listView == null || _listView.SelectedItems.Count == 0)
            {
                return;
            }
            else
            {
                HIS.Model.MZ_PatList pat = (HIS.Model.MZ_PatList)_listView.SelectedItems[0].Tag;
                txtVistno.Text  = pat.VisitNo.ToString();
                txtPatname.Text = pat.PatName.ToString();
                txtPatAge.Text  = pat.Age.ToString();
                txtPatSex.Text  = pat.PatSex.ToString();
                txtPatType.Text = pat.MediType;

                txtRegDept.Text  = pat.REG_DEPT_NAME;
                txtCureDoc.Text  = HIS.SYSTEM.BussinessLogicLayer.Classes.BaseData.GetUserName(pat.CureEmpCode.ToString());
                txtCureDept.Text = HIS.SYSTEM.BussinessLogicLayer.Classes.BaseData.GetDeptName(pat.CureDeptCode.ToString());
                txtDisease.Text  = pat.DiseaseName;
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 保存病人就诊登记表
        /// </summary>
        /// <param name="Patient"></param>
        /// <returns></returns>
        private static Model.MZ_PatList SavePatList(RegPatient Patient)
        {
            if (Patient.PatID == 0)
            {
                Model.PatientInfo patinfo = new HIS.Model.PatientInfo();
                patinfo.PatName     = Patient.PatientName;
                patinfo.PatSex      = Patient.Sex;
                patinfo.PatBriDate  = Patient.BornDate;
                patinfo.ACCOUNTTYPE = Patient.PatType.Name;
                patinfo.PatGroup    = Patient.Folk;
                patinfo.PYM         = Patient.PYM;
                patinfo.WBM         = Patient.WBM;
                patinfo.LinkAddress = Patient.Address;
                patinfo.LinkTel     = Patient.Tel;
                patinfo.PatAddress  = Patient.Address;
                patinfo.PatTEL      = Patient.Tel;
                patinfo.ALLERGIC    = Patient.Allergic;
                BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).Add(patinfo);

                Patient.PatID = patinfo.PatID;
            }

            Model.MZ_PatList mz_patlist = new HIS.Model.MZ_PatList();
            mz_patlist.Age           = Patient.Age;
            mz_patlist.CureDate      = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime;
            mz_patlist.MediType      = Patient.PatType.Code;
            mz_patlist.PatID         = Patient.PatID;
            mz_patlist.PatName       = Patient.PatientName;
            mz_patlist.PatSex        = Patient.Sex;
            mz_patlist.RegCode       = Patient.RegTypeCode;
            mz_patlist.RegName       = Patient.RegTypeName;
            mz_patlist.REG_DEPT_CODE = Patient.RegDeptCode;   //挂号科室
            mz_patlist.REG_DEPT_NAME = Patient.RegDeptName;
            mz_patlist.REG_DOC_CODE  = Patient.RegDoctorCode; //挂号医生
            mz_patlist.REG_DOC_NAME  = Patient.RegDoctorName;
            mz_patlist.HpGrade       = Patient.AgeUnit;
            BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).Add(mz_patlist);

            return(mz_patlist);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 根据发票号获取病人信息
        /// </summary>
        /// <param name="InvoiceSerialNo">发票号</param>
        /// <returns></returns>
        public static HIS.Model.MZ_PatList GetPatInfo(string InvoiceSerialNo)
        {
            OutPatient patient = new OutPatient(InvoiceSerialNo, OPDBillKind.门诊收费发票);

            HIS.Model.MZ_PatList model = new HIS.Model.MZ_PatList( );

            model.PatListID    = patient.PatListID;
            model.PatID        = patient.PatID;
            model.PatName      = patient.PatientName;
            model.PatSex       = patient.Sex;
            model.PYM          = patient.PYM;
            model.WBM          = patient.WBM;
            model.MediCard     = patient.MediCard;
            model.MediType     = patient.MediType;
            model.HpCode       = patient.HpCode;
            model.HpGrade      = patient.HpGrade;
            model.CureDeptCode = patient.CureDeptCode;
            model.CureEmpCode  = patient.CureEmpCode;
            model.DiseaseCode  = patient.DiseaseCode;
            model.DiseaseName  = patient.DiseaseName;
            model.CureDate     = patient.CureDate;

            return(model);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 更新本次就诊登记信息
        /// </summary>
        /// <returns>成功标识;true</returns>
        public bool UpdateRegister()
        {
            try
            {
                HIS.Model.MZ_PatList register = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(this.PatListID);

                register.CureDeptCode = _cureDeptCode; //就诊科室
                register.CureEmpCode  = _cureEmpCode;  //就诊医生
                register.DiseaseCode  = _diseaseCode;  //疾病代码
                if (register.REG_DOC_CODE.Trim( ) == "")
                {
                    //如果挂号医生为空,则将挂号医生更改为当前就诊医生
                    register.REG_DOC_CODE  = _cureEmpCode;
                    register.REG_DOC_NAME  = BaseDataController.GetName(BaseDataCatalog.人员列表, Convert.ToInt32(_cureEmpCode));    //PublicDataReader.GetEmployeeNameById( Convert.ToInt32(_cureEmpCode) );
                    register.REG_DEPT_CODE = _cureDeptCode;
                    register.REG_DEPT_NAME = BaseDataController.GetName(BaseDataCatalog.科室列表, Convert.ToInt32(_cureDeptCode));   // PublicDataReader.GetDeptNameById( Convert.ToInt32( _cureDeptCode ) );
                }

                register.DiseaseName = _diseaseName.Replace("|", "") + "|" + _diseaseMemo.Replace("|", ""); //疾病名称
                register.HpCode      = _hpCode;                                                             //就医机构代码(病人单位代码)
                register.HpGrade     = _hpGrade;                                                            //就医机构级别
                register.MediCard    = _mediCard;                                                           //医疗证卡号
                register.MediType    = _mediType;                                                           //就诊类型
                register.PatCode     = "";                                                                  //病人代码????
                register.PatID       = this.PatID;                                                          //病人ID,如果是普通病人,则为0;否则参见PatientInfo.PatID;
                register.PatListID   = this.PatListID;                                                      //本次就诊号
                register.PatName     = this.PatientName;                                                    //病人姓名
                register.PatSex      = this.Sex;                                                            //性别
                register.PYM         = this.PYM;                                                            //拼音码
                register.WBM         = this.WBM;                                                            //五笔码
                register.Age         = this.Age;                                                            //年龄
                register.VisitNo     = this.VisitNo;                                                        //就诊号(门诊号)
                BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).Update(register);

                Model.PatientInfo patientinfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(Convert.ToInt32(this.PatID));

                if (patientinfo != null)
                {
                    patientinfo.PatName  = register.PatName;
                    patientinfo.PatSex   = register.PatSex;
                    patientinfo.ALLERGIC = this.Allergic;
                    BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).Update(patientinfo);
                }

                //将处方表中挂号的记录改为处方医生
                string strWhere = Tables.mz_presmaster.PATLISTID + oleDb.EuqalTo() + this.PatListID + oleDb.And( ) +
                                  Tables.mz_presmaster.HAND_FLAG + oleDb.EuqalTo() + "0";
                Model.MZ_PresMaster mz_presmaster = BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).GetModel(strWhere);

                if (mz_presmaster != null)
                {
                    if (mz_presmaster.PresDocCode == null || mz_presmaster.PresDocCode.Trim( ) == "")
                    {
                        strWhere += oleDb.And( ) + Tables.mz_presmaster.PRESMASTERID + oleDb.EuqalTo( ) + mz_presmaster.PresMasterID;
                        BindEntity <Model.MZ_PresMaster> .CreateInstanceDAL(oleDb).Update(strWhere,
                                                                                          Tables.mz_presmaster.PRESDOCCODE + oleDb.EuqalTo( ) + "'" + _cureEmpCode + "'",
                                                                                          Tables.mz_presmaster.PRESDEPTCODE + oleDb.EuqalTo( ) + "'" + _cureDeptCode + "'");
                    }
                }
                return(true);
            }
            catch (OperatorException operr)
            {
                throw operr;
            }
            catch (Exception err)
            {
                ErrorWriter.WriteLog(err.Message);
                throw new Exception("更新病人等级信息发生错误!");
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 获取病人信息
        /// </summary>
        /// <param name="patlistId">病人</param>
        /// <param name="mzZyFlag">病人就诊Id</param>
        /// <param name="recordTime">记录时间</param>
        /// <returns></returns>
        public static XmlDocument GetPatInfo(int patlistId, int mzZyFlag, DateTime recordTime)
        {
            XmlDocument xmlPatInfo = new XmlDocument();
            XmlNode     node       = xmlPatInfo.CreateElement("病人信息");

            xmlPatInfo.AppendChild(node);

            XmlNode basicNode = xmlPatInfo.CreateElement("基本信息");

            node.AppendChild(basicNode);

            XmlNode cureNode = xmlPatInfo.CreateElement("就诊信息");

            node.AppendChild(cureNode);

            if (mzZyFlag == 0)
            {
                HIS.Model.MZ_PatList patList = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(patlistId);

                HIS.Model.PatientInfo patInfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(Convert.ToInt32(patList.PatID));

                #region 基本信息
                XmlNode childNode = xmlPatInfo.CreateElement("姓名");
                childNode.InnerText = "姓名:" + patInfo.PatName;
                basicNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("科室");
                childNode.InnerText = "科室:" + patList.REG_DEPT_NAME;
                basicNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("门诊号");
                childNode.InnerText = "门诊号:" + patList.VisitNo;
                basicNode.AppendChild(childNode);
                #endregion

                #region 就诊信息
                childNode           = xmlPatInfo.CreateElement("姓名");
                childNode.InnerText = "姓名:" + patInfo.PatName;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("民族");
                childNode.InnerText = "民族:" + patInfo.PatGroup;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("性别");
                childNode.InnerText = "性别:" + patInfo.PatSex;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("职业");
                childNode.InnerText = "职业:" + patInfo.PATJOB;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("年龄");
                childNode.InnerText = "年龄:" + patList.Age.ToString().Trim() + patList.HpGrade.Trim();
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("籍贯");
                childNode.InnerText = "籍贯:";
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("联系电话");
                childNode.InnerText = "联系电话:" + patInfo.PatTEL;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("住址");
                childNode.InnerText = "住址:" + patInfo.PatAddress;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("就诊日期");
                childNode.InnerText = "就诊日期:" + patList.CureDate.ToLongDateString() + " " + patList.CureDate.ToLongTimeString();
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("记录日期");
                childNode.InnerText = "记录日期:" + recordTime.ToLongDateString() + " " + recordTime.ToLongTimeString();
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("病史陈述者");
                childNode.InnerText = "病史陈述者:患者本人";
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("可靠性");
                childNode.InnerText = "可靠性:可靠";
                cureNode.AppendChild(childNode);
                #endregion
            }
            else
            {
                HIS.Model.ZY_PatList patList = BindEntity <Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetModel(patlistId);

                HIS.Model.PatientInfo patInfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(patList.PatID);

                #region 基本信息
                XmlNode childNode = xmlPatInfo.CreateElement("姓名");
                childNode.InnerText = "姓名:" + patInfo.PatName;
                basicNode.AppendChild(childNode);

                childNode = xmlPatInfo.CreateElement("科室");
                //childNode.InnerText = "科室:" + new GWMHIS.BussinessLogicLayer.Classes.Deptment(Convert.ToInt64(patList.CureDeptCode)).Name;
                if (mzZyFlag == 1)
                {
                    childNode.InnerText = "入院记录";
                }
                else if (mzZyFlag == 2)
                {
                    childNode.InnerText = "出院记录";
                }
                else if (mzZyFlag == 3)
                {
                    childNode.InnerText = "死亡记录";
                }
                basicNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("住院号");
                childNode.InnerText = "住院号:" + patInfo.CureNo;
                basicNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("入院时间");
                childNode.InnerText = patList.CureDate.ToLongDateString();
                basicNode.AppendChild(childNode);

                if (mzZyFlag == 3)
                {
                    childNode           = xmlPatInfo.CreateElement("死亡时间");
                    childNode.InnerText = patList.OutDate.ToLongDateString();
                    basicNode.AppendChild(childNode);
                }
                else
                {
                    childNode           = xmlPatInfo.CreateElement("出院时间");
                    childNode.InnerText = patList.OutDate.ToLongDateString();
                    basicNode.AppendChild(childNode);
                }

                childNode           = xmlPatInfo.CreateElement("住院天数");
                childNode.InnerText = (XcDate.ServerDateTime - patList.CureDate).Days + "天";//patList.ReaLiveNum.ToString() + "天";
                basicNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("入院诊断");
                childNode.InnerText = patList.DiseaseName;
                basicNode.AppendChild(childNode);
                #endregion

                #region 就诊信息
                #region 计算病人年龄
                string   patAge      = "";
                DateTime currentDate = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime;
                if (patInfo.PatBriDate.Year != currentDate.Year && patInfo.PatBriDate.Date.AddYears(1) <= currentDate.Date)
                {
                    patAge = currentDate.Year - patInfo.PatBriDate.Year + "岁";
                }
                else if (patInfo.PatBriDate.Month != currentDate.Month && patInfo.PatBriDate.Date.AddMonths(1) <= currentDate.Date)
                {
                    int age = currentDate.Month - patInfo.PatBriDate.Month;
                    if (age < 0)
                    {
                        age += 12;
                    }
                    patAge = age + "月";
                }
                else if (patInfo.PatBriDate.Day != currentDate.Day && patInfo.PatBriDate.Date.AddDays(1) <= currentDate.Date)
                {
                    patAge = (currentDate - patInfo.PatBriDate).Days + "天";
                }
                else
                {
                    patAge = (currentDate - patInfo.PatBriDate).Hours + "小时";
                }
                #endregion

                childNode           = xmlPatInfo.CreateElement("姓名");
                childNode.InnerText = "姓名:" + patInfo.PatName;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("出生地");
                childNode.InnerText = "出生地:" + "";
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("性别");
                childNode.InnerText = "性别:" + patInfo.PatSex;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("民族");
                childNode.InnerText = "民族:" + patInfo.PatGroup;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("年龄");
                childNode.InnerText = "年龄:" + patAge;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("职业");
                childNode.InnerText = "职业:" + patInfo.PATJOB;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("婚姻");
                childNode.InnerText = "婚姻:" + "";
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("住址");
                childNode.InnerText = "住址:" + patInfo.PatAddress;
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("入院日期");
                childNode.InnerText = "入院时间:" + patList.CureDate.ToLongDateString() + " " + patList.CureDate.ToLongTimeString();
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("记录日期");
                childNode.InnerText = "记录时间:" + recordTime.ToLongDateString() + " " + recordTime.ToLongTimeString();
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("病史陈述者");
                childNode.InnerText = "病史陈述者:患者本人";
                cureNode.AppendChild(childNode);

                childNode           = xmlPatInfo.CreateElement("可靠性");
                childNode.InnerText = "可靠程度:认为可靠";
                cureNode.AppendChild(childNode);
                #endregion
            }
            return(xmlPatInfo);
        }
Ejemplo n.º 16
0
 /// <summary>
 /// 门诊病人类构造函数
 /// </summary>
 /// <param name="patList"></param>
 public Patient(HIS.Model.MZ_PatList patList)
 {
     this._patList = patList;
     LoadPatientInfo();
 }