Example #1
0
        public MedsrvAggDO[] getMedSrvDO(List <MedSrvSetItemDO> medSrvSet)
        {
            List <MedSrvDO> MedSrvList = new List <MedSrvDO>();

            MedsrvAggDO[] medsrvAggDO = new MedsrvAggDO[] {};
            if (medSrvSet != null && medSrvSet.Count > 0)
            {
                string[] id_srv = new string[medSrvSet.Count];
                int      i      = 0;
                foreach (MedSrvSetItemDO medSrvSetItem in medSrvSet)
                {
                    id_srv[i] = medSrvSetItem.Id_srv_itm;
                    i++;
                }

                medsrvAggDO = medSrvservice.findByIds(id_srv, false);
                //if (medsrvAggDO != null && medsrvAggDO.Length >0)
                //{
                //    foreach (MedsrvAggDO  medsrvagg in medsrvAggDO)
                //    {
                //        //MedSrvDO medsrv = new MedSrvDO();
                //        MedSrvList.Add(medsrvagg.getParentDO());
                //    }
                //}
            }
            return(medsrvAggDO);
        }
Example #2
0
        /// <summary>
        /// 检查医疗单的映射
        /// </summary>
        /// <param name="emsDO"></param>
        /// <param name="ciEmsDto"></param>
        public void ObsViewFieldMapping(EmsUIDTO emsDO, CiEmsDTO ciEmsDto, MedSrvDO medSrvs)
        {
            FMap2       map       = (FMap2)ciEmsDto.Mapinfo;
            MedsrvAggDO medSrvAgg = null;

            if (map != null)
            {
                medSrvAgg = map["MedsrvAggDO"] as MedsrvAggDO;
            }
            emsDO.Emsapobs.Id_emsobs   = "";                                        //检查申请单主键
            emsDO.Emsapobs.Id_orsrv    = "";                                        //医嘱服务id
            emsDO.Emsapobs.Id_or       = "";                                        //	医嘱医疗单
            emsDO.Emsapobs.Id_srv      = ciEmsDto.Id_srv;                           //	服务id
            emsDO.Emsapobs.Name_srv    = ciEmsDto.Name;                             //	服务名称
            emsDO.Emsapobs.Id_srvtp    = ciEmsDto.Id_srvtp;                         //	服务类型
            emsDO.Emsapobs.Name_srvtp  = medSrvs.Srvtp_name;                        //_	服务类型名称 50
            emsDO.Emsapobs.Id_obstp    = "";                                        //	检查类型id	REF	检查类型_自定义档案
            emsDO.Emsapobs.Name_obstp  = "";                                        //	检查类型名称
            emsDO.Emsapobs.No_applyobs = ciEmsDto.Applyno;                          //	检查申请单号 20
            emsDO.Emsapobs.Fg_urgent   = false;                                     //	加急标识 1
            emsDO.Emsapobs.Fg_mp_bed   = false;                                     //	床旁执行标志 1
            emsDO.Emsapobs.Dt_plan     = ciEmsDto.Dt_begin;                         //	计划检查时间
            emsDO.Emsapobs.Id_di       = "";                                        //	诊断id	REF 疾病诊断
            emsDO.Emsapobs.Name_diag   = "";                                        //	诊断
            //emsDO.Emsapobs.Str_id_di = "";//	诊断编码拼接
            emsDO.Emsapobs.Str_name_di   = "";                                      //	诊断名称拼接 50
            emsDO.Emsapobs.Sd_pps        = "";                                      //	检查目的编码
            emsDO.Emsapobs.Id_pps        = "";                                      //	检查目的
            emsDO.Emsapobs.Name_pps      = "";                                      //	检查目的名称
            emsDO.Emsapobs.Des_pps       = "";                                      //	检查目的描述
            emsDO.Emsapobs.Des_sympsign  = "";                                      //	症状体征描述
            emsDO.Emsapobs.Id_body       = medSrvAgg.getMedSrvRisDO()[0].Id_body;   //  身体部位id	REF	部位编码_自定义档案
            emsDO.Emsapobs.Sd_body       = medSrvAgg.getMedSrvRisDO()[0].Sd_body;   //身体部位编码
            emsDO.Emsapobs.Name_body     = medSrvAgg.getMedSrvRisDO()[0].Name_body; //	身体部位名称
            emsDO.Emsapobs.Id_su_obs     = "";                                      //	检查申请单状态
            emsDO.Emsapobs.Sd_su_obs     = "";                                      //	检查申请单编码
            emsDO.Emsapobs.Id_pos        = medSrvAgg.getMedSrvRisDO()[0].Id_pos;    //;	身体体位id	REF	体位编码_自定义档案
            emsDO.Emsapobs.Sd_pos        = medSrvAgg.getMedSrvRisDO()[0].Sd_pos;    //身体体位编码
            emsDO.Emsapobs.Name_pos      = medSrvAgg.getMedSrvRisDO()[0].Name_pos;  //身体体位名称 50
            emsDO.Emsapobs.Id_samptp     = "";                                      //	标本类型id	REF	标本类型_自定义档案
            emsDO.Emsapobs.Name_samptp   = "";                                      //	标本类型名称
            emsDO.Emsapobs.Sd_samptp     = "";                                      //	标本类型编码
            emsDO.Emsapobs.Sortno        = 1;                                       //	序号
            emsDO.Emsapobs.Fg_chk        = false;                                   //	选择
            emsDO.Emsapobs.Announcements = medSrvAgg.getMedSrvRisDO()[0].Note;      //	注意事项	    备注
            //emsDO.Emsapobs.sv	版本号	S
            emsDO.Emsapobs.Id_srvca = medSrvs.Id_srvca;                             //	检验分类
            // emsDO.Emsapobs.sd_colltp	采集方法编码
            // emsDO.Emsapobs.id_colltp	采集方法id
            // emsDO.Emsapobs.des_labsamp	标本说明
            //emsDO.Emsapobs.Use_days	使用天数
            emsDO.Emsapobs.Id_mp_dep   = ciEmsDto.Id_dep_mp; //	执行科室ID
            emsDO.Emsapobs.Name_mp_dep = "";                 //     执行科室名称 50
            emsDO.Emsapobs.Price       = medSrvs.Pri;        //	价格
            //emsDO.Emsapobs.quan_cur	总量
            //emsDO.Emsapobs.id_unit_sale	总量单位 50
            //emsDO.Emsapobs.name_unit_sale	总量单位名称 50
            //emsDO.Emsapobs.fg_indic	适应症
            //emsDO.Emsapobs.id_unit_base	计数单位ID
            //emsDO.Emsapobs.name_unit_base	计数单位名称
            //emsDO.Emsapobs.quan_base	计数单位
            emsDO.Emsapobs.Innercode_srvca = medSrvs.Srvca_innercode; //	服务分类内部编码
            emsDO.Emsapobs.Fg_syncfee      = false;                   //	费用同步标识
            //套内项目
            setObsItem(emsDO, ciEmsDto, medSrvs);
        }
Example #3
0
        /// <summary>
        /// 检验的项目映射字段
        /// </summary>
        private void setObsItem(EmsUIDTO emsDO, CiEmsDTO ciEmsDto, MedSrvDO medSrvs)
        {
            FMap2       map       = (FMap2)ciEmsDto.Mapinfo;
            MedsrvAggDO medSrvAgg = null;
            FArrayList  aggList   = null;

            if (map != null)
            {
                medSrvAgg = map["MedsrvAggDO"] as MedsrvAggDO;
                aggList   = map["SetItemMedsrvDO"] as FArrayList;
            }
            //套内项目
            XapDataList <EmsObsLap> obsList = new XapDataList <EmsObsLap>();

            if (medSrvs.Fg_set.Value && aggList != null)
            {
                foreach (MedsrvAggDO aggDO in aggList)
                {
                    int i = 0;
                    foreach (MedSrvRisDO itemRisDO in aggDO.getMedSrvRisDO())
                    {
                        EmsObsLap obs = new EmsObsLap();
                        obs.Id        = "";                        //	id	SINGLE	String	50
                        obs.Sd_body   = itemRisDO.Sd_body;         //	部位编码
                        obs.Name_body = itemRisDO.Name_body;       //	部位名称
                        obs.Sd_pos    = itemRisDO.Sd_pos;          //	体位编码
                        obs.Name_pos  = itemRisDO.Name_pos;        //	体位名称
                        //obs.If_mp_bed = itemRisDO.If_mp_bed;//	是否可床边执行
                        obs.Id_srv   = aggDO.getParentDO().Id_srv; //	检验编码
                        obs.Name_srv = aggDO.getParentDO().Name;   //	检验名称
                        //sortno	序号
                        obs.Id_pos  = itemRisDO.Id_pos;            //	体位id
                        obs.Id_body = itemRisDO.Id_body;           //	部位id
                        //id_orsrv	医嘱服务id
                        //id_or	医嘱医疗单
                        obs.Id_srvtp     = aggDO.getParentDO().Id_srvtp;   //	服务类型
                        obs.Name_srvtp   = aggDO.getParentDO().Srvtp_name; //	服务类型名称
                        obs.Id_obstp     = itemRisDO.Id_obstp;             //检查类型id
                        obs.Name_obstp   = itemRisDO.Obstp_name;           //	检查类型名称
                        obs.No_applyobs  = ciEmsDto.Applyno;               //	检查申请单号
                        obs.Fg_urgent    = ciEmsDto.Fg_urgent;             //	加急标识
                        obs.Fg_mp_bed    = ciEmsDto.Fg_mp_bed;             //	床旁执行标志
                        obs.Dt_plan      = ciEmsDto.Dt_begin;              //	计划检查时间
                        obs.Id_di        = "";                             //	诊断id
                        obs.Name_di      = "";                             //	诊断
                        obs.Str_id_di    = "";                             //	诊断编码拼接
                        obs.Str_name_di  = "";                             //	诊断名称拼接
                        obs.Sd_pps       = "";                             //	检查目的编码
                        obs.Id_pps       = "";                             //	检查目的
                        obs.Des_pps      = "";                             //	检查目的描述
                        obs.Des_sympsign = "";                             //	症状体征描述
                        obs.Id_su_obs    = CiDictCodeConst.ID_CI_OBS_SQ;   //检查申请单状态
                        obs.Sd_su_obs    = CiDictCodeConst.SD_CI_OBS_SQ;   //检查申请单编码
                        //obs.Id_samptp = itemRisDO.id	标本类型id
                        //name_samptp	标本类型名称
                        //sd_samptp	标本类型编码
                        obs.Fg_chk        = true;           //	选择
                        obs.Announcements = itemRisDO.Note; //	注意事项
                        //sv	版本号
                        //id_srvca	检验分类
                        //sd_colltp	采集方法编码
                        //id_colltp	采集方法id
                        //des_labsamp	标本说明
                        //id_contp	容器编码
                        //sd_contp	容器id
                        obs.Quan         = aggDO.getParentDO().Quan_med; //	标本需求量
                        obs.No_applyform = ciEmsDto.Applyno;             //申请单号
                        //biopsy	检查组织描述
                        obs.Fg_or     = aggDO.getParentDO().Fg_or;       //	医嘱标志
                        obs.Sd_srvtp  = aggDO.getParentDO().Sd_srvtp;    //	医嘱类型
                        obs.Id_freq   = aggDO.getParentDO().Id_freq;     //	医嘱频次
                        obs.Quan_medu = aggDO.getParentDO().Quan_med;    //	数值_医疗单位
                        obs.Id_medu   = aggDO.getParentDO().Id_unit_med; //	医疗单位
                        obs.Fg_bl     = aggDO.getParentDO().Fg_bl;       //	计费标志
                        obs.Code_srv  = aggDO.getParentDO().Code;        //	服务编码
                        //obs.Fg_edit = aggDO.getMedSrvSetItemDO()[i].Fg_edit; //	可选标识
                        //obs.Fg_body_update = aggDO.getMedSrvSetItemDO()[i].	部位可修改标示
                        //56		id_quan	标本需求量单位
                        //obs.id_hp = emsDO.PatInfo.Id_hp;//	医保
                        //name_hp	医保名称
                        //id_hpsrvtp	医保类型
                        //sd_hpsrvtp	医保类型编码
                        //eu_sourcemd	数据来源
                        i++;
                        obsList.Add(obs);
                    }
                }
            }
            else
            {
                EmsObsLap obs = new EmsObsLap();
                obs.Id        = "";                                      //	id	SINGLE	String	50
                obs.Sd_body   = medSrvAgg.getMedSrvRisDO()[0].Sd_body;   //	部位编码
                obs.Name_body = medSrvAgg.getMedSrvRisDO()[0].Name_body; //	部位名称
                obs.Sd_pos    = medSrvAgg.getMedSrvRisDO()[0].Sd_pos;    //	体位编码
                obs.Name_pos  = medSrvAgg.getMedSrvRisDO()[0].Name_pos;  //	体位名称
                //obs.If_mp_bed = itemRisDO.If_mp_bed;//	是否可床边执行
                obs.Id_srv   = medSrvAgg.getParentDO().Id_srv;           //	检验编码
                obs.Name_srv = medSrvAgg.getParentDO().Name;             //	检验名称
                //sortno	序号
                obs.Id_pos  = medSrvAgg.getMedSrvRisDO()[0].Id_pos;      //	体位id
                obs.Id_body = medSrvAgg.getMedSrvRisDO()[0].Id_body;     //	部位id
                //id_orsrv	医嘱服务id
                //id_or	医嘱医疗单
                obs.Id_srvtp     = medSrvAgg.getParentDO().Id_srvtp;         //	服务类型
                obs.Name_srvtp   = medSrvAgg.getParentDO().Srvtp_name;       //	服务类型名称
                obs.Id_obstp     = medSrvAgg.getMedSrvRisDO()[0].Id_obstp;   //检查类型id
                obs.Name_obstp   = medSrvAgg.getMedSrvRisDO()[0].Obstp_name; //	检查类型名称
                obs.No_applyobs  = ciEmsDto.Applyno;                         //	检查申请单号
                obs.Fg_urgent    = ciEmsDto.Fg_urgent;                       //	加急标识
                obs.Fg_mp_bed    = ciEmsDto.Fg_mp_bed;                       //	床旁执行标志
                obs.Dt_plan      = ciEmsDto.Dt_begin;                        //	计划检查时间
                obs.Id_di        = "";                                       //	诊断id
                obs.Name_di      = "";                                       //	诊断
                obs.Str_id_di    = "";                                       //	诊断编码拼接
                obs.Str_name_di  = "";                                       //	诊断名称拼接
                obs.Sd_pps       = "";                                       //	检查目的编码
                obs.Id_pps       = "";                                       //	检查目的
                obs.Des_pps      = "";                                       //	检查目的描述
                obs.Des_sympsign = "";                                       //	症状体征描述
                obs.Id_su_obs    = CiDictCodeConst.ID_CI_OBS_SQ;             //检查申请单状态
                obs.Sd_su_obs    = CiDictCodeConst.SD_CI_OBS_SQ;             //检查申请单编码
                //obs.Id_samptp = itemRisDO.id	标本类型id
                //name_samptp	标本类型名称
                //sd_samptp	标本类型编码
                obs.Fg_chk        = true;                               //	选择
                obs.Announcements = medSrvAgg.getMedSrvRisDO()[0].Note; //	注意事项
                //sv	版本号
                //id_srvca	检验分类
                //sd_colltp	采集方法编码
                //id_colltp	采集方法id
                //des_labsamp	标本说明
                //id_contp	容器编码
                //sd_contp	容器id
                obs.Quan         = medSrvAgg.getParentDO().Quan_med; //	标本需求量
                obs.No_applyform = ciEmsDto.Applyno;                 //申请单号
                //biopsy	检查组织描述
                obs.Fg_or     = medSrvAgg.getParentDO().Fg_or;       //	医嘱标志
                obs.Sd_srvtp  = medSrvAgg.getParentDO().Sd_srvtp;    //	医嘱类型
                obs.Id_freq   = medSrvAgg.getParentDO().Id_freq;     //	医嘱频次
                obs.Quan_medu = medSrvAgg.getParentDO().Quan_med;    //	数值_医疗单位
                obs.Id_medu   = medSrvAgg.getParentDO().Id_unit_med; //	医疗单位
                obs.Fg_bl     = medSrvAgg.getParentDO().Fg_bl;       //	计费标志
                obs.Code_srv  = medSrvAgg.getParentDO().Code;        //	服务编码
                obs.Fg_edit   = true;                                //	可选标识
                //obs.Fg_body_update = aggDO.getMedSrvSetItemDO()[i].	部位可修改标示
                //56		id_quan	标本需求量单位
                //obs.id_hp = emsDO.PatInfo.Id_hp;//	医保
                //name_hp	医保名称
                //id_hpsrvtp	医保类型
                //sd_hpsrvtp	医保类型编码
                //eu_sourcemd	数据来源
                obsList.Add(obs);
            }

            emsDO.Emsapobs.EmsOrObsList = obsList;
        }