Esempio n. 1
0
        private PresInfo GetPresInfo(List <CiOrderDO> ordList)
        {
            UserDO user = this.Context.User;
            DeptDO dept = this.Context.Dept;

            PresInfo presInfo = new PresInfo();

            presInfo.Doctor_job_number = user.Code;      //医生工号
            presInfo.Pres_date         = new DateTime(); //处方日期
            presInfo.Doctor_name       = user.Name;      // 医生名
            //presInfo.Doctor_type =  医生级别
            presInfo.Department_code = dept.Code;        // 科室代码 ? 开立科室
            presInfo.Department_name = dept.Name;        // 科室名称
            //presInfo.Case_id = 病历卡号
            //presInfo.Inhos_code = 住院号
            //presInfo.Bed_no = 床号
            //presInfo.Patient_weight = 患者体重
            //presInfo.Patient_height = 患者身高
            presInfo.Patient_birth = DateTime.Parse(ent4BannerDTO.Dt_birth); //患者出生日期
            presInfo.Patient_name  = ent4BannerDTO.Name_pat;                 // 患者名称
            presInfo.Patient_sex   = ent4BannerDTO.Name_sex;                 // 患者性别
            //presInfo.Physiological_statms 生理状况
            //presInfo.Boacterioscopy_effect 菌检结果
            //presInfo.Bloodpressur 血压
            //presInfo.Liver_clean 肌酐清除率

            presInfo.AllergicHistories = this.GetAllergicHistory(); // 过敏史

            presInfo.Diagnoses = this.GetDiagnoses();               // 诊断

            presInfo.Prescriptions = this.GetPrescriptions();       // 获取处方

            return(null);
        }
Esempio n. 2
0
        /// <summary>
        /// 通过Ent4BannerDTO设置DIDTO中主表属性
        /// <para>该方法为未保存过诊断时调用</para>
        ///
        /// </summary>
        /// <param name="bannerDTO">banner数据</param>
        /// <param name="didto"></param>
        private void setCiDiagDOProperty(Ent4BannerDTO bannerDTO, DIDTO didto)
        {
            DeptDO   dept     = context.Dept;
            PsnInfo  psnInfo  = context.PsnInfo;
            DateTime dataTime = CommonExtentions.NowTime(this);

            didto.Id_emp_create      = psnInfo.Id_psndoc; // 开立医生 诊断医生 取当前登录人
            didto.Id_emp_create_name = psnInfo.Name;      // 开立医生姓名 医生姓名 取当前登录人
            didto.Dt_di              = dataTime;          // 诊断时间 (诊断时间与开立时间 Dt_create 重复,暂且都赋值)
            didto.Id_dep_create      = dept.Id_dep;       // 开立科室
            didto.Id_dep_create_name = dept.Name;         // 开立科室名称
            didto.Dt_create          = dataTime;          // 开立时间

            didto.Id_dep    = dept.Id_dep;                // 诊断科室  是否还有用?
            didto.Id_en     = bannerDTO.Id_ent;           // 就诊id
            didto.Id_pat    = bannerDTO.Id_pat;           // 患者id
            didto.Id_entp   = bannerDTO.Id_entp;          // 就诊类型
            didto.Code_entp = bannerDTO.Code_entp;        // 就诊类型编码

            didto.Id_emp_sign   = psnInfo.Id_psndoc;      // 签署人
            didto.Name_emp_sign = psnInfo.Name;           // 签署人名称
            didto.Id_dep_sign   = dept.Id_dep;            // 签署科室
            didto.Dt_sign       = dataTime;               // 签署时间

            didto.Fg_sign = FBoolean.True;                // 签署标志
        }
        /// <summary>
        /// 设置诊断与当前环境相关的属性
        /// </summary>
        /// <returns></returns>
        private DIDTO SetEnvironmentVariable(DIDTO diDTO)
        {
            // @@ 诊断映射可以统一优化
            DeptDO  dept    = this.context.Dept;
            PsnInfo user    = this.context.PsnInfo;
            PsnInfo psnInfo = UserManager.getInstance().CurrentPsnInfo; //.Id_psndoc;

            diDTO.Id_en     = this.ent4BannerDTO.Id_ent;                //就诊id
            diDTO.Id_pat    = this.ent4BannerDTO.Id_pat;                //患者id
            diDTO.Id_entp   = this.ent4BannerDTO.Id_entp;               //就诊类型
            diDTO.Code_entp = this.ent4BannerDTO.Code_entp;             //就诊类型编码

            diDTO.Id_ditp      = CiDictCodeConst.ID_OPDI;               //诊断类型 诊断过程状态 门诊、初步、入院、补充、修正、出院、死亡
            diDTO.Sd_ditp      = CiDictCodeConst.SD_OPDI;               //诊断类型编码
            diDTO.Id_ditp_name = "门诊诊断";                                //诊断类型名称

            diDTO.Id_emp_create      = user.Id_psndoc;                  //诊断医生
            diDTO.Id_emp_create_name = user.Name;                       //医生姓名
            diDTO.Id_dep             = dept.Id_dep;                     //诊断科室
            diDTO.Dt_di = CommonExtentions.NowTime(this);               //诊断时间

            diDTO.Id_emp_sign   = user.Id_psndoc;                       //签署人
            diDTO.Name_emp_sign = user.Name;                            //签署人名称
            diDTO.Fg_sign       = FBoolean.True;                        //签署标识
            diDTO.Id_dep_sign   = dept.Id_dep;                          //签署科室
            diDTO.Dt_sign       = CommonExtentions.NowTime(this);       //签署时间

            diDTO.Id_dep_create      = dept.Id_dep;                     //开立科室
            diDTO.Id_dep_create_name = dept.Name;                       //开立科室名称
            diDTO.Dt_create          = CommonExtentions.NowTime(this);  //开立时间

            // 根据诊断体系确定是中医诊断还是西医诊断,目前不是西医诊断都认为是中医诊断,蒙医、手术后续有调整是在判断
            // 西医标志 根据诊断体系判断,如果是西医诊断,设置为true,否则设置为false
            if (CiDictCodeConst.ID_CI_DISYS_XYZDTX.Equals(diDTO.Id_disys))
            {
                diDTO.Fg_med = FBoolean.True;
            }
            else
            {
                diDTO.Fg_med = FBoolean.False;
            }

            return(diDTO);
        }
Esempio n. 4
0
        public OrdChildfrm()
        {
            xap.mw.serviceframework.NetModule.init();

            this.Text = "";
            this.Size = new Size(401, 451);
            //this.TitleHeight = 0;
            this.Location = new Point(100, 10);
            // this.DarkEdgeBrush = new SolidBrush(Color.FromArgb(0, 153, 229));
            Twoflag               = false;
            btnOk                 = new XButton();
            pannel                = new XapBaseControl();
            btnOk.Text            = "确认";
            btnOk.MouseClick     += new MouseEventHandler(btnOk_MouseClick);
            btnOk.Location        = new Point(this.Width - btnOk.Size.Width * 2 - 50, this.Size.Height - btnOk.Size.Height - 6);
            btnCancel             = new XButton();
            btnCancel.Text        = "取消";
            btnCancel.MouseClick += new MouseEventHandler(btnCancel_MouseClick);
            btnCancel.Location    = new Point(btnOk.Location.X + btnOk.Size.Width + 25, btnOk.Location.Y);
            pannel.AddRender(btnOk);
            pannel.AddRender(btnCancel);
            pannel.SizeChanged += new EventHandler(pannel_SizeChanged);
            //  this.MouseClick += new MouseEventHandler(OrdChildfrm_MouseClick);
            pannel.Dock        = DockStyle.Fill;
            pannel.MouseClick += new MouseEventHandler(pannel_MouseClick);
            pannel.Paint      += new PaintEventHandler(Panel_Paint);
            pannel.BackColor   = Color.FromArgb(240, 240, 240);
            this.Panel         = pannel;

            this.model = new OrdChildfrmModel();
            DeptDO dept = UserManager.getInstance().CurrentDept;

            selectBrush = new SolidBrush(Color.FromArgb(0, 153, 229));
            moveBrush   = new SolidBrush(Color.FromArgb(210, 245, 255));
            first       = this.model.getOrdInputDto(null, null);

            //  Thread = this.model.getSrvOrTplItemDO(Second[1].Id_srvortpl);
            loaddata();
        }
Esempio n. 5
0
        /// <summary>
        /// 获取过敏史集合
        /// </summary>
        /// <returns></returns>
        //private List<PresInfo.AllergicHistory> GetAllergicHistory()
        //{

        //    List<PresInfo.AllergicHistory> allergicHistory = new List<PresInfo.AllergicHistory>();
        //    PresInfo.AllergicHistory allergic = new PresInfo.AllergicHistory();

        //    allergicHistory.Add(allergic);
        //    return allergicHistory;
        //}

        /// <summary>
        /// 设置处方分析中医生、患者相关属性
        /// </summary>
        /// <param name="presInfo"></param>
        private void SetDoctorPresInfo(CiEnContextDTO ctxDTO, ref PresInfo presInfo)
        {
            Ent4BannerDTO ent4BannerDTO = ctxDTO.Ent4BannerDTO;
            //UserDO user = this.context.User;
            PsnInfo psnInfo = ctxDTO.PsnInfo;
            DeptDO  dept    = ctxDTO.Dept;

            presInfo.Doctor_job_number = psnInfo.Code;                                                 //医生工号 TODO 医生工号?
            presInfo.Pres_date         = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); //处方日期 TODO 取当前日期是否可行
            presInfo.Doctor_name       = psnInfo.Name;                                                 // 医生名
            //presInfo.Doctor_type =  医生级别
            presInfo.Department_code = ent4BannerDTO.Id_dep_phy;                                       // 科室代码 ? 开立科室 本次就诊科室
            presInfo.Department_name = ent4BannerDTO.Name_dep_phy;                                     // 科室名称
            // 患者基本信息PI_PAT .CHIS条码号barcode_chis ;住院-- 住院号,患者基本信息PI_PAT .住院病案编号code_amr_ip
            presInfo.Case_id        = ent4BannerDTO.Code_amr_ip;                                       //病历卡号 TODO 确定属性内后在设置
            presInfo.Inhos_code     = ent4BannerDTO.Code_ent;                                          //门诊就诊号
            presInfo.Bed_no         = ent4BannerDTO.Name_bed;                                          //床号 门诊床号可以为空,实际大通不支持空值
            presInfo.Patient_weight = "";                                                              //患者体重
            presInfo.Patient_height = "";                                                              //患者身高
            if (!string.IsNullOrEmpty(ent4BannerDTO.Dt_birth))
            {
                try
                {
                    presInfo.Patient_birth = DateTime.Parse(ent4BannerDTO.Dt_birth); //患者出生日期
                }
                catch (Exception e)
                {
                    LogManager.GetLogger().ErrorEx("合理用药获取患者生日失败,生日值【" + ent4BannerDTO.Dt_birth + "】");
                }
            }
            presInfo.Patient_name          = ent4BannerDTO.Name_pat; // 患者名称
            presInfo.Patient_sex           = ent4BannerDTO.Name_sex; // 患者性别
            presInfo.Physiological_statms  = "";                     //生理状况
            presInfo.Boacterioscopy_effect = "";                     // 菌检结果
            presInfo.Bloodpressure         = "";                     // 血压
            presInfo.Liver_clean           = "";                     // 肌酐清除率
        }
Esempio n. 6
0
        /// <summary>
        /// 加载固定参数
        /// </summary>
        private bool loadSrvRefParamSucc()
        {
            // 校验是否设置表单属性
            if (string.IsNullOrEmpty(this.formId))
            {
                MessageBox.Show("请设置参照表单属性[FormId]");
                return(false);
            }
            //绑定表单id
            srvRefParamDto.Id_billform = this.formId;

            // 校验是否设置就诊类型编码
            if (string.IsNullOrEmpty(this.code_entp))
            {
                MessageBox.Show("请设置就诊类型属性[Code_entp]");
                return(false);
            }
            // 就诊类型
            srvRefParamDto.Code_entp = this.code_entp;

            // 设置所属的集团、组织、科室(部门)
            UserManager userManager = UserManager.getInstance();
            DeptDO      deptDO      = userManager.CurrentDept;

            srvRefParamDto.Id_grp = deptDO.Id_grp;
            srvRefParamDto.Id_org = deptDO.Id_org;
            srvRefParamDto.Id_dep = deptDO.Id_dep;


            //TODO 医生使用场景,确定属性值来源
            srvRefParamDto.Fg_doctor = FBoolean.True;

            this.loadDefaultParam();

            return(true);
        }
Esempio n. 7
0
        private void GetDoctorPresInfo(ref PresInfo presInfo)
        {
            UserDO user = this.Context.User;
            DeptDO dept = this.Context.Dept;

            presInfo.Doctor_job_number = user.Code;      //医生工号
            presInfo.Pres_date         = new DateTime(); //处方日期
            presInfo.Doctor_name       = user.Name;      // 医生名
            //presInfo.Doctor_type =  医生级别
            presInfo.Department_code = dept.Code;        // 科室代码 ? 开立科室
            presInfo.Department_name = dept.Name;        // 科室名称
            presInfo.Case_id         = "blkh0001";       //病历卡号
            //presInfo.Inhos_code = 住院号
            //presInfo.Bed_no = 床号
            presInfo.Patient_weight = "100Kg";                                //患者体重
            presInfo.Patient_height = "170cm";                                //患者身高
            presInfo.Patient_birth  = DateTime.Parse(ent4BannerDTO.Dt_birth); //患者出生日期
            presInfo.Patient_name   = ent4BannerDTO.Name_pat;                 // 患者名称
            presInfo.Patient_sex    = ent4BannerDTO.Name_sex;                 // 患者性别
            //presInfo.Physiological_statms 生理状况
            //presInfo.Boacterioscopy_effect 菌检结果
            //presInfo.Bloodpressur 血压
            //presInfo.Liver_clean 肌酐清除率
        }