Exemplo n.º 1
0
 private void AddUcEmrInput()
 {
     m_UCEmrInput = new UCEmrInput();
     //m_UCEmrInput.HideBar();
     m_UCEmrInput.Dock = DockStyle.Fill;
     this.Controls.Add(m_UCEmrInput);
 }
Exemplo n.º 2
0
        /// <summary>
        /// 加载病历
        /// edit by Yanqiao.Cai 2012-11-23
        /// 1、add try ... catch
        /// </summary>
        private void AddEmrInput()
        {
            try
            {
                /// <summary>
                /// 病案管理模块标识
                /// 0-默认(非病案管理)
                /// 1-未归档病历
                /// 2-非未归档病历
                /// </summary>
                m_UCEmrInput = new UCEmrInput("正在加载病历信息...", floderState);

                m_UCEmrInput.CurrentInpatient = null;
                m_UCEmrInput.HideBar();
                RecordDal m_RecordDal = new RecordDal(m_Host.SqlHelper);
                m_UCEmrInput.SetInnerVar(m_Host, m_RecordDal);
                this.Controls.Add(m_UCEmrInput);
                m_UCEmrInput.Dock = DockStyle.Fill;

                if (!string.IsNullOrEmpty(m_NoOfFirstPage) && !m_IsLoadedEmrContent)
                {
                    m_UCEmrInput.PatientChangedByIEmrHost(Convert.ToDecimal(m_NoOfFirstPage));
                    m_UCEmrInput.HideBar();
                    m_IsLoadedEmrContent = true;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 3
0
        private void AddEmrInput()
        {
            m_UCEmrInput = new UCEmrInput();
            m_UCEmrInput.HideBar();
            RecordDal m_RecordDal = new RecordDal(m_App.SqlHelper);

            m_UCEmrInput.SetInnerVar(m_App, m_RecordDal);
            xtraTabPageEmrContant.Controls.Add(m_UCEmrInput);
            m_UCEmrInput.Dock = DockStyle.Fill;
        }
Exemplo n.º 4
0
        private void AddEmrInput()
        {
            m_UCEmrInput = new UCEmrInput();
            m_UCEmrInput.CurrentInpatient = null;
            m_UCEmrInput.HideBar();
            RecordDal m_RecordDal = new RecordDal(m_Host.SqlHelper);

            m_UCEmrInput.SetInnerVar(m_Host, m_RecordDal);
            xtraTabPageEmrContent.Controls.Add(m_UCEmrInput);
            m_UCEmrInput.Dock = DockStyle.Fill;
        }
Exemplo n.º 5
0
 /// <summary>
 /// 获取MainForm中的IEmrHost
 /// </summary>
 /// <param name="ctl"></param>
 /// <returns></returns>
 public static IEmrHost GetEmrHost(Control ctl)
 {
     try
     {
         UCEmrInput ucEmrInput = GetParentUserControl <UCEmrInput>(ctl);
         return(ucEmrInput.App);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 获取MainForm中的当前病人
 /// </summary>
 /// <param name="ctl"></param>
 /// <returns></returns>
 public static Inpatient GetCurrentInpatient(Control ctl)
 {
     try
     {
         UCEmrInput ucEmrInput = GetParentUserControl <UCEmrInput>(ctl);
         return(ucEmrInput.CurrentInpatient);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 7
0
        /// <summary>
        /// 初始化文书录入
        /// </summary>
        private void AddUcEmrInput()
        {
            try
            {
                m_UCEmrInput      = new UCEmrInput();
                m_UCEmrInput.Dock = DockStyle.Fill;

                this.Controls.Add(m_UCEmrInput);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 8
0
        //UCRecordSuggestion m_UCRecordSuggestion;
        ///// <summary>
        ///// 居中显示会诊记录单界面
        ///// </summary>
        //private void SetUCRecordSuggestionCenter()
        //{
        //    try
        //    {
        //        if (m_UCRecordSuggestion.FindForm()!= null)
        //        {
        //            m_UCRecordSuggestion.Location = new Point((m_UCRecordSuggestion.Parent.Width - m_UCRecordSuggestion.Width) / 2, 2);
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}
        #endregion

        #endregion

        #region 病历内容 - 老版
        /// <summary>
        /// 加载文书录入界面
        /// Add xlb 2013-03-04
        /// </summary>
        private void AddEmrInput()
        {
            try
            {
                m_UCEmrInput = new UCEmrInput();
                m_UCEmrInput.CurrentInpatient = null;
                m_UCEmrInput.HideBar();
                RecordDal m_RecordDal = new RecordDal(m_app.SqlHelper);
                m_UCEmrInput.SetInnerVar(m_app, m_RecordDal);
                xtraEmrInpat.Controls.Add(m_UCEmrInput);
                m_UCEmrInput.Dock = DockStyle.Fill;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 9
0
        private void AddEmrInput()
        {
            m_UCEmrInput = new UCEmrInput("正在加载病历信息...", floderState);
            m_UCEmrInput.CurrentInpatient = null;
            m_UCEmrInput.HideBar();
            RecordDal m_RecordDal = new RecordDal(m_Host.SqlHelper);

            m_UCEmrInput.SetInnerVar(m_Host, m_RecordDal);
            this.Controls.Add(m_UCEmrInput);
            m_UCEmrInput.Dock = DockStyle.Fill;

            if (!string.IsNullOrEmpty(m_NoOfFirstPage) && !m_IsLoadedEmrContent)
            {
                m_UCEmrInput.PatientChangedByIEmrHost(Convert.ToDecimal(m_NoOfFirstPage));
                m_UCEmrInput.HideBar();
                m_IsLoadedEmrContent = true;
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 导入处理过的病历
        /// </summary>
        private void ProcEMR(DataTable dt)
        {
            //增加捕获异常验证 add by ywk 2012年12月10日16:22:49
            try
            {
                DS_Common.SetWaitDialogCaption(m_WaitDialog, "正在处理历史病历...");
                string userID   = m_App.User.Id;
                string userName = m_App.User.Name;
                int    day      = 0;
                //【1】初始化病例信息
                dt.Columns.Add("captiondatetimeTemp");
                foreach (DataRow dr in dt.Rows)
                {
                    dr["noofinpat"]  = m_CurrentInpatient.NoOfFirstPage.ToString();
                    dr["owner"]      = userID;
                    dr["createtime"] = CurrentDateTime;
                    dr["auditor"]    = "";
                    dr["audittime"]  = null;
                    dr["hassubmit"]  = "4600";
                    dr["hasprint"]   = "3600";
                    dr["hassign"]    = "0";
                    dr["islock"]     = "4700";

                    if (dr["sortid"].ToString() == ContainerCatalog.BingChengJiLu)//针对病程需要特殊处理,每份病例的时间间距是1天
                    {
                        string bingChenDateTime = Convert.ToDateTime(CurrentDateTime).AddDays(day).ToString("yyyy-MM-dd HH:mm:ss");
                        day++;
                        dr["name"] = dr["name"].ToString().Split(' ')[0] + ' ' + bingChenDateTime + ' ' + userName;
                        dr["captiondatetimeTemp"] = bingChenDateTime;
                    }
                    else
                    {
                        dr["name"]            = dr["name"].ToString().Split(' ')[0] + ' ' + CurrentDateTime + ' ' + userName;
                        dr["captiondatetime"] = System.DateTime.MinValue;
                    }
                }

                //【2】修改病程病例中节点的时间
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.PreserveWhitespace = true;
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["sortid"].ToString() == ContainerCatalog.BingChengJiLu) //针对病程需要特殊处理,每份病例的时间间距是1天
                    {
                        if (dr["FIRSTDAILYFLAG"].ToString() == "1")                //首次病程中保存了病程的内容
                        {
                            xmlDoc.LoadXml(dr["content"].ToString());
                        }

                        XmlNodeList nodeList = xmlDoc.GetElementsByTagName("text");
                        foreach (XmlElement ele in nodeList)
                        {
                            if (ele.HasAttribute("type") && ele.HasAttribute("name"))
                            {
                                if (ele.Attributes["type"].Value == "text" && ele.Attributes["name"].Value == "记录日期")
                                {
                                    if (ele.InnerText.Trim() == dr["captiondatetime"].ToString())
                                    {
                                        ele.InnerXml          = dr["captiondatetimeTemp"].ToString();
                                        dr["captiondatetime"] = dr["captiondatetimeTemp"].ToString();
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }

                //【3】修改病程保存到首程中
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["sortid"].ToString() == ContainerCatalog.BingChengJiLu) //针对病程需要特殊处理,每份病例的时间间距是1天
                    {
                        if (dr["FIRSTDAILYFLAG"].ToString() == "1")                //首次病程中保存了病程的内容
                        {
                            dr["content"] = xmlDoc.InnerXml;
                            break;
                        }
                    }
                }

                //【4】保存到数据库
                DS_Common.SetWaitDialogCaption(m_WaitDialog, "正在保存病历...");
                XmlDocument doc = new XmlDocument();
                doc.PreserveWhitespace = true;
                UCEmrInput      UcEmr     = new UCEmrInput();
                List <EmrModel> listmodel = new List <EmrModel>();
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["sortid"].ToString() == ContainerCatalog.BingChengJiLu && !m_IsNeedBatchInDailyEmr)//如果是病程记录,并且不需要导入病程,则暂时不做任何动作
                    {
                        //TODO
                    }
                    else
                    {
                        EmrModel model = new EmrModel(dr);
                        //如果不为空,则遍历到病程记录时,就代表对首程进行操作时 ,遍历其他病程记录时不会进这个方法
                        //edit by ywk 2012年12月10日15:33:59
                        listmodel.Add(model);
                        if (dr["content"].ToString().Trim() != "")
                        {
                            //XmlDocument doc = new XmlDocument();
                            //doc.PreserveWhitespace = true;
                            doc.LoadXml(dr["content"].ToString());
                            model.ModelContent = doc;
                        }
                        #region 注释掉的
                        //XmlDocument doc = new XmlDocument();
                        //doc.PreserveWhitespace = true;
                        ////改为病程特殊处理
                        //if (dr["content"].ToString().Trim() != "" && dr["sortid"].ToString() != "AC")
                        //{

                        //    doc.LoadXml(dr["content"].ToString());
                        //    model.ModelContent = doc;
                        //}
                        //if (dr["sortid"].ToString() == "AC")
                        //{
                        //    if (dr["FIRSTDAILYFLAG"].ToString() == "1")//是首程
                        //    {
                        //        doc.LoadXml(dr["content"].ToString());
                        //        model.ModelContent = doc;
                        //    }
                        //    else
                        //    {

                        //    }
                        //}
                        #endregion
                        m_RecordDal.InsertModelInstance(model, Convert.ToInt32(m_CurrentInpatient.NoOfFirstPage));
                    }
                }
                UcEmr.SaveDocumentByModelList(listmodel, m_RecordDal, m_CurrentInpatient);
                #region 注释掉的
                //HistoryEMRBLL bll = new HistoryEMRBLL(m_App, m_CurrentInpatient, m_RecordDal, "AC");
                ////处理有的病程记录有节点,右侧没内容的情况   add by ywk 2012年12月10日16:45:07
                //foreach (DataRow dr in dt.Rows)
                //{
                //    if (dr["sortid"].ToString() == "AC")
                //    {
                //        if (!bll.CheckExistRecordDetail(Int32.Parse(dr["ID"].ToString()), dr["captiondatetime"].ToString()))
                //        {
                //            //DS_SqlService.UpdateRecordValid(Int32.Parse(dr["ID"].ToString()), false);

                //            bll.UpdateRecordValid(Int32.Parse(dr["ID"].ToString()), false);
                //        }
                //    }

                //}
                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 11
0
 /// <summary>
 /// 创建UCEmrInput实例
 /// </summary>
 private void CreateUCEmrInput()
 {
     _EmrHost.ChoosePatient(_noOfInpat);
     _UCEmrInput      = new UCEmrInput(_EmrHost.CurrentPatientInfo, _EmrHost);
     _UCEmrInput.Dock = DockStyle.Fill;
 }