Example #1
0
 /// <summary>
 /// 由ReportStatus状态加载图像
 /// </summary>
 public List <ImgObj> LoadImages(MWorkList Mworklist, string saveDir)
 {
     arrayImg       = new List <ImgObj>();
     this.mWorklist = Mworklist;
     DownLoadPicture(saveDir);
     return(arrayImg);
 }
Example #2
0
        /// <summary>
        /// 查询是否存在指定的工作记录
        /// </summary>
        /// <param name="iworklist"></param>
        /// <returns></returns>
        public override bool Exists(IModel iworklist)
        {
            MWorkList worklist = (MWorkList)iworklist;

            strSql = "select EXAM_ACCESSION_NUM from " + TableName + " where EXAM_ACCESSION_NUM = '" + worklist.EXAM_ACCESSION_NUM + "'";
            return(recordIsExist(strSql));
        }
Example #3
0
 public SendRptToPax(MWorkList mWorklist, MReport mReport, string ImgSave)
 {
     this.mWorklist = mWorklist;
     this.mReport   = mReport;
     this.ImgSave   = ImgSave;
     WriteToPax();
 }
Example #4
0
        public void AddQueueInfo(MWorkList mWorklist)
        {
            MQueueInfo mQueueInfo = new MQueueInfo();

            mQueueInfo.EXAM_ACCESSION_NUM = mWorklist.EXAM_ACCESSION_NUM;
            mQueueInfo.PATIENT_ID         = mWorklist.PATIENT_ID;
        }
Example #5
0
        public bool UpdateWorkList(IModel iWorkList)
        {
            MWorkList mWorkList = (MWorkList)iWorkList;
            BWorkList bWorkList = new BWorkList();
            int       i         = bWorkList.Update(iWorkList, "where EXAM_ACCESSION_NUM = '" + mWorkList.EXAM_ACCESSION_NUM + "'");

            return(i < 0 ? false : true);
        }
Example #6
0
        public void ReLoadImg(MWorkList MworkList)
        {
            ImageCopy imgCopy = new ImageCopy();

            MworkList.REPORT_STATUS = 1;
            this.arrayImg           = imgCopy.LoadImages(MworkList, Dir);
            LoadImages(this.arrayImg, false, this.ReadOnly);
            //frmMainForm.examInf.
        }
Example #7
0
 public SaveReportCls(SIS_Model.MWorkList worklist, SIS_Model.MReport mReport, List <ImgObj> arrayImg)
 {
     this.mWorkList = worklist;
     this.mReport   = mReport;
     //this.xFramerControl1 = xFramerControl1;
     ServerPath = GetConfig.ServerImgDir + "/" + Convert.ToDateTime(worklist.REQ_DATE_TIME).ToString("yyyyMMdd") + "/" + worklist.EXAM_ACCESSION_NUM;
     //SaveReport();
     //SaveImage(arrayImg,worklist);
 }
Example #8
0
        /// <summary>
        /// 循环写进费用明细表
        /// </summary>
        public bool AddExamChargeList(List <System.Data.DataTable> Now_DT_VS_Group, int ChargeItemNo, IModel iWorklist, decimal chargeRatio)
        {
            BExamChargeList bExamChargeList = new BExamChargeList();
            MWorkList       mWorkList = (MWorkList)iWorklist;
            int             i, j;

            for (i = 0; i < Now_DT_VS_Group.Count; i++)
            {
                if (Now_DT_VS_Group[i] != null)
                {
                    Hashtable ht = new Hashtable();
                    for (j = 0; j < Now_DT_VS_Group[i].Rows.Count; j++)
                    {
                        MExamChargeList mExamChargeList = new MExamChargeList();
                        mExamChargeList.AMOUNT            = Convert.ToInt32(Now_DT_VS_Group[i].Rows[j]["AMOUNT"].ToString());
                        mExamChargeList.CHARGE            = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["COSTS"].ToString()) * chargeRatio;
                        mExamChargeList.CHARGE_CLASS_NAME = Now_DT_VS_Group[i].Rows[j]["CLASS_NAME"].ToString();
                        mExamChargeList.CHARGE_ITEM_CLASS = Now_DT_VS_Group[i].Rows[j]["ITEM_CLASS"].ToString();
                        mExamChargeList.CHARGE_ITEM_CODE  = Now_DT_VS_Group[i].Rows[j]["ITEM_CODE"].ToString();
                        mExamChargeList.CHARGE_ITEM_NO    = j + 1;
                        mExamChargeList.CHARGE_ITEM_SPEC  = Now_DT_VS_Group[i].Rows[j]["ITEM_SPEC"].ToString();
                        mExamChargeList.COST              = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["COSTS"].ToString());
                        mExamChargeList.PRICE             = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["PRICE"].ToString());
                        mExamChargeList.EXAM_NO           = mWorkList.EXAM_ACCESSION_NUM;
                        mExamChargeList.EXAM_CONFIRM_TIME = DateTime.Now;
                        mExamChargeList.EXAM_ITEM_CODE    = Now_DT_VS_Group[i].Rows[j]["EXAM_ITEM_CODE"].ToString();
                        mExamChargeList.ITEM_NO           = ChargeItemNo;
                        mExamChargeList.PATIENT_ID        = mWorkList.PATIENT_ID;
                        mExamChargeList.UNITS             = Now_DT_VS_Group[i].Rows[j]["UNITS"].ToString();
                        mExamChargeList.CHARGE_ITEM_NAME  = Now_DT_VS_Group[i].Rows[j]["ITEM_NAME"].ToString();
                        mExamChargeList.EXAM_ITEM_NO      = i + 1;
                        ChargeItemNo++;
                        if (bExamChargeList.Exists(mExamChargeList))
                        {
                            break;
                        }
                        ht.Add(j, mExamChargeList);
                    }
                    if (ht.Count > 0)
                    {
                        j = bExamChargeList.AddMore(ht);
                    }
                    else
                    {
                        return(true);
                    }
                    if (j < 0)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
Example #9
0
        //报告按模式打开,如普通模式和word模式
        public void initForm(MWorkList model, MReport mReport, bool isShowWord)
        {
            //this.Text = string.Format("检查申请号:{0}", model.EXAM_ACCESSION_NUM);
            this.isShowWord = isShowWord;
            this.mReport    = mReport;// (MReport)(bReport.GetModel(model.EXAM_ACCESSION_NUM));
            this.winWordControl.QuitWord();
            FileOperator file = new FileOperator();

            file.FilesCopy(Application.StartupPath + "\\ReportCache", Application.StartupPath + "\\temp", true);
            List <ImgObj> arr = file.ArrReportImg(frmMainForm.examInf.ArrayImages, Application.StartupPath + "\\ReportCache", Application.StartupPath + "\\temp");

            this.MworkList = model;

            initReport(arr);
        }
Example #10
0
        /// <summary>
        /// 保存报告
        /// </summary>
        private bool SaveReport()
        {
            if (!this.isShowWord)
            {
                word.SetValue(FieldDict.EXAM_PARA, this.txt_ExamPara.Text);
                word.SetValue(FieldDict.DESCRIPTION, this.txt_Description.Text);
                word.SetValue(FieldDict.IMPRESSION, this.txt_Impression.Text);
                word.SetValue(FieldDict.RECOMMENDATION, this.txt_Recommendation.Text);
            }
            string ImgToPaxPaths = "";
            bool   isSuccess     = false;

            try
            {
                List <ImgObj> arraySaveImg = this.frmRptImg.SaveImgs(ref ImgToPaxPaths);

                // word.SaveDocument("");//保存文档
                MReport mReport = word.GetMReport(TempPath);
                if (this.frmRem != null && this.frmRem.GetRecommendation() != "")
                {
                    mReport.RECOMMENDATION = frmRem.GetRecommendation();
                }
                this.MworkList           = frmExam.mworklist;
                this.mReport.IS_ABNORMAL = frmExam.mrpt.IS_ABNORMAL;
                this.mReport.TRANSCRIBER = frmExam.mrpt.TRANSCRIBER;
                SaveReportCls save = new SaveReportCls(MworkList, mReport, arraySaveImg);
                isSuccess  = frmExam.Save();
                isSuccess &= save.SaveReport();
                isSuccess &= save.SaveImage(arraySaveImg, MworkList);
            }
            catch (Exception ex)
            {
                MessageBoxEx.Show(ex.Message);
                return(false);
            }
            if (ILL.GetConfig.IsConnectPax)
            {
                SendRptToPax SendToPax = new SendRptToPax(MworkList, mReport, ImgToPaxPaths.TrimEnd(';'));//与PACS接口,
                if (SendToPax.mStudy.STUDY_INSTANCE_UID != "")
                {
                    sendRptToHT.SendToHT(SendToPax.mStudy.STUDY_INSTANCE_UID);
                }
            }
            this.ReportStatus = 1;
            return(isSuccess);
        }
Example #11
0
        /// <summary>
        /// 获取检查申请号
        /// 注意:mWorkList.EXAM_ACCESSION_NUM = mUserDeptDict.DEPT_AREA + mWorkList.ACCESSION_NO;,即检查申请序号=科室域+检查流水号,科室域:检查科室:RY,申请科室:CD
        ///mWorkList.STUDY_INSTANCE_UID = mUserDeptDict.STUDY_UID_HEADER + mWorkList.ACCESSION_NO;,即检查实例UID=检查UID头+检查流水号,检查流水号为数据库自动生成,为当前最大值
        /// </summary>
        /// <param name="ACCESSION_NO"></param>
        /// <returns></returns>
        public bool GetExamAccessionNum(IModel iWorklist)
        {
            MWorkList         mWorkList         = (MWorkList)iWorklist;
            bool              issuccess         = true;
            BClinicOfficeDict bClinicOfficeDict = new BClinicOfficeDict();
            MClinicOfficeDict mClinicOfficeDict = (MClinicOfficeDict)bClinicOfficeDict.GetModel(mWorkList.EXAM_DEPT);

            if ((mWorkList.EXAM_ACCESSION_NUM == null || mWorkList.EXAM_ACCESSION_NUM == "") && mClinicOfficeDict != null)
            {
                mWorkList.EXAM_ACCESSION_NUM = mClinicOfficeDict.CLINIC_OFFICE_FLAG + mWorkList.ACCESSION_NO;
                mWorkList.STUDY_INSTANCE_UID = mClinicOfficeDict.STUDY_UID_HEADER + mWorkList.ACCESSION_NO;
            }
            else
            {
                issuccess = false;
            }
            return(issuccess);
        }
Example #12
0
        /// <summary>
        /// 获取检查申请号
        /// 注意:mWorkList.EXAM_ACCESSION_NUM = mUserDeptDict.DEPT_AREA + mWorkList.ACCESSION_NO;,即检查申请序号=科室域+检查序号,科室域:检查科室:RY,申请科室:CD
        ///mWorkList.STUDY_INSTANCE_UID = mUserDeptDict.STUDY_UID_HEADER + mWorkList.ACCESSION_NO;,即检查实例UID=检查UID头+检查序号,检查序号为数据库自动生成,为当前最大值
        /// </summary>
        /// <param name="iWorklist"></param>
        /// <param name="iUser"></param>
        /// <param name="ACCESSION_NO"></param>
        /// <returns></returns>
        public bool GetExamAccessionNum(IModel iWorklist)
        {
            MWorkList mWorkList = (MWorkList)iWorklist;
            bool      issuccess = true;
            //生成ACCESSION_NO,EXAM_ACCESSION_NO,STUDY_INSTANCE_UID
            BClinicOfficeDict bClinicOfficeDict = new BClinicOfficeDict();
            MUserDeptDict     mUserDeptDict     = (MUserDeptDict)bClinicOfficeDict.GetModel(mWorkList.EXAM_DEPT);

            if (mWorkList.EXAM_ACCESSION_NUM == null || mWorkList.EXAM_ACCESSION_NUM == "")
            {
                mWorkList.EXAM_ACCESSION_NUM = mUserDeptDict.DEPT_AREA + mWorkList.ACCESSION_NO;
                mWorkList.STUDY_INSTANCE_UID = mUserDeptDict.STUDY_UID_HEADER + mWorkList.ACCESSION_NO;
            }
            else
            {
                issuccess = false;
            }
            return(issuccess);
        }
Example #13
0
        private void lv_Patient_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            ListViewItem lvi = lv_Patient.GetItemAt(e.X, e.Y);
            if (lvi == null) return;
            if (lvi.ImageIndex != 1) return;

            BWorkList bwk = new BWorkList();
            MWorkList mwk = (MWorkList)bwk.GetModel(lvi.Tag.ToString());

            BReport brt = new BReport();
            MReport mrt = (MReport)brt.GetModel(lvi.Tag.ToString());

            ImageCopy ic = new ImageCopy();
            string saveDir = System.Windows.Forms.Application.StartupPath + "\\temp";
            List<ImgObj> arrayImg = ic.LoadImages(mwk, saveDir);
            frmReportEdit frmRE = new frmReportEdit();
            frmRE.initForm(mwk, mrt,ILL.GetConfig.RS_OpenWord);
            frmRE.ShowDialog();
        }
Example #14
0
        /// <summary>
        ///  更新检查费用明细表记录
        /// </summary>
        /// <param name="iWorklist"></param>
        /// <param name="Now_DT_VS_Old"></param>
        /// <param name="Now_DT_VS_Group"></param>
        /// <param name="chargeRatio"></param>
        /// <returns></returns>
        public bool SetExamChargeList(IModel iWorklist, System.Data.DataTable Now_DT_VS_Old, List <System.Data.DataTable> Now_DT_VS_Group, decimal chargeRatio)
        {
            MWorkList       mWorkList = (MWorkList)iWorklist;
            int             i = 0, j = 0;
            BExamChargeList bExamChargeList = new BExamChargeList();

            j = bExamChargeList.Delete(" where EXAM_NO ='" + mWorkList.EXAM_ACCESSION_NUM + "'");
            if (j < 0)
            {
                return(false);
            }
            for (i = 0; i < Now_DT_VS_Group.Count; i++)
            {
                if (Now_DT_VS_Group[i] != null)
                {
                    Hashtable ht = new Hashtable();
                    for (j = 0; j < Now_DT_VS_Group[i].Rows.Count; j++)
                    {
                        MExamChargeList mExamChargeList = new MExamChargeList();
                        mExamChargeList.AMOUNT            = Convert.ToInt32(Now_DT_VS_Group[i].Rows[j]["AMOUNT"].ToString());
                        mExamChargeList.CHARGE            = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["COSTS"].ToString()) * chargeRatio;
                        mExamChargeList.CHARGE_CLASS_NAME = Now_DT_VS_Group[i].Rows[j]["CLASS_NAME"].ToString();
                        mExamChargeList.CHARGE_ITEM_CLASS = Now_DT_VS_Group[i].Rows[j]["ITEM_CLASS"].ToString();
                        mExamChargeList.CHARGE_ITEM_CODE  = Now_DT_VS_Group[i].Rows[j]["ITEM_CODE"].ToString();
                        mExamChargeList.CHARGE_ITEM_NO    = j + 1;
                        mExamChargeList.CHARGE_ITEM_SPEC  = Now_DT_VS_Group[i].Rows[j]["ITEM_SPEC"].ToString();
                        mExamChargeList.COST              = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["COSTS"].ToString());
                        mExamChargeList.PRICE             = Convert.ToDecimal(Now_DT_VS_Group[i].Rows[j]["PRICE"].ToString());
                        mExamChargeList.EXAM_NO           = mWorkList.EXAM_ACCESSION_NUM;
                        mExamChargeList.EXAM_CONFIRM_TIME = DateTime.Now;
                        mExamChargeList.EXAM_ITEM_CODE    = Now_DT_VS_Group[i].Rows[j]["EXAM_ITEM_CODE"].ToString();
                        mExamChargeList.ITEM_NO           = 0;
                        mExamChargeList.PATIENT_ID        = mWorkList.PATIENT_ID;
                        mExamChargeList.UNITS             = Now_DT_VS_Group[i].Rows[j]["UNITS"].ToString();
                        mExamChargeList.CHARGE_ITEM_NAME  = Now_DT_VS_Group[i].Rows[j]["ITEM_NAME"].ToString();
                        mExamChargeList.EXAM_ITEM_NO      = i;
                        ht.Add(j, mExamChargeList);
                    }
                    if (ht.Count > 0)
                    {
                        j = bExamChargeList.AddMore(ht);
                    }
                    if (j < 0)
                    {
                        return(false);
                    }
                }
            }
            Now_DT_VS_Old.Rows.Clear();//清空旧选中检查项目与价表项目的对照表
            for (i = 0; i < Now_DT_VS_Group.Count; i++)
            {
                if (Now_DT_VS_Group[i] != null)
                {
                    for (j = 0; j < Now_DT_VS_Group[i].Rows.Count; j++)
                    {
                        Now_DT_VS_Old.Rows.Add(new object[] {
                            Now_DT_VS_Group[i].Rows[j]["CLASS_NAME"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["ITEM_CLASS"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["ITEM_NAME"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["ITEM_SPEC"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["AMOUNT"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["UNITS"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["PRICE"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["EXAM_ITEM_CODE"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["ITEM_CODE"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["COSTS"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["CHARGES"].ToString(),
                            Now_DT_VS_Group[i].Rows[j]["CHARGE_ITEM_NO"].ToString()
                        });
                    }
                }
            }
            return(true);
        }
Example #15
0
        /// <summary>
        /// 插入一条工作记录
        /// </summary>
        /// <param name="iworklist"></param>
        /// <returns></returns>
        public override int Add(IModel iworklist)
        {
            MWorkList worklist = (MWorkList)iworklist;
            Hashtable ht       = new Hashtable();

            ht.Add("PATIENT_ID", worklist.PATIENT_ID);
            ht.Add("PATIENT_NAME", worklist.PATIENT_NAME);
            ht.Add("PATIENT_PHONETIC", worklist.PATIENT_PHONETIC);
            ht.Add("PATIENT_SEX", worklist.PATIENT_SEX);
            ht.Add("PATIENT_BIRTH", worklist.PATIENT_BIRTH);
            ht.Add("PATIENT_AGE", worklist.PATIENT_AGE);
            ht.Add("PATIENT_AGE_UNIT", worklist.PATIENT_AGE_UNIT);
            ht.Add("PATIENT_LOCAL_ID", worklist.PATIENT_LOCAL_ID);
            ht.Add("LOCAL_ID_CLASS", worklist.LOCAL_ID_CLASS);
            ht.Add("INP_NO", worklist.INP_NO);
            ht.Add("OPD_NO", worklist.OPD_NO);
            ht.Add("BIRTH_PLACE", worklist.BIRTH_PLACE);
            ht.Add("PATIENT_IDENTITY", worklist.PATIENT_IDENTITY);
            ht.Add("CHARGE_TYPE", worklist.CHARGE_TYPE);
            ht.Add("BED_NUM", worklist.BED_NUM);
            ht.Add("MAILING_ADDRESS", worklist.MAILING_ADDRESS);
            ht.Add("ZIP_CODE", worklist.ZIP_CODE);
            ht.Add("TELEPHONE_NUM", worklist.TELEPHONE_NUM);
            ht.Add("PATIENT_SOURCE", worklist.PATIENT_SOURCE);
            ht.Add("EXAM_CLASS", worklist.EXAM_CLASS);
            ht.Add("EXAM_SUB_CLASS", worklist.EXAM_SUB_CLASS);
            ht.Add("EXAM_ITEMS", worklist.EXAM_ITEMS);
            ht.Add("EXAM_DEPT", worklist.EXAM_DEPT);
            ht.Add("EXAM_DEPT_NAME", worklist.EXAM_DEPT_NAME);
            ht.Add("EXAM_NO", worklist.EXAM_NO);
            ht.Add("ACCESSION_NO", worklist.ACCESSION_NO);
            ht.Add("EXAM_ACCESSION_NUM ", worklist.EXAM_ACCESSION_NUM);
            ht.Add("STUDY_INSTANCE_UID", worklist.STUDY_INSTANCE_UID);
            ht.Add("EXAM_DOCTOR", worklist.EXAM_DOCTOR);
            ht.Add("REPORT_DOCTOR", worklist.REPORT_DOCTOR);
            ht.Add("SCH_OPERATOR", worklist.SCH_OPERATOR);
            ht.Add("STUDY_PATH", worklist.STUDY_PATH);
            ht.Add("EXAM_MODE", worklist.EXAM_MODE);
            ht.Add("EXAM_INDEX", worklist.EXAM_INDEX);
            ht.Add("DEVICE", worklist.DEVICE);
            ht.Add("EXAM_INTRADAYSEQ_NO", worklist.EXAM_INTRADAYSEQ_NO);
            ht.Add("EXAM_GROUP", worklist.EXAM_GROUP);
            ht.Add("STUDY_DATE_TIME", worklist.STUDY_DATE_TIME);
            ht.Add("EXAM_STEP_STATUS", worklist.EXAM_STEP_STATUS);
            ht.Add("REPORT_STATUS", worklist.REPORT_STATUS);
            ht.Add("IS_CONFIRMED", worklist.IS_CONFIRMED);
            ht.Add("MATCH_STATUS", worklist.MATCH_STATUS);
            ht.Add("IS_TEMPORARY", worklist.IS_TEMPORARY);
            ht.Add("VIP_INDICATOR", worklist.VIP_INDICATOR);
            ht.Add("IMAGE_ARCHIVED", worklist.IMAGE_ARCHIVED);
            ht.Add("PRE_FETCH", worklist.PRE_FETCH);
            ht.Add("QUERY_STATUS", worklist.QUERY_STATUS);
            ht.Add("DISPATCH_STATUS", worklist.DISPATCH_STATUS);
            ht.Add("PATIENT_CLASS", worklist.PATIENT_CLASS);
            ht.Add("QUERY_TIME", worklist.QUERY_TIME);
            ht.Add("IMAGE_COUNTS", worklist.IMAGE_COUNTS);
            ht.Add("SCHEDULED_DATE", worklist.SCHEDULED_DATE);
            ht.Add("REFER_DOCTOR", worklist.REFER_DOCTOR);
            ht.Add("REFER_DEPT", worklist.REFER_DEPT);
            ht.Add("REQ_DATE_TIME", worklist.REQ_DATE_TIME);
            ht.Add("REQ_DEPT_NAME", worklist.REQ_DEPT_NAME);
            ht.Add("REQ_MEMO", worklist.REQ_MEMO);
            ht.Add("CLIN_SYMP", worklist.CLIN_SYMP);
            ht.Add("PHYS_SIGN", worklist.PHYS_SIGN);
            ht.Add("RELEVANT_LAB_TEST", worklist.RELEVANT_LAB_TEST);
            ht.Add("RELEVANT_DIAG", worklist.RELEVANT_DIAG);
            ht.Add("CLIN_DIAG", worklist.CLIN_DIAG);
            ht.Add("FACILITY", worklist.FACILITY);
            ht.Add("OUT_MED_INSTITUTION", worklist.OUT_MED_INSTITUTION);
            ht.Add("VISIT_ID", worklist.VISIT_ID);
            ht.Add("COSTS", worklist.COSTS);
            ht.Add("CHARGES", worklist.CHARGES);
            ht.Add("JZH", worklist.JZH);    //记账号  add by liukun at 2010-7-13
            return(ExecuteSql(StringConstructor.InsertSql(TableName, ht).ToString()));
        }
Example #16
0
        /// <summary>
        /// 获取指定检查申请号的工作记录
        /// </summary>
        /// <param name="exam_accession_num"></param>
        /// <returns></returns>
        public override IModel GetModel(string exam_accession_num)
        {
            strSql = "select * from " + TableName + " where EXAM_ACCESSION_NUM = '" + exam_accession_num + "'";
            DataSet ds = GetDataSet(strSql);

            if (ds.Tables[0].Rows.Count == 0)
            {
                return(null);
            }
            MWorkList model = new MWorkList();

            model.EXAM_ACCESSION_NUM  = ds.Tables[0].Rows[0]["EXAM_ACCESSION_NUM"].ToString();
            model.PATIENT_ID          = ds.Tables[0].Rows[0]["PATIENT_ID"].ToString();
            model.PATIENT_NAME        = ds.Tables[0].Rows[0]["PATIENT_NAME"].ToString();
            model.PATIENT_PHONETIC    = ds.Tables[0].Rows[0]["PATIENT_PHONETIC"].ToString();
            model.PATIENT_SEX         = ds.Tables[0].Rows[0]["PATIENT_SEX"].ToString();
            model.PATIENT_AGE_UNIT    = ds.Tables[0].Rows[0]["PATIENT_AGE_UNIT"].ToString();
            model.PATIENT_IDENTITY    = ds.Tables[0].Rows[0]["PATIENT_IDENTITY"].ToString();
            model.PATIENT_LOCAL_ID    = ds.Tables[0].Rows[0]["PATIENT_LOCAL_ID"].ToString();
            model.LOCAL_ID_CLASS      = ds.Tables[0].Rows[0]["LOCAL_ID_CLASS"].ToString();
            model.INP_NO              = ds.Tables[0].Rows[0]["INP_NO"].ToString();
            model.BED_NUM             = ds.Tables[0].Rows[0]["BED_NUM"].ToString();
            model.OPD_NO              = ds.Tables[0].Rows[0]["OPD_NO"].ToString();
            model.BIRTH_PLACE         = ds.Tables[0].Rows[0]["BIRTH_PLACE"].ToString();
            model.MAILING_ADDRESS     = ds.Tables[0].Rows[0]["MAILING_ADDRESS"].ToString();
            model.ZIP_CODE            = ds.Tables[0].Rows[0]["ZIP_CODE"].ToString();
            model.TELEPHONE_NUM       = ds.Tables[0].Rows[0]["TELEPHONE_NUM"].ToString();
            model.PATIENT_SOURCE      = ds.Tables[0].Rows[0]["PATIENT_SOURCE"].ToString();
            model.EXAM_CLASS          = ds.Tables[0].Rows[0]["EXAM_CLASS"].ToString();
            model.EXAM_SUB_CLASS      = ds.Tables[0].Rows[0]["EXAM_SUB_CLASS"].ToString();
            model.EXAM_ITEMS          = ds.Tables[0].Rows[0]["EXAM_ITEMS"].ToString();
            model.EXAM_DEPT           = ds.Tables[0].Rows[0]["EXAM_DEPT"].ToString();
            model.EXAM_DEPT_NAME      = ds.Tables[0].Rows[0]["EXAM_DEPT_NAME"].ToString();
            model.EXAM_MODE           = ds.Tables[0].Rows[0]["EXAM_MODE"].ToString();
            model.EXAM_GROUP          = ds.Tables[0].Rows[0]["EXAM_GROUP"].ToString();
            model.EXAM_DOCTOR         = ds.Tables[0].Rows[0]["EXAM_DOCTOR"].ToString();
            model.EXAM_NO             = ds.Tables[0].Rows[0]["EXAM_NO"].ToString();
            model.STUDY_INSTANCE_UID  = ds.Tables[0].Rows[0]["STUDY_INSTANCE_UID"].ToString();
            model.STUDY_PATH          = ds.Tables[0].Rows[0]["STUDY_PATH"].ToString();
            model.REPORT_DOCTOR       = ds.Tables[0].Rows[0]["REPORT_DOCTOR"].ToString();
            model.DEVICE              = ds.Tables[0].Rows[0]["DEVICE"].ToString();
            model.SCH_OPERATOR        = ds.Tables[0].Rows[0]["SCH_OPERATOR"].ToString();
            model.REFER_DOCTOR        = ds.Tables[0].Rows[0]["REFER_DOCTOR"].ToString();
            model.REFER_DEPT          = ds.Tables[0].Rows[0]["REFER_DEPT"].ToString();
            model.REQ_DEPT_NAME       = ds.Tables[0].Rows[0]["REQ_DEPT_NAME"].ToString();
            model.REQ_MEMO            = ds.Tables[0].Rows[0]["REQ_MEMO"].ToString();
            model.CLIN_SYMP           = ds.Tables[0].Rows[0]["CLIN_SYMP"].ToString();
            model.PHYS_SIGN           = ds.Tables[0].Rows[0]["PHYS_SIGN"].ToString();
            model.RELEVANT_LAB_TEST   = ds.Tables[0].Rows[0]["RELEVANT_LAB_TEST"].ToString();
            model.RELEVANT_DIAG       = ds.Tables[0].Rows[0]["RELEVANT_DIAG"].ToString();
            model.CLIN_DIAG           = ds.Tables[0].Rows[0]["CLIN_DIAG"].ToString();
            model.FACILITY            = ds.Tables[0].Rows[0]["FACILITY"].ToString();
            model.OUT_MED_INSTITUTION = ds.Tables[0].Rows[0]["OUT_MED_INSTITUTION"].ToString();
            model.JZH = ds.Tables[0].Rows[0]["JZH"].ToString(); //记账号  add by liukun at 2010-7-13

            if (ds.Tables[0].Rows[0]["ACCESSION_NO"].ToString() == "")
            {
                model.ACCESSION_NO = null;
            }
            else
            {
                model.ACCESSION_NO = int.Parse(ds.Tables[0].Rows[0]["ACCESSION_NO"].ToString());
            }

            if (ds.Tables[0].Rows[0]["PATIENT_BIRTH"].ToString() == "")
            {
                model.PATIENT_BIRTH = null;
            }
            else
            {
                model.PATIENT_BIRTH = DateTime.Parse(ds.Tables[0].Rows[0]["PATIENT_BIRTH"].ToString());
            }

            if (ds.Tables[0].Rows[0]["PATIENT_AGE"].ToString() == "")
            {
                model.PATIENT_AGE = null;
            }
            else
            {
                model.PATIENT_AGE = int.Parse(ds.Tables[0].Rows[0]["PATIENT_AGE"].ToString());
            }

            if (ds.Tables[0].Rows[0]["CHARGE_TYPE"].ToString() == "")
            {
                model.CHARGE_TYPE = null;
            }
            else
            {
                model.CHARGE_TYPE = int.Parse(ds.Tables[0].Rows[0]["CHARGE_TYPE"].ToString());
            }

            if (ds.Tables[0].Rows[0]["EXAM_INDEX"].ToString() == "")
            {
                model.EXAM_INDEX = null;
            }
            else
            {
                model.EXAM_INDEX = int.Parse(ds.Tables[0].Rows[0]["EXAM_INDEX"].ToString());
            }

            if (ds.Tables[0].Rows[0]["EXAM_INTRADAYSEQ_NO"].ToString() == "")
            {
                model.EXAM_INTRADAYSEQ_NO = null;
            }
            else
            {
                model.EXAM_INTRADAYSEQ_NO = decimal.Parse(ds.Tables[0].Rows[0]["EXAM_INTRADAYSEQ_NO"].ToString());
            }

            if (ds.Tables[0].Rows[0]["STUDY_DATE_TIME"].ToString() == "")
            {
                model.STUDY_DATE_TIME = null;
            }
            else
            {
                model.STUDY_DATE_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["STUDY_DATE_TIME"].ToString());
            }

            if (ds.Tables[0].Rows[0]["EXAM_STEP_STATUS"].ToString() == "")
            {
                model.EXAM_STEP_STATUS = null;
            }
            else
            {
                model.EXAM_STEP_STATUS = int.Parse(ds.Tables[0].Rows[0]["EXAM_STEP_STATUS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["REPORT_STATUS"].ToString() == "")
            {
                model.REPORT_STATUS = null;
            }
            else
            {
                model.REPORT_STATUS = int.Parse(ds.Tables[0].Rows[0]["REPORT_STATUS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["IS_CONFIRMED"].ToString() == "")
            {
                model.IS_CONFIRMED = null;
            }
            else
            {
                model.IS_CONFIRMED = int.Parse(ds.Tables[0].Rows[0]["IS_CONFIRMED"].ToString());
            }

            if (ds.Tables[0].Rows[0]["MATCH_STATUS"].ToString() == "")
            {
                model.MATCH_STATUS = null;
            }
            else
            {
                model.MATCH_STATUS = int.Parse(ds.Tables[0].Rows[0]["MATCH_STATUS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["IS_TEMPORARY"].ToString() == "")
            {
                model.IS_TEMPORARY = null;
            }
            else
            {
                model.IS_TEMPORARY = int.Parse(ds.Tables[0].Rows[0]["IS_TEMPORARY"].ToString());
            }

            if (ds.Tables[0].Rows[0]["VIP_INDICATOR"].ToString() == "")
            {
                model.VIP_INDICATOR = null;
            }
            else
            {
                model.VIP_INDICATOR = int.Parse(ds.Tables[0].Rows[0]["VIP_INDICATOR"].ToString());
            }

            if (ds.Tables[0].Rows[0]["IMAGE_ARCHIVED"].ToString() == "")
            {
                model.IMAGE_ARCHIVED = null;
            }
            else
            {
                model.IMAGE_ARCHIVED = int.Parse(ds.Tables[0].Rows[0]["IMAGE_ARCHIVED"].ToString());
            }

            if (ds.Tables[0].Rows[0]["PRE_FETCH"].ToString() == "")
            {
                model.PRE_FETCH = null;
            }
            else
            {
                model.PRE_FETCH = int.Parse(ds.Tables[0].Rows[0]["PRE_FETCH"].ToString());
            }

            if (ds.Tables[0].Rows[0]["DISPATCH_STATUS"].ToString() == "")
            {
                model.DISPATCH_STATUS = null;
            }
            else
            {
                model.DISPATCH_STATUS = int.Parse(ds.Tables[0].Rows[0]["DISPATCH_STATUS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["QUERY_STATUS"].ToString() == "")
            {
                model.QUERY_STATUS = null;
            }
            else
            {
                model.QUERY_STATUS = int.Parse(ds.Tables[0].Rows[0]["QUERY_STATUS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["QUERY_TIME"].ToString() == "")
            {
                model.QUERY_TIME = null;
            }
            else
            {
                model.QUERY_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["QUERY_TIME"].ToString());
            }

            if (ds.Tables[0].Rows[0]["PATIENT_CLASS"].ToString() == "")
            {
                model.PATIENT_CLASS = null;
            }
            else
            {
                model.PATIENT_CLASS = int.Parse(ds.Tables[0].Rows[0]["PATIENT_CLASS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["IMAGE_COUNTS"].ToString() == "")
            {
                model.IMAGE_COUNTS = null;
            }
            else
            {
                model.IMAGE_COUNTS = int.Parse(ds.Tables[0].Rows[0]["IMAGE_COUNTS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["SCHEDULED_DATE"].ToString() == "")
            {
                model.SCHEDULED_DATE = null;
            }
            else
            {
                model.SCHEDULED_DATE = DateTime.Parse(ds.Tables[0].Rows[0]["SCHEDULED_DATE"].ToString());
            }

            if (ds.Tables[0].Rows[0]["REQ_DATE_TIME"].ToString() == "")
            {
                model.REQ_DATE_TIME = null;
            }
            else
            {
                model.REQ_DATE_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["REQ_DATE_TIME"].ToString());
            }

            if (ds.Tables[0].Rows[0]["COSTS"].ToString() == "")
            {
                model.COSTS = null;
            }
            else
            {
                model.COSTS = decimal.Parse(ds.Tables[0].Rows[0]["COSTS"].ToString());
            }

            if (ds.Tables[0].Rows[0]["CHARGES"].ToString() == "")
            {
                model.CHARGES = null;
            }
            else
            {
                model.CHARGES = decimal.Parse(ds.Tables[0].Rows[0]["CHARGES"].ToString());
            }

            if (ds.Tables[0].Rows[0]["VISIT_ID"].ToString() == "")
            {
                model.VISIT_ID = null;
            }
            else
            {
                model.VISIT_ID = int.Parse(ds.Tables[0].Rows[0]["VISIT_ID"].ToString());
            }
            return(model);
        }