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); }
/// <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); }
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(); }
/// <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 = ""; // 肌酐清除率 }
/// <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); }
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 肌酐清除率 }