/// <summary> /// 中医 /// </summary> /// <param name="cidiListxy"></param> /// <param name="ciagg"></param> /// <param name="item"></param> private void getCidizy(List <Cididtozy> cidiListzy, CidiagAggDO ciagg, CiDiagItemDO item) { Cididtozy xy = new Cididtozy(); xy.Id_diitm = item.Id_diitm; xy.Di_disease = item.Id_didef; xy.Id_disease_code = item.Didef_code; xy.Id_disease_name = item.Didef_name; xy.Id_ditp = ciagg.getParentDO().Id_ditp; xy.Sd_ditp = ciagg.getParentDO().Sd_ditp; xy.Id_syndrome = item.Id_didef_syn; xy.Id_syndrome_code = item.Id_didef_syn_code; xy.Id_syndrome_name = item.Id_didef_syn_name; xy.Id_ditp_name = ciagg.getParentDO().Name_ditp; xy.Id_disys = item.Id_disys; xy.Id_disys_name = item.Id_disys_name; xy.Di_standard = item.Di_standard; xy.Di_standard_code = item.Di_standard_code; xy.Di_standard_name = item.Di_standard_name; xy.Id_disys_name = item.Id_disys_name; xy.Fg_majdi = item.Fg_majdi; xy.Fg_suspdi = item.Fg_suspdi; xy.Sd_disys = item.Sd_disys; cidiListzy.Add(xy); this.zyCidiList.Add(xy); }
/// <summary> /// 用CidiagAggDO 对象数据填充中医诊断明细数据列表 /// </summary> /// <param name="cidiListxy"></param> /// <param name="ciagg"></param> /// <param name="item"></param> private void fillCidizyList(List <Cididtozy> cidiListzy, CidiagAggDO cidiagAggDO, CiDiagItemDO item) { Cididtozy xy = new Cididtozy(); //xy.Id_diitm = item.Id_diitm; xy.Di_disease = item.Id_didef; xy.Id_disease_code = item.Didef_code; xy.Id_disease_name = item.Didef_name; xy.Id_ditp = cidiagAggDO.getParentDO().Id_ditp; xy.Sd_ditp = cidiagAggDO.getParentDO().Sd_ditp; xy.Id_syndrome = item.Id_didef_syn; xy.Id_syndrome_code = item.Id_didef_syn_code; xy.Id_syndrome_name = item.Id_didef_syn_name; xy.Id_ditp_name = cidiagAggDO.getParentDO().Name_ditp; xy.Id_disys = item.Id_disys; xy.Id_disys_name = item.Id_disys_name; xy.Di_standard = item.Di_standard; xy.Di_standard_code = item.Di_standard_code; xy.Di_standard_name = item.Di_standard_name; xy.Id_disys_name = item.Id_disys_name; xy.Fg_majdi = item.Fg_majdi; xy.Fg_suspdi = item.Fg_suspdi; xy.Sd_disys = item.Sd_disys; xy.Fg_ur = item.Fg_ur; xy.Fg_chronic = item.Fg_chronic; xy.Fg_special = item.Fg_special; xy.Id_infectiontp = item.Id_infectiontp; xy.Sd_infectiontp = item.Sd_infectiontp; xy.Fg_hpbeyond = (item.Eu_hpbeyond == "1") ? true : false; cidiListzy.Add(xy); }
/// <summary> /// 根据就诊获取本次就诊对应的诊断 /// </summary> /// <param name="id_en"></param> /// <returns></returns> public List <CiDiagItemDO> GetCiDiagItemList(String id_en) { List <CiDiagItemDO> ciDiItemList = new List <CiDiagItemDO>(); CidiagAggDO cidiAggDO = GetCidiagAggDO(id_en); if (cidiAggDO != null) { CiDiagItemDO[] items = cidiAggDO.getCiDiagItemDO(); if (items != null) { foreach (CiDiagItemDO item in items) { if (FBoolean.True == item.Fg_majdi) { ciDiItemList.Insert(0, item); } else { ciDiItemList.Add(item); } } } } return(ciDiItemList); }
/// <summary> /// 通过诊断列表选择的诊断 构造List<DIDTO>对象 /// </summary> /// <param name="bannerDTO"></param> /// <param name="itemDOList"></param> /// <returns></returns> private List <DIDTO> GetSeledDidtoList(CidiagAggDO cidiagAggDO, Ent4BannerDTO bannerDTO, List <CiDiagItemDO> itemDOList, List <string> idDidefList) { string idDi = null; // 未保存过诊断情况,cidiagAggDO = null if (cidiagAggDO != null) { idDi = cidiagAggDO.getParentDO().Id_di; } List <DIDTO> didtoList = new List <DIDTO>(); foreach (CiDiagItemDO itemDO in itemDOList) { // 列表中已有相同诊断,不重复添加 if (idDidefList.Contains(itemDO.Id_didef)) { continue; } DIDTO didto = new DIDTO(); idDidefList.Add(itemDO.Id_didef); this.setCiDiagItemProperty(itemDO, didto); this.setCiDiagDOProperty(bannerDTO, didto); didto.Sortno = (idDidefList.Count).ToString(); didto.Id_di = idDi; didtoList.Add(didto); } return(didtoList); }
/// <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); }
/// <summary> /// 通过界面选择的诊断构造DIDTO对象集合 /// </summary> /// <param name="bannerDTO"></param> /// <param name="itemDOList"></param> /// <returns></returns> private List <DIDTO> GetDIDTOList(Ent4BannerDTO bannerDTO, List <CiDiagItemDO> itemDOList) { // 疾病诊断id集合,用于过滤重复诊断 List <string> idDidefList = new List <string>(); List <DIDTO> didtoList = new List <DIDTO>(); List <DIDTO> resultDidtoList = new List <DIDTO>(); // 获取本次就诊的最新诊断 CidiagAggDO cidiagAggDO = this.GetCidiagAggDO(bannerDTO.Id_ent); if (cidiagAggDO != null) { // 如果已经保存过诊断,获取保存过的诊断 didtoList.AddRange(this.GetSavedDidtoList(cidiagAggDO, idDidefList)); } // 获取界面选择的诊断 didtoList.AddRange(this.GetSeledDidtoList(cidiagAggDO, bannerDTO, itemDOList, idDidefList)); // 如果是首次保存,将界面选取的第一条诊断设置为主诊断 if (cidiagAggDO == null) { didtoList[0].Fg_majdi = FBoolean.True; } return(didtoList); }
public void getOnSelected(String id_di) { if (id_di != null) { CidiagAggDO ciagg = cidiagCrud.findById(id_di); getCiDiDtoList(ciagg); } }
public OpDiModifyDialogModel(string id_di) : this() { if (id_di != null) { CidiagAggDO ciagg = cidiagCrud.findById(id_di); getCiDiDtoList(ciagg); } }
/// <summary> /// 发送数处理选中数据事件 /// </summary> /// <param name="args"></param> public void SaveSelResultEvent(Dictionary <string, object> result) { // 诊断保存的记录数,用于判断诊断是否保存成功 int cidiSavedCnt = 0; // 诊断Agg对象,用于判断数据库中是否存在诊断 CidiagAggDO cidiAgg = null; // 获取当前选择的历史就诊中是否包含诊断,如果不包含诊断查询数据库中是否存在诊断,如果不存在不允许保存病历、医嘱 List <CiDiagItemDO> cidiItemList = null; Dictionary <string, object> .KeyCollection selItemKeys = result.Keys; if (selItemKeys.Contains(OP_CIDIAG)) { cidiItemList = result[OP_CIDIAG] as List <CiDiagItemDO>; } else if (selItemKeys.Contains(IP_CIDIAG)) { cidiItemList = result[IP_CIDIAG] as List <CiDiagItemDO>; } if (cidiItemList == null || cidiItemList.Count == 0) {// 就诊历史中未选择诊断,查询是否已经保存过诊断 cidiAgg = model.GetCidiagAggDO(this.Ent4BannerDTO.Id_ent); } else { cidiSavedCnt = this.SaveCiDiag(cidiItemList); if (cidiSavedCnt == 0) { MessageBoxEx.Show("调用就诊历史保存诊断失败,请联系信息中心!", "就诊历史", MessageBoxButtons.OK, MessageBoxIconEx.Error, MessageBoxDefaultButton.Button1); return; } } // 诊断不为空时可以进行医嘱保存 if (cidiSavedCnt == 0 && cidiAgg == null && selItemKeys.Contains(ORDER_ITEM) && result[ORDER_ITEM] != null) { BizAssMessageBoxUtil.ShowCidiIsNullMsg("就诊历史"); return; } if (selItemKeys.Contains(ORDER_ITEM) && result[ORDER_ITEM] != null) { this.LoadCiEms(result[ORDER_ITEM]); } if (selItemKeys.Contains(OUTP_MR)) { this.FireMrWriteBackBizEvent(result[OUTP_MR]); } if (entpHistoryFrame != null) { entpHistoryFrame.Close(); } }
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); }
private void getCiDiDtoList(CidiagAggDO ciagg) { DidtoAggDTO agg = new DidtoAggDTO(); Headdto headdto = new Headdto(); if (ciagg != null && ciagg.getCiDiagItemDO() != null) { List <Cidixy> cidiListxy = new List <Cidixy>(); List <Cididtozy> cidiListzy = new List <Cididtozy>(); //int i = 0; headdto.Id_ditp = ciagg.getParentDO().Id_ditp; headdto.Id_ditp_code = ciagg.getParentDO().Sd_ditp; headdto.Id_ditp_name = ciagg.getParentDO().Name_ditp; headdto.Dt_di = ciagg.getParentDO().Dt_di; headdto.Id_emp_create = ciagg.getParentDO().Id_emp_create; headdto.Id_emp_create_name = ciagg.getParentDO().Empname; //this.CidixyAggDto.AggDO.getParentDO().Id_ditp = ciagg.getParentDO().Id_ditp; //this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code = ciagg.getParentDO().Sd_ditp; //this.CidixyAggDto.AggDO.getParentDO().Id_ditp_name = ciagg.getParentDO().Name_ditp; //this.CidixyAggDto.AggDO.getParentDO().Dt_di = ciagg.getParentDO().Dt_di; //this.CidixyAggDto.AggDO.getParentDO().Id_emp_create = ciagg.getParentDO().Id_emp_create; //this.CidixyAggDto.AggDO.getParentDO().Id_emp_create_name = ciagg.getParentDO().Empname; agg.setParentDO(headdto); foreach (CiDiagItemDO item in ciagg.getCiDiagItemDO()) { if (item.Id_disys == CiDictCodeConst.ID_CI_DISYS_XYZDTX) //判断 西医 { getCidixy(cidiListxy, ciagg, item); } else if (item.Id_disys == CiDictCodeConst.ID_CI_DISYS_ZYZDTX) //判断中医 { getCidizy(cidiListzy, ciagg, item); } else { //todo 暂时 其它体系 getCidixy(cidiListxy, ciagg, item); } } agg.setCidixy(cidiListxy.ToArray()); agg.setCididtozy(cidiListzy.ToArray()); // this.CidixyAggDto.AggDO.setCididtozy(cidiListzy.ToArray()); //this.CidixyAggDto.AggDO.setCidixy(cidiListxy.ToArray()); // this.CidixyAggDto.AggDO.setCidixy(cidiListxy.ToArray()); // this.CidixyAggDto.AggDO.setCididtozy(cidiListzy.ToArray()); this.CidixyAggDto = new XapAggDO <DidtoAggDTO>(qrySerice, agg); } }
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 CidiagAggDO 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; CidiagAggDO rtn = si.invoke <CidiagAggDO>("findById", param.ToArray()); return(rtn); }
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="title">提示框标题</param> /// <returns></returns> private bool IsWriteCiDi(string title) { if (this.ent4BannerDTO == null || this.ent4BannerDTO.Id_ent == null) { BizAssMessageBoxUtil.ShowCidiIsNullMsg("患者信息为空"); return(false); } CidiagAggDO cidiAgg = cidiViewModel.GetCidiagAggDO(this.ent4BannerDTO.Id_ent); if (cidiAgg == null) { BizAssMessageBoxUtil.ShowCidiIsNullMsg(title); return(false); } return(true); }
public bool IsEmptyModel(string id_en) { bool isEmpty = true; if (id_en.Length > 0) { 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(); CiDiagItemDO[] itemDOs = diAggDo.getCiDiagItemDO(); isEmpty = itemDOs == null || itemDOs.Length <= 0; } } return(isEmpty); }
/// <summary> /// 初始化中心诊断列表数据源 /// </summary> /// <param name="cidiagAggDO"></param> private void initCiDiDtoModel(CidiagAggDO cidiagAggDO) { if (cidiagAggDO != null && cidiagAggDO.getCiDiagItemDO() != null) { HeadDiDiagDO = cidiagAggDO.getParentDO(); List <Cidixy> listCidixy = new List <Cidixy>(); List <Cididtozy> listCidizy = new List <Cididtozy>(); AllList = new List <string>(); foreach (CiDiagItemDO item in cidiagAggDO.getCiDiagItemDO()) { AllList.Add(item.Didef_code); if (item.Id_disys == CiDictCodeConst.ID_CI_DISYS_XYZDTX) //判断 西医 { fillCidixyList(listCidixy, cidiagAggDO, item); } else if (item.Id_disys == CiDictCodeConst.ID_CI_DISYS_ZYZDTX) //判断中医 { fillCidizyList(listCidizy, cidiagAggDO, item); } else { //todo 暂时 其它体系 } } listCidixy.ForEach(xy => { this.xyCidiList.Add(xy); }); listCidizy.ForEach(zy => { this.zyCidiList.Add(zy); }); // 中医和西医诊断条目默认4条 int xyCidiListCount = this.xyCidiList.Count; for (int index = 0; index < nDefaultRowCount - xyCidiListCount; ++index) { this.xyCidiList.Add(new Cidixy()); } int zyCididtozyListCount = this.zyCidiList.Count; for (int index = 0; index < nDefaultRowCount - zyCididtozyListCount; ++index) { this.zyCidiList.Add(new Cididtozy()); } } }
/// <summary> /// 西医 /// </summary> /// <param name="cidiListxy"></param> /// <param name="ciagg"></param> /// <param name="item"></param> private void getCidixy(List <Cidixy> cidiListxy, CidiagAggDO ciagg, CiDiagItemDO item) { Cidixy xy = new Cidixy(); xy.Id_diitm = item.Id_diitm; xy.Id_didef = item.Id_didef; xy.Id_didef_code = item.Didef_code; xy.Id_didef_name = item.Didef_name; xy.Id_ditp = ciagg.getParentDO().Id_ditp; xy.Id_ditp_code = ciagg.getParentDO().Code_ditp; xy.Id_ditp_name = ciagg.getParentDO().Name_ditp; xy.Id_disys = item.Id_disys; xy.Id_disys_name = item.Id_disys_name; xy.Di_standard = item.Di_standard; xy.Di_standard_code = item.Di_standard_code; xy.Di_standard_name = item.Di_standard_name; xy.Id_disys_name = item.Id_disys_name; xy.Fg_majdi = item.Fg_majdi; xy.Fg_suspdi = item.Fg_suspdi; xy.Supplement = item.Supplement; xy.Sd_disys = item.Sd_disys; cidiListxy.Add(xy); this.xyCidiList.Add(xy); }
/// <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); }
public void SetCidiagAggDO(CidiagAggDO o) { this.cidiagAggDO = o; }