/// <summary>
        /// 通过已保存的诊断主表设置DIDTO中主表属性
        /// </summary>
        /// <param name="item"></param>
        /// <param name="didto"></param>
        private void setCiDiagDOProperty(CiDiagDO cidiagDO, DIDTO didto)
        {
            //didto.Id_ditp = cidiagDO.Id_ditp; // 诊断类型 诊断过程状态_自定义档案
            //didto.Sd_ditp = cidiagDO.Sd_ditp;// 诊断类型编码
            //didto.Id_ditp_name = cidiagDO.Id_ditp_name; // 诊断类型名称

            didto.Id_di = cidiagDO.Id_di;                               // 诊断主表id

            didto.Id_emp_create      = cidiagDO.Id_emp_create;          // 开立医生 诊断医生 取当前登录人
            didto.Id_emp_create_name = cidiagDO.Empname;                // 开立医生姓名 医生姓名 取当前登录人
            didto.Dt_di              = CommonExtentions.NowTime(this);; // 诊断时间 当前时间
            didto.Id_dep_create      = cidiagDO.Id_dep_create;          // 开立科室
            didto.Id_dep_create_name = cidiagDO.Name_dep_create;        // 开立科室名称
            didto.Dt_create          = cidiagDO.Dt_create;              // 开立时间

            //didto.Id_dep = ""; // 诊断科室
            didto.Id_en     = cidiagDO.Id_en;           // 就诊id
            didto.Id_pat    = cidiagDO.Id_pat;          // 患者id
            didto.Id_entp   = cidiagDO.Id_entp;         // 就诊类型
            didto.Code_entp = cidiagDO.Code_entp;       // 就诊类型编码

            didto.Id_emp_sign   = cidiagDO.Id_emp_sign; // 签署人
            didto.Name_emp_sign = cidiagDO.Signname;    // 签署人名称
            didto.Id_dep_sign   = cidiagDO.Id_dep_sign; // 签署科室
            didto.Dt_sign       = cidiagDO.Dt_sign;     // 签署时间
            didto.Fg_sign       = FBoolean.True;        // 签署标志
        }
Beispiel #2
0
        /// <summary>
        /// 通过临床诊断获取诊断展现卡的对象
        /// </summary>
        /// <param name="cidiag">临床诊断</param>
        /// <returns></returns>
        private CardContainer getCardInfo(CiDiagDO cidiag)
        {
            CardContainer cardInfo = new CardContainer(group);

            if (cidiag.Sd_ditp == CiDictCodeConst.SD_OPDI || cidiag.Sd_ditp == CiDictCodeConst.SD_FIRST || cidiag.Sd_ditp == CiDictCodeConst.SD_INHOSPITAL)
            {
                cardInfo.CardPosition = CardPosition.right;
            }
            else
            {
                cardInfo.CardPosition = CardPosition.left;
            }

            cardInfo.CardTitle = cidiag.Name_ditp;

            //info1.CardContent = "1,眼硅胶排异反应\n2,肺移植失败——1321324341435436547667879809-0=-";
            if ((bool)cidiag.Fg_sign)
            {
                cardInfo.CardPerson = cidiag.Signname;
                cardInfo.CardTime   = Convert.ToDateTime(cidiag.Dt_sign.ToString());
            }
            else
            {
                cardInfo.CardPerson = cidiag.Empname;
                cardInfo.CardTime   = Convert.ToDateTime(cidiag.Dt_di.ToString());
            }

            return(cardInfo);
        }
        public DIDTO[] GetDIDTO(string id_ent)
        {
            string condition = String.Format("dt_di=(select max(DI.dt_di) from ci_di DI where DI.id_en='{0}')", id_ent);

            CidiagAggDO[] diagAggDO = iCidiagCrudService.find(condition, "", FBoolean.False);
            List <DIDTO>  didtoList = new List <DIDTO>();

            if (diagAggDO.Length <= 0)
            {
                return(didtoList.ToArray());
            }
            CiDiagDO cidiagDO = diagAggDO[0].getParentDO();

            CiDiagItemDO[] ciDiagItemDOs = diagAggDO[0].getCiDiagItemDO();



            foreach (CiDiagItemDO itemDO in ciDiagItemDOs)
            {
                DIDTO didto = new DIDTO();

                this.setCiDiagItemProperty(itemDO, didto);
                this.setCiDiagDOProperty(cidiagDO, didto);

                didto.Id_diitm = itemDO.Id_diitm;                                 // 子表主键
                didto.Fg_majdi = itemDO.Fg_majdi;                                 // 主诊断标识
                didto.Sortno   = (Convert.ToInt32(itemDO.Sortno) + 1).ToString(); // 通过记录数,设置诊断的排序号

                didtoList.Add(didto);
            }
            return(didtoList.ToArray());
        }
Beispiel #4
0
        /// <summary>
        /// 通过以保存的CidiagAggDO 构造List<DIDTO>对象
        /// </summary>
        /// <param name="cidiagAggDO">已经保存的诊断对象</param>
        /// <param name="idDidefList">缓存诊断定义id,用于过滤重复诊断</param>
        /// <returns></returns>
        private List <DIDTO> GetSavedDidtoList(CidiagAggDO cidiagAggDO, List <string> idDidefList)
        {
            List <DIDTO> didtoList = new List <DIDTO>();

            CiDiagDO cidiagDO = cidiagAggDO.getParentDO();

            CiDiagItemDO[] cidiagItems = cidiagAggDO.getCiDiagItemDO();

            foreach (CiDiagItemDO itemDO in cidiagItems)
            {
                DIDTO didto = new DIDTO();

                // 从数据库中查询出的诊断不存在重复,用于过滤选取的历史诊断是否存在重复
                idDidefList.Add(itemDO.Id_didef);

                this.setCiDiagItemProperty(itemDO, didto);
                this.setCiDiagDOProperty(cidiagDO, didto);

                //didto.Id_diitm = itemDO.Id_diitm; // 子表主键
                didto.Fg_majdi = itemDO.Fg_majdi;                // 主诊断标识
                didto.Sortno   = (idDidefList.Count).ToString(); // 通过记录数,设置诊断的排序号

                didtoList.Add(didto);
            }
            return(didtoList);
        }
Beispiel #5
0
        public CidiagAggDO DeleteCiDiag(CiDiagDO ciDiagDo)
        {
            List <object> param = new List <object>();

            param.Add(ciDiagDo);
            si.url = url;
            CidiagAggDO rtn = si.invoke <CidiagAggDO>("DeleteCiDiag", param.ToArray());

            return(rtn);
        }
Beispiel #6
0
        public string saveEntDiag(EntDiDO[] list, CiDiagDO ciDiagDo, string type)
        {
            List <object> param = new List <object>();

            param.Add(list);
            param.Add(ciDiagDo);
            param.Add(type);
            si.url = url;
            EntDiDO[] rtn = si.invokeList <EntDiDO>("SaveEntDiagList", param.ToArray());
            return("");
        }
        private CidiagAggDO CreateCidiagAggDO(Ent4BannerDTO e)
        {
            var aggdo = new CidiagAggDO();

            var pdo = new CiDiagDO {
                Code_dep_create = UserManager.getInstance().CurrentDept.Code,
                Code_ditp       = CiDictCodeConst.SD_OPDI,
                Code_entp       = e.Code_entp,
                Createdby       = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Createdtime     = CommonExtentions.NowTime(this),
                //Des_di
                //Ds
                Dt_create     = CommonExtentions.NowTime(this),
                Dt_di         = CommonExtentions.NowTime(this),
                Dt_sign       = CommonExtentions.NowTime(this),
                Empcode       = UserManager.getInstance().CurrentPsnInfo.Code,
                Empname       = UserManager.getInstance().CurrentPsnInfo.Name,
                Fg_sign       = true,
                Id_dep        = UserManager.getInstance().CurrentDept.Id_dep,
                Id_dep_create = UserManager.getInstance().CurrentDept.Id_dep,
                Id_dep_sign   = UserManager.getInstance().CurrentDept.Id_dep,
                //Id_di
                Id_ditp       = CiDictCodeConst.ID_OPDI,
                Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Id_emp_sign   = UserManager.getInstance().CurrentPsnInfo.Id_psndoc,
                Id_en         = e.Id_ent,
                Id_entp       = e.Id_entp,
                Id_grp        = UserManager.getInstance().CurrentGroup.Id_grp,
                Id_org        = UserManager.getInstance().CurrentOrg.Id_org,
                Id_pat        = e.Id_pat,
                //Modifiedby
                //Modifiedtime
                Name            = "门诊诊断",
                Name_dep_create = UserManager.getInstance().CurrentDept.Name,
                Name_dep_sign   = UserManager.getInstance().CurrentDept.Name,
                Name_ditp       = "门诊诊断",
                Sd_ditp         = CiDictCodeConst.SD_OPDI
                                  //Signcode
                                  //Signname
            };

            aggdo.setParentDO(pdo);
            aggdo.setCiDiagItemDO(new CiDiagItemDO[] { new CiDiagItemDO {
                                                           Id_disys = CiDictCodeConst.ID_CI_DISYS_XYZDTX
                                                       },
                                                       new CiDiagItemDO {
                                                           Id_disys = CiDictCodeConst.ID_CI_DISYS_ZYZDTX
                                                       } });
            return(aggdo);
        }
 /// <summary>
 /// 根据id值查找临床诊断AggDO数据
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public CiDiagDO findById(String id)
 {
     #region "缓存处理"
     if (ch.IsCached("findById"))
     {
         return(ch.findById(id));
     }
     #endregion
     List <object> param = new List <object>();
     param.Add(id);
     si.url = url_r;
     CiDiagDO rtn = si.invoke <CiDiagDO>("findById", param.ToArray());
     return(rtn);
 }
Beispiel #9
0
        public void Reload(String id_en)
        {
            HeadDiDiagDO = null;
            this.xyCidiList.Clear();
            this.zyCidiList.Clear();

            if (id_en != null)
            {
                string        sql           = string.Format("a0.id_en='{0}'", id_en);
                CidiagAggDO[] szCidiagAggDO = cidiagCrud.find(sql, "a0.createdtime ", false);

                if (szCidiagAggDO.Length > 0)
                {
                    CidiagAggDO diAggDo = szCidiagAggDO.LastOrDefault();

                    initCiDiDtoModel(diAggDo);
                }
            }
            else
            {
                CiLog4OpStation.WriteLog("错误:在加载诊断数据时候,患者就诊id为空");
            }

            if (this.HeadDiDiagDO == null)
            {
                HeadDiDiagDO               = new CiDiagDO();
                HeadDiDiagDO.Id_ditp       = CiDictCodeConst.ID_OPDI;
                HeadDiDiagDO.Sd_ditp       = CiDictCodeConst.SD_OPDI;
                HeadDiDiagDO.Des_di        = "";
                HeadDiDiagDO.Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;

                HeadDiDiagDO.Dt_di = CommonExtentions.NowTime(this);
            }

            if (this.xyCidiList.Count == 0)
            {
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
                this.xyCidiList.Add(new Cidixy());
            }
            if (this.zyCidiList.Count == 0)
            {
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
                this.zyCidiList.Add(new Cididtozy());
            }
        }
        /// <summary>
        /// 根据已经保存的诊断明显获取诊断
        /// </summary>
        /// <param name="cidiagDO">临床诊断</param>
        /// <param name="item">诊断明细</param>
        /// <returns></returns>
        private DIDTO GetDIDTOBySavedItem(CiDiagDO cidiagDO, CiDiagItemDO item)
        {
            DIDTO diDTO = new DIDTO();

            //diDTO.Id_di = cidiagDO.Id_di; //诊断ID
            diDTO.Id_didef   = item.Id_didef;                 //基础数据诊断id
            diDTO.Didef_code = item.Didef_code;               //诊断编码
            diDTO.Didef_name = item.Didef_name;               //诊断名称

            diDTO.Id_didef_syn      = item.Id_didef_syn;      //证候诊断
            diDTO.Id_didef_syn_code = item.Id_didef_syn_code; //证候诊断编码
            diDTO.Id_didef_syn_name = item.Id_didef_syn_name; //证候诊断名称
            diDTO.Fg_suspdi         = item.Fg_suspdi;         //疑似
            diDTO.Supplement        = item.Supplement;        //补充说明

            //diDTO.Fg_infedi = null; //传染病标志 怎么来的?
            //diDTO.Id_par = item.Id_parent; //上级 门诊没有父子诊断不设置

            diDTO.Fg_majdi      = item.Fg_majdi;      //主要诊断
            diDTO.Id_disys      = item.Id_disys;      //诊断体系编码 中医诊断体系、西医诊断体系、(蒙医、手术)
            diDTO.Sd_disys      = item.Sd_disys;      //诊断体系sd
            diDTO.Id_disys_name = item.Id_disys_name; //诊断体系名称

            diDTO.Di_disease      = item.Id_didef;    //疾病诊断id
            diDTO.Id_disease_name = item.Didef_name;  //疾病诊断名称
            diDTO.Id_disease_code = item.Didef_code;  //疾病诊断编码
            diDTO.Fg_self         = item.Fg_self;     //自定义诊断标识
            //diDTO.Innercode = null; //内部编码 诊断保存时生成
            diDTO.Fg_ur      = FBoolean.False;        //上报标识
            diDTO.Fg_chronic = item.Fg_chronic;       //慢性病标志
            diDTO.Fg_special = item.Fg_special;       //特种病标志

            //diDTO.Des_di = mkrMsDIDO.Des_di; //诊断描述 后台保存时生成
            // diDTO.Sortno = mkrMsDIDO.Sortno; //序号 查询出整体的诊断在设置编码

            diDTO.Di_standard_name = item.Di_standard_name; //诊断标准名称
            diDTO.Di_standard      = item.Di_standard_name; //诊断标准
            diDTO.Di_standard_code = item.Di_standard_name; //标准编码
            //diDTO.Id_diitm = item.Id_diitm; //子表主键

            return(SetEnvironmentVariable(diDTO));
        }
        /// <summary>
        /// 获取已保存的DIDTO集合
        /// </summary>
        /// <returns></returns>
        private List <DIDTO> GetSavedDIDTOs(string idEn)
        {
            List <DIDTO> didtoList = new List <DIDTO>();

            // 获取已经保存的诊断agg
            CidiagAggDO cidiagAgg = this.GetCidiagAggDO(idEn);

            if (cidiagAgg == null)
            {
                return(didtoList);
            }
            CiDiagDO cidiagDO = cidiagAgg.getParentDO();

            CiDiagItemDO[] cidiItems = cidiagAgg.getCiDiagItemDO();

            // 将已保存的诊断agg转换成DIDTO集合
            foreach (CiDiagItemDO cidiItem in cidiItems)
            {
                DIDTO didto = GetDIDTOBySavedItem(cidiagDO, cidiItem);
                didtoList.Add(didto);
            }

            return(didtoList);
        }
Beispiel #12
0
 public void DleteCidiag(CiDiagDO ciDiagDo)
 {
     this.mainService.DeleteCiDiag(ciDiagDo);
 }