protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e) { object emsObj = this.GetViewModel().GetEmsUIDTO(); if (emsObj != null) { EmsUIDTO emsUiDto = emsObj as EmsUIDTO; if (emsUiDto.PatInfo != null) { if (isHideSelfpay(emsUiDto.PatInfo)) { if (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") != null) { (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as XLabelBaseUserRender).Visible = false; } } else { //医保共享验证 CiEnContextDTO ciEnContextDto = CiEnContextUtil.GetCiEnContext(emsUiDto.PatInfo, EmsAppModeEnum.SVEMSAPPMODE, this.Context);//诊断是否保外的 if (ciEnContextDto.Eu_hpbeyond == HpBeyondEnum.HPEXTERNALDIAG) { if (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") != null) { (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as XLabelBaseUserRender).Checked = true; (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as XLabelBaseUserRender).Enabled = false; } } } } } }
/// <summary> /// 获取处方 /// </summary> /// <param name="ent4BannerDTO"></param> /// <param name="idOrs"></param> /// <returns></returns> private PresInfo GetPresInfo(CiEnContextDTO ctxDTO, List <string> idOrList) { Ent4BannerDTO ent4BannerDTO = ctxDTO.Ent4BannerDTO; // 获取本次就诊的已签署的药品医嘱以及ordIds 对应的医嘱 OrdRationalDrugDTO[] rationalDrugs = iCiOrdQryService.getRationalDrugDTOs(ent4BannerDTO, idOrList.ToArray()); PresInfo presInfo = new PresInfo(); // 设置医生患者信息 this.SetDoctorPresInfo(ctxDTO, ref presInfo); // 获取过敏史,生理状况 OverviewAggDO overivewAgg = this.GetAllergicHistory(ctxDTO.Id_pat); // 设置过敏史 this.SetAllergicHistory(ref presInfo, overivewAgg.getPiPatAlDO()); // 设置诊断 this.SetDiagnoses(ref presInfo, ctxDTO.Id_en); //设置生理状况 this.SetPhysiological(ref presInfo, overivewAgg.getPiPatPhyDO()); // 设置处方 this.SetPrescription(ref presInfo, rationalDrugs, idOrList); return(presInfo); }
/// <summary> /// 设置环境参数的保外诊断相关属性 /// </summary> /// <param name="conetxtDTO"></param> /// <param name="ciDiagItems"></param> public static void SetHpCiDiagItem(CiEnContextDTO conetxtDTO, CiDiagItemDO[] ciDiagItems) { if (conetxtDTO.Fg_hpfundpay != FBoolean.True || ciDiagItems == null || ciDiagItems.Length == 0) { return; } // 保外诊断集合 StringBuilder builder = new StringBuilder(); foreach (CiDiagItemDO ciDiagItem in ciDiagItems) { // 存在保外诊断时,将conetxtDTO保外诊断属性设置为1,并拼接保外诊断id if (ciDiagItem.Eu_hpbeyond == HpBeyondEnum.HPEXTERNALDIAG) { conetxtDTO.Eu_hpbeyond = HpBeyondEnum.HPEXTERNALDIAG; builder.Append("," + ciDiagItem.Id_didef); } } // 基本医保判断结果数据信息 // 添加基本医保判断结果属性 // 第一位 医保就诊为1 非医保就诊为0 // 第二位 黑白名单: 白名单为0 黑名单为 1 非医保就诊时为9 // 第三位 是否为保外诊断:保外诊断 0 保内诊断 1 非医保就诊时为 9 conetxtDTO.Bhpjudgerst = (conetxtDTO.Fg_hpfundpay == FBoolean.True ? "1" : "0") + conetxtDTO.Eu_inhpbbr + conetxtDTO.Eu_hpbeyond; // 设置保外诊断id_didef拼接串 if (builder.Length > 0) { conetxtDTO.Des_bhpjudgerst = builder.Remove(0, 1).ToString(); } }
protected virtual void OnBeforeCallServiceSave(CiEmsDTO ems) { // TODO: 费用数据 -> ciemsdto(合并) if (expenseList.Count > 0) { this.MergeExpenseSrv(this.expenseList.ToArray(), ems); } if (ems.Times_cur == null) { ems.Times_cur = CalQuantumUtil.GetInstance().getTotalTimes(ems.Id_freq, ems.Days_or); } //if (ems.Freqct != null && ems.Days_or != null&& ems.Times_mp_in == null && ems.Fg_mp_in != null && ems.Fg_mp_in.GetValueOrDefault(false)) { // ems.Times_mp_in = ems.Freqct * ems.Days_or; //} //门诊中频次为once,使用天数设置为0;结束时间=开始时间+使用天数 ciUseDayAndDtEnd(ems); // 添加基本医保判断结果属性 // 第一位 医保就诊为1 非医保就诊为0 // 第二位 黑白名单: 白名单为0 黑名单为 1 非医保就诊时为9 // 第三位 是否为保外诊断:保外诊断 0 保内诊断 1 非医保就诊时为 9 CiEnContextDTO contextDTO = CiEnContextUtil.GetCiEnContext(this.ent4BannerDTO, EmsAppModeEnum.SVEMSAPPMODE); ems.Fg_vip = this.ent4BannerDTO.Fg_gcvip;//vip标识 ems.Bhpjudgerst = contextDTO.Bhpjudgerst; ems.Des_bhpjudgerst = contextDTO.Des_bhpjudgerst; //医保保外诊断的处理,fg_selfpay=Y,fg_indic=false foreach (CiEmsSrvDTO ciemssrvdto in ems.Emssrvs) { HpJudgeUtil.HandleCiEmsSrvDTOHPInfo(ciemssrvdto); } }
/// <summary> /// 根据就诊信息费用清单数据 /// </summary> /// <returns></returns> public bool newLoad() { if (this.GetEnt4BannerDTO() == null) { return(false); } FeeListLoadDTO feeListLoadDTO = new FeeListLoadDTO(); CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; if (ciEnContextDTO == null) { return(false); } feeListLoadDTO.EnContext = ciEnContextDTO; FeeListRstDTO feeListRstDTO = iCiFeeListMainService.load(feeListLoadDTO); FArrayList feeList = feeListRstDTO.Document as FArrayList; if (null != feeList && feeList.Count > 0) { this.tableDatasource = feeList.Cast <CiOrdFeeSrvDTO>().ToArray(); // 控件不支持,不应该直接改写对象 } else { //this.errorMsgString = "获取费用清单数据失败"; tableDatasource.Clear(); } return(false); }
/// <summary> /// 处理参照过滤逻辑 /// </summary> /// <param name="filedName"></param> /// <param name="sbm"></param> /// <returns></returns> public override string OnRefFilterData(string filedName, StringObjectMap sbm) { string whereString = ""; if (filedName.Equals("Name_srv")) { if (!sbm.ContainsKey("code_entp")) { sbm.Add("code_entp", "00"); } if (!sbm.ContainsKey("id_pripat")) { sbm.Add("id_pripat", this.ent4BannerDTO.Id_pripat); } CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; string id_hp = ciEnContextDTO.Id_hp_default; if (!string.IsNullOrEmpty(id_hp)) { if (!sbm.ContainsKey("id_hp")) { sbm.Add("id_hp", id_hp); } } return(string.Format(" Sd_srvtp ='{0}' and quan_med is not null", strSd_srvtp)); } else if (filedName.Equals("Name_mp_dep") && !string.IsNullOrWhiteSpace(strMpDepFilter)) { whereString = string.Format("id_dep in ({0})", strMpDepFilter); } else { whereString = base.OnRefFilterData(filedName, sbm); } return(""); }
/// <summary> /// 通过服务id_srv和banner信息,获得服务关联的所有物品信息 /// </summary> /// <param name="id_srvs"></param> /// <param name="PatInfo"></param> /// <param name="isOutPres">出院带药</param>> /// <returns></returns> public static XapDataList <EmsOrDrug> getMMOfDrug(string id_srvs, Ent4BannerDTO PatInfo, bool isOutPres = false) { //通过患者信息拼接就诊上下文 CiEnContextDTO contextdto = CiEnContextUtil.GetCiEnContext(PatInfo); return(new OrderCardViewModel().GetOrDrugs(id_srvs, PatInfo.Id_hp, isOutPres == true?EnDictCodeConst.SD_ENTP_OUTPATIENT:PatInfo.Code_entp, contextdto)); }
/// <summary> /// 根据医嘱获取对应的医嘱模板拷贝对象 /// </summary> /// <param name="ordIds">医嘱id集合</param> /// <returns></returns> public MoreEmsParamDTO GetMoreEmsParam(string[] ordIds) { // 获取当前上下文就诊环境,需要包含医嘱来源、医疗单类型属性 CiEnContextDTO ciEnContext = CiEnContextUtil.GetCiEnContext(bannerDTO, EmsAppModeEnum.SVEMSAPPMODE, OrSourceFromEnum.IIHPATIPASTHELPER, context); return(ciOrdQryService.getHistoryMoreEmsParam(ordIds, ciEnContext)); }
/// <summary> /// 费用页签加载时,判断适应症和自费标识 /// </summary> /// <param name="drug"></param> /// <param name="ordDrug"></param> /// <returns></returns> public static CiEmsSrvDTO HandleCiEmsSrvDTOHPInfo(CiEmsSrvDTO ciemssrvdto) { //非医保或者保外诊断时 CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; bool isHpEnable = false; //是否启用医保标志 if (BaseEmsView.BaseEmsInfoContext.ContainsKey("isMedicalInsuranceEnable")) { isHpEnable = (bool)BaseEmsView.BaseEmsInfoContext["isMedicalInsuranceEnable"]; } int opMedInsuranceAuditHandel = 99; if (BaseEmsView.BaseEmsInfoContext.ContainsKey("opMedInsuranceAuditHandel")) { opMedInsuranceAuditHandel = (int)BaseEmsView.BaseEmsInfoContext["opMedInsuranceAuditHandel"]; } if (!string.IsNullOrEmpty(ciEnContextDTO.Id_hp) && true == ciEnContextDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/ && isHpEnable && opMedInsuranceAuditHandel == 0) { } else { ciemssrvdto.Fg_selfpay = true; //自费 ciemssrvdto.Fg_treat = false; //非医保适应症 } return(ciemssrvdto); }
/// <summary> /// 获取特殊病提示消息 /// </summary> /// <param name="ctx">患者就诊环境</param> /// <param name="drugList">EmsOrDrug对象集合</param> /// <returns>特殊病诊断提示信息</returns> public string GetSpecialDiseaseJudgeRst(CiEnContextDTO ctx, List <EmsOrDrug> drugList) { FMap mmMap = new FMap(); // 非特殊病患者,直接返回空串 if (!CiEnContextUtil.IsHpSpecillPat(ctx.Ent4BannerDTO)) { return(""); } foreach (EmsOrDrug drug in drugList) { if (drug.Fg_selfpay == FBoolean.True) { continue; } mmMap.Add(drug.Id_mm, drug.Name_srv + "[" + drug.Name_mm + "]"); } if (mmMap.Count == 0) { return(""); } string specialMsg = this.ciOrdMedicalInsuranceService.GetSpecialDiseaseJudgeRst(ctx, mmMap); if (!string.IsNullOrEmpty(specialMsg)) { specialMsg += "请录入!"; } return(specialMsg); }
/// <summary> /// 分析医嘱用药的合理情况 /// </summary> /// <param name="ent4BannerDTO">banner数据</param> /// <param name="ciords">待校验用药合理性的医嘱</param> /// <param name="msg">验证结果的提示信息</param> /// <returns>验证状态 0 无问题,1 一般问题, 2 严重问题</returns> public override int AnalysisPresResult(CiEnContextDTO ctxDTO, CiOrderDO[] ciords, out string msg) { drugMonitor.BeginNewPres(); msg = ""; if (ciords == null || ciords.Length == 0) { return(DaTongConstant.RS_NOT_VERIFIED); } List <CiOrderDO> ciordList = new List <CiOrderDO>(); List <string> idOrList = new List <string>(); // 遍历医嘱,只需要校验药品的医嘱 foreach (CiOrderDO ciorder in ciords) { if (ciorder.Sd_srvtp.StartsWith(BdSrvDictCodeConst.SD_SRVTP_DRUG)) // 药品的进行检查 { ciordList.Add(ciorder); idOrList.Add(ciorder.Id_or); } } // 如果不存在药品,返回不需要验证 if (ciordList.Count == 0) { return(DaTongConstant.RS_NOT_VERIFIED); } PresInfo presInfo = GetPresInfo(ctxDTO, idOrList); // 进行处方分析 return(drugMonitor.AnalysisPres(presInfo, out msg)); }
/// <summary> /// 查询医保规则 /// </summary> /// <param name="id_srv"></param> /// <param name="id_mm"></param> /// <param name="patinfo"></param> /// <returns></returns> public BdHpIndicationDTO[] getBdHpIndicationDTO(string[] id_srvs, string[] id_mms, Ent4BannerDTO patinfo) { if (id_srvs == null || patinfo == null || string.IsNullOrEmpty(patinfo.Id_hp) || true != patinfo.Fg_hpfundpay) { return(null); } CiEnContextDTO contextdto = CiEnContextUtil.GetCiEnContext(patinfo); ICiOrdQryService service = XapServiceMgr.find <ICiOrdQryService>(); BdHpIndicDTO[] bdhpindic = service.getBdHpIndicationDTOs(id_srvs, id_mms, contextdto); if (bdhpindic != null) { BdHpIndicationDTO[] bdHpIndications = new BdHpIndicationDTO[bdhpindic.Length]; for (int i = 0; i < bdhpindic.Length; i++) { BdHpIndicationDTO bdHpIndication = new BdHpIndicationDTO(); LogicEx.GetInstance().CopyTo(bdhpindic[i], bdHpIndication); bdHpIndications[i] = bdHpIndication; } return(bdHpIndications); } else { return(null); } }
public void saveEmptyDI(Ent4BannerDTO patientsDTO) { DIDTO diDTO = new DIDTO(); FillDiInfo(diDTO, patientsDTO); try { CiEnContextDTO ciEnContextDto = CiEnContextUtil.GetCiEnContext(patientsDTO); SaveResult = mainService.SaveCiDiDtos(new DIDTO[] { diDTO }, "", ciEnContextDto); } catch (XapServiceException xapex) { if (xapex != null) { this.ShowMessage(xapex.Message); } else { this.ShowMessage("后台服务异常!"); } } catch { } }
/// <summary> /// 获取特殊病判断结果 /// </summary> /// <param name="ctx">就诊环境</param> /// <param name="id_mms">物品id数组</param> /// <returns></returns> public FMap GetSpecialDiseaseJudgeRstMap(CiEnContextDTO ctx, string[] id_mms) { object[] param = { ctx, id_mms }; si.url = url_r; FMap rtn = si.invoke <FMap>("getSpecialDiseaseJudgeRstMap", param.ToArray()); return(rtn); }
/// <summary> /// 医嘱模板多医疗单 /// </summary> /// <param name="envinfo"></param> /// <param name="ortplItemDO"></param> /// <returns></returns> public MoreEmsParamDTO getMoreEmsParamDTO(CiEnContextDTO envinfo, OrTplNItmDO[] ortplItemDO) { if (ortplItemDO == null || ortplItemDO.Length == 0) { return(null); } return(OrderQryService.getMoreEmsParamDTO(envinfo, ortplItemDO)); }
/// <summary> /// 获取特殊病判断结果 /// </summary> /// <param name="ctx">就诊环境</param> /// <param name="mmMap">物品对象集合key 物品id ,value 物品名称</param> /// <returns>医保特殊病判断结果信息</returns> public string GetSpecialDiseaseJudgeRst(CiEnContextDTO ctx, FMap mmMap) { object[] param = { ctx, mmMap }; si.url = url_r; string rtn = si.invoke <string>("getSpecialDiseaseJudgeRst", param.ToArray()); return(rtn); }
public ValidateRtnInfoDTO ciOrderSign(string[] id_ors, CiEnContextDTO ciEnContextDTO) { object[] param = new object[] { id_ors, ciEnContextDTO }; si.url = url_r; ValidateRtnInfoDTO rtn = si.invoke <ValidateRtnInfoDTO>("ciOrderSign", param); return(rtn); }
public CiOrderDO SaveCiEmsDTO(CiEmsDTO ems, CiEnContextDTO ciEnContextDTO) { object[] param = new object[] { ems, ciEnContextDTO }; si.url = url_r; CiOrderDO rtn = si.invoke <CiOrderDO>("SaveCiEmsDTO", param.ToArray()); return(rtn); }
/// <summary> /// 医嘱保存 /// </summary> /// <param name="ciEmsDTO"></param> /// <param name="CiEnContext"></param> /// <returns></returns> public CiOrderTransMissionDTO SaveCiEmsDTONew(CiEmsDTO ciEmsDTO, CiEnContextDTO CiEnContext) { object[] param = new object[] { ciEmsDTO, CiEnContext }; si.url = url_r; CiOrderTransMissionDTO rtn = si.invoke <CiOrderTransMissionDTO>("SaveCiEmsDTONew", param.ToArray()); return(rtn); }
public virtual ExpenseModel LoadEmsOrDrug(EmsOrDrug newDrug) { // if (nCurrentSelIndex >= 0 && nCurrentSelIndex < tableDataSource.Count(p=>!p.IsDELETED)) { // 填充默认值 newDrug.Use_days = 1; newDrug.Id_unit_sale = newDrug.Id_unit_med; newDrug.Name_unit_sale = newDrug.Name_unit_med; newDrug.Fg_or = false; newDrug.Fg_bl = true; newDrug.Eu_sourcemd = (int)OrSrvSourceFromEnum.PHYSIANFEEADD; #region 计算总量和价格 newDrug.Quan_cur = this.GetLogicEx().getNotDrugTotal( newDrug.Quan_med.ToDouble(), newDrug.Id_freq, newDrug.Freqct == null ? 1 : newDrug.Freqct.Value, newDrug.Use_days == null ? 1 : newDrug.Use_days.Value); newDrug.Price = this.GetLogicEx().getSrvNotMMPri(newDrug.Id_srv, newDrug.Id_pri); newDrug.Totalprice = newDrug.Price * newDrug.Quan_cur; #endregion FArrayList list = new FArrayList(); //判断是否是保外诊断 CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; //保外诊断标识 string eu_hpbeyond = ciEnContextDTO.Eu_hpbeyond; if (ent4BannerDTO != null && true == ent4BannerDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/) { BdHpIndicationDTO bdhpindication = HpJudgeUtil.getInstance().getBdHpIndicationDTO(newDrug.Id_srv, newDrug.Id_mm, this.ent4BannerDTO); if (bdhpindication != null) { newDrug.Fg_treat = bdhpindication.Fg_indic; newDrug.Id_hp = bdhpindication.Id_hp; newDrug.Sd_hpsrvtp = bdhpindication.Sd_hpsrvtp; newDrug.Id_hpsrvtp = bdhpindication.Id_hpsrvtp; if (string.IsNullOrEmpty(bdhpindication.Id_hpsrvtp)) { newDrug.Id_hpsrvtp = HpJudgeUtil.IdHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp); } newDrug.Name_hpsrvtp = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp); newDrug.Fg_selfpay = HpJudgeUtil.getInstance().isSelfPay(bdhpindication); newDrug.Fg_hpindicjudged = HpJudgeUtil.getInstance().getFg_hpindicjudged(bdhpindication); list.Add(bdhpindication); } } else if (ciEnContextDTO.Fg_hpfundpay == null || !(bool)ciEnContextDTO.Fg_hpfundpay || (ciEnContextDTO.Eu_hpbeyond != null && !ciEnContextDTO.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG))) { newDrug.Fg_treat = false; newDrug.Fg_selfpay = true; } newDrug.BdHpIndicationDTO = list; #region 计算执行科室 CalculateDeptMp(newDrug); #endregion } return(this); }
/// <summary> /// 构造临床就诊上下文信息 /// </summary> /// <param name="ent4BannerDTO">当前患者的banner对象</param> /// <param name="emsAppModeEnum">医疗单类型:简洁版、智慧版</param> /// <param name="eu_orsrcmdtp">医嘱数据来源</param> /// <param name="context">当前上下文环境</param> /// <returns>CiEnContextDTO 包含医疗单类型属性</returns> public static CiEnContextDTO GetCiEnContext(Ent4BannerDTO ent4BannerDTO, EmsAppModeEnum emsAppModeEnum, string eu_orsrcmdtp, BaseContext context = null) { // TODO 需要增加校验枚举类型是否在枚举对象属性中 OrSourceFromEnum CiEnContextDTO conetxtDTO = GetCiEnContext(ent4BannerDTO, emsAppModeEnum, context); conetxtDTO.Eu_orsrcmdtp = eu_orsrcmdtp; // 医疗单应用场景 return(conetxtDTO); }
public ValidateRtnInfoDTO ciOrderSignStep1(FMap2 map, string code_entp, CiEnContextDTO ciEnContextDTO) { //throw new NotImplementedException(); object[] param = new object[] { map, code_entp, ciEnContextDTO }; si.url = url_r; ValidateRtnInfoDTO rtn = si.invoke <ValidateRtnInfoDTO>("ciOrderSignStep1", param); return(rtn); }
/// <summary> /// 获取当前就诊环境 /// </summary> /// <returns></returns> protected virtual CiEnContextDTO GetCiEnContextParam() { // 获取当前的业务环境变量,用于助手传递到后台,医疗单类型在AssistantBtnBaseView的实现类中设置,医嘱来源属性Eu_orsrcmdtp, 在各个助手(使用处)设置 CiEnContextDTO ciEnContext = CiEnContextUtil.GetCiEnContext(this.ent4BannerDTO, this.Context); this.SetCustomCiEnContext(ciEnContext); return(ciEnContext); }
/// <summary> /// 保存费用清单 /// </summary> /// <param name="szSrv"></param> /// <returns></returns> public CiEmsSrvDTO[] saveOrdFeeBill(CiEmsSrvDTO[] szSrv, CiEnContextDTO ctx) { List <object> param = new List <object>(); param.Add(szSrv); param.Add(ctx); si.url = url_r; return(si.invokeList <CiEmsSrvDTO>("saveOrdFeeBill", param.ToArray())); }
/// <summary> /// 装载费用项目信息 /// </summary> /// <param name="newDrug"></param> /// <returns></returns> public virtual EmsFeebillViewModel LoadEmsFeeSrv(CiOrdFeeSrvDTO newDrug) { { // 填充默认值 newDrug.setAttrVal <int>("Use_days", 1); newDrug.Id_unit_sale = newDrug.Id_unit_med; newDrug.Name_unit_sale = newDrug.Name_unit_med; newDrug.Fg_or = false; newDrug.Fg_bl = true; newDrug.Eu_sourcemd = (int)OrSrvSourceFromEnum.PHYSIANFEEADD; #region 计算总量和价格 newDrug.Quan_total_medu = this.GetLogicEx().getNotDrugTotal( newDrug.Quan_med.ToDouble(), newDrug.Id_freq, newDrug.Freqct == null ? 1 : newDrug.Freqct.Value, newDrug.getAttrVal <int>("Use_days")); newDrug.Price = this.GetLogicEx().getSrvNotMMPri(newDrug.Id_srv, newDrug.Id_primd, null, GetEnt4BannerDTO().Id_pripat); newDrug.Amt_cur = newDrug.Price * newDrug.Quan_cur; #endregion FArrayList list = new FArrayList(); //判断是否是保外诊断 CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; //保外诊断标识 string eu_hpbeyond = ciEnContextDTO.Eu_hpbeyond; if (ent4BannerDTO != null && true == ent4BannerDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/) { BdHpIndicationDTO bdhpindication = HpJudgeUtil.getInstance().getBdHpIndicationDTO(newDrug.Id_srv, newDrug.Id_mm, this.ent4BannerDTO); if (bdhpindication != null) { newDrug.Fg_treat = bdhpindication.Fg_indic; newDrug.Id_hp = bdhpindication.Id_hp; newDrug.Sd_hpsrvtp = bdhpindication.Sd_hpsrvtp; newDrug.Id_hpsrvtp = bdhpindication.Id_hpsrvtp; if (string.IsNullOrEmpty(bdhpindication.Id_hpsrvtp)) { newDrug.Id_hpsrvtp = HpJudgeUtil.IdHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp); } newDrug.Name_hpsrvtp = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp); newDrug.Fg_selfpay = HpJudgeUtil.getInstance().isSelfPay(bdhpindication); list.Add(bdhpindication); } } else if (ciEnContextDTO.Fg_hpfundpay == null || !(bool)ciEnContextDTO.Fg_hpfundpay || (ciEnContextDTO.Eu_hpbeyond != null && !ciEnContextDTO.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG))) { newDrug.Fg_treat = false; newDrug.Fg_selfpay = true; } newDrug.setAttrVal <FArrayList>("BdHpIndicationDTO", list); #region 计算执行科室 CalculateDeptMp(newDrug); #endregion } return(this); }
public FArrayList loadEms4Lis(CiEnContextDTO ctx, String id_srv) { List <object> param = new List <object>(); param.Add(ctx); param.Add(id_srv); si.url = url_r; return(si.invoke <FArrayList>("loadEms4Lis", param.ToArray())); }
/// <summary> /// 医嘱诊断保存 /// </summary> /// <param name="diDTO"></param> /// <returns></returns> public DIDTO[] SaveCiDiDtos(DIDTO[] diDTO, string des, CiEnContextDTO ciEnContextDto) { List <object> param = new List <object>(); param.Add(diDTO); param.Add(des); param.Add(ciEnContextDto); si.url = url; DIDTO[] rtn = si.invokeList <DIDTO>("SaveCiDiDto", param.ToArray()); return(rtn); }
public OrderTemplateRstDTO getOrTemplateCache(String[] id_ortmpls, CiEnContextDTO ctx) { List <object> param = new List <object>(); param.Add(id_ortmpls); param.Add(ctx); si.url = url_r; var result = si.invoke <OrderTemplateRstDTO>("getOrTemplateCache", param.ToArray()); return(result); }
/// <summary> /// 保存诊断信息 /// </summary> /// <param name="id_ent">就诊id</param> /// <param name="itemDOList">界面选取的诊断集合</param> public DIDTO[] SaveCiDiagItemDOs(Ent4BannerDTO bannerDTO, List <CiDiagItemDO> itemDOList) { DIDTO[] didtos = null; List <DIDTO> listDto = this.GetDIDTOList(bannerDTO, itemDOList); if (listDto != null && listDto.Count > 0) { CiEnContextDTO ciEnContextDto = CiEnContextUtil.GetCiEnContext(bannerDTO, this.context); didtos = mainService.SaveCiDiDtos(listDto.ToArray(), "", ciEnContextDto); } return(didtos); }
/// <summary> /// 保存时提示信息 再次保存 TODO /// </summary> /// <param name="emstype"></param> /// <param name="ciEnContextDTO"></param> /// <returns></returns> public CiOrderDO AgainSaveOrder(String emstype, CiEnContextDTO ciEnContextDTO) { object[] param = new object[] { emstype, ciEnContextDTO }; si.url = url_r; CiorderAggDO rtn = si.invoke <CiorderAggDO>("AgainSaveOrder", param.ToArray()); if (rtn != null) { return(rtn.getParentDO()); } return(null); }