Пример #1
0
 /// <summary>
 /// 通过递归按照节点的顺序得到所有节点的诊断 初步诊断,如果有子诊断的话,子诊断以几点几开头,如:诊断为“1 诊断名”,子诊断为“1.1 诊断名 1.2诊断名”等
 /// </summary>
 /// 二次修改 ywk 2013年2月19日15:57:07
 /// <param name="node"></param>
 private string GetDiagContentRemark()
 {
     try
     {
         //此处根据配置,判断返回的诊断内容是结构化元素还是自由文本
         string diagContentType = BasicSettings.GetStringConfig("IsSetDiagContentStr") == "" ? "1" : BasicSettings.GetStringConfig("IsSetDiagContentStr");
         foreach (DataRow dr in ((DataTable)gridControl2.DataSource).Rows)
         {
             if (diagContentType == "1")//结构化元素
             {
                 m_DiagContentRemark += "、" + dr["Operation_Name"].ToString();
             }
             else//自由文本
             {
                 m_DiagContentRemark += dr["Operation_Name"].ToString() + "\r\n";//GetDiagContentRemartInner(dr) + "\r\n";
             }
         }
         if (diagContentType == "1")
         {
             return(m_DiagContentRemark.Substring(1));
         }
         return(m_DiagContentRemark);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #2
0
        /// <summary>
        /// 编辑基本信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            SetWaitDialogCaption("正在加载数据");

            string emrSetting = BasicSettings.GetStringConfig("isCnMaiPage");//取得配置表中的配置信息

            if (emrSetting == "1")
            {
                if (m_UCIemBasInfo == null)
                {
                    m_UCIemBasInfo = new UCIemBasInfo(this);
                }
                ShowUCForm.ShowUCIemBasInfo(m_UCIemBasInfo, info);
            }
            else
            {
                if (m_UCIemBasInfoEn == null)
                {
                    m_UCIemBasInfoEn = new UCIemBasInfoEn(this);
                }
                ShowUCForm.ShowUCIemBasInfoEn(m_UCIemBasInfoEn, info);
            }

            HideWaitDialog();
            if (ShowUCForm.ShowDialog() == DialogResult.OK)
            {
                info = ShowUCForm.m_info;
            }

            RefreshForm();
        }
Пример #3
0
        public void GetDiag(EditorForm padForm)
        {
            try
            {
                //此处根据配置,判断返回的诊断内容是结构化元素还是自由文本
                //add by ywk 2013年2月19日15:46:13
                string diagContentType = BasicSettings.GetStringConfig("IsSetDiagContentStr") == "" ? "1" : BasicSettings.GetStringConfig("IsSetDiagContentStr");

                if (m_Form is DiagForm)
                {
                    string diagContent = m_DiagForm.GetDiag().Trim();
                    //edti by ywk 2013年2月19日15:50:39
                    if (diagContentType == "1")//插入结构化元素
                    {
                        InsertElementText(padForm, m_Name, diagContent);
                    }
                    else
                    {
                        InsertString(padForm, m_Name, diagContent);
                    }
                }
                else if (m_Form is DiagLibForm)
                {
                    string diagContent = m_DiagLibForm.GetDiag().Trim();
                    InsertString(padForm, m_Name, diagContent);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #4
0
        /// <summary>
        /// 编辑诊断信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleButton3_Click(object sender, EventArgs e)
        {
            SetWaitDialogCaption("正在加载数据");

            string emrSetting = BasicSettings.GetStringConfig("isCnMaiPage");//取得配置表中的配置信息

            if (emrSetting == "1")
            {
                if (m_UCIemDiagnose == null)
                {
                    m_UCIemDiagnose = new UCIemDiagnose(m_Host);
                }
                ShowUCForm.ShowUCIemDiagnose(m_UCIemDiagnose, info);
            }
            else
            {
                if (m_UCIemDiagnoseEn == null)
                {
                    m_UCIemDiagnoseEn = new UCIemDiagnoseEn(m_Host);
                }
                ShowUCForm.ShowUCIemDiagnoseEn(m_UCIemDiagnoseEn, info);
            }

            ShowUCForm.StartPosition = FormStartPosition.CenterScreen;

            HideWaitDialog();
            if (ShowUCForm.ShowDialog() == DialogResult.OK)
            {
                info = ShowUCForm.m_info;
            }
            RefreshForm();
        }
Пример #5
0
 /// <summary>
 /// 是否开放三级检诊功能
 /// </summary>
 /// <returns></returns>
 private bool IsOpenThreeLevelAudit()
 {
     try
     {
         string      emrConfig = BasicSettings.GetStringConfig("EmrSetting");
         XmlDocument doc       = new XmlDocument();
         doc.LoadXml(emrConfig);
         XmlNodeList nodeList = doc.GetElementsByTagName("OpenThreeLevelAudit");
         if (nodeList.Count > 0)
         {
             XmlElement ele = nodeList[0] as XmlElement;
             if (ele.InnerText.Trim() == "0")
             {
                 return(false);
             }
             else
             {
                 return(true);
             }
         }
         return(false);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Пример #6
0
        private DataTable GetPatientDataInner(int queryType, string strNurs, string strBed)
        {
            DataTable dataTablePatientData    = new DataTable();
            string    wardAndDeptRelationship = BasicSettings.GetStringConfig("WardAndDeptRelationship");

            if (wardAndDeptRelationship == "1")//1:一个病区包含多个科室  2:一个科室包含多个病区
            {
                dataTablePatientData = GetPatientInfoData(m_app.User.CurrentDeptId, m_app.User.CurrentWardId);
                //col_ksmc.Visible = true;
            }
            else
            {
                //读取主框架的患者信息
                dataTablePatientData = m_app.PatientInfos.Tables[1]; //GetPatientData(queryType, strNurs, strBed);
                //col_ksmc.Visible = false;
            }

            //List<string> listAttendLevel = GetAttendLevel();

            //for (int i = dataTablePatientData.Rows.Count - 1; i >= 0; i--)
            //{
            //    if (!listAttendLevel.Contains(dataTablePatientData.Rows[i]["AttendLevel"].ToString())
            //        && dataTablePatientData.Rows[i]["PatID"].ToString().Trim() != "")
            //    {
            //        dataTablePatientData.Rows.RemoveAt(i);
            //    }
            //}

            //lbl_Total.Text = dataTablePatientData.Rows.Count + " 张床位";

            return(dataTablePatientData);
        }
Пример #7
0
        private void DrugInfoForm_Load(object sender, EventArgs e)
        {
            string ServerURL = BasicSettings.GetStringConfig("DrectSoftWebServerUrL");

            webBrowser1.BringToFront();
            //webBroswer.Navigate("http://localhost:8010/Applications/Manage/NewsList.aspx?userid=" + m_app.User.Id + "&username="******"&userdept=" + m_app.User.DeptId + "");
            webBrowser1.Navigate("http://" + ServerURL + "/Search2/Default.aspx");
        }
Пример #8
0
        private void InitArchiveSetting()
        {
            string config = BasicSettings.GetStringConfig(s_AutoArchiveTimeSettingKey);

            m_TimeSetting = (int)Convert.ToDecimal(config);
            if (m_TimeSetting <= 0)
            {
                m_TimeSetting = 3;
            }
        }
Пример #9
0
 private void NewCenter_Load(object sender, EventArgs e)
 {
     try
     {
         string ServerURL = BasicSettings.GetStringConfig("YindanWebServerUrL");
         webBrowser1.Navigate("http://" + ServerURL + "/Applications/Manage/NewsDefault.aspx");
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
Пример #10
0
        /// <summary>
        /// 从m_Appcfg表中捞取病历预览的页面配置的Xml
        /// </summary>
        private void InitEmrPageSetting()
        {
            try
            {
                string xmldoc = BasicSettings.GetStringConfig("PageSettingPreView");
                System.Xml.XmlDocument doc = new XmlDocument();
                doc.LoadXml(xmldoc);
                XmlNode pagesetting = doc.ChildNodes[0].SelectSingleNode("pagesettings");
                if (pagesetting != null)
                {
                    XmlElement    ele = (pagesetting as XmlElement).SelectSingleNode("page") as XmlElement;
                    XPageSettings ps  = new XPageSettings();
                    ps.PaperSize.Kind = (PaperKind)Enum.Parse(typeof(PaperKind), ele.GetAttribute("kind"));
                    if (ps.PaperSize.Kind == PaperKind.Custom)
                    {
                        ps.PaperSize.Height = int.Parse(ele.GetAttribute("height"));
                        ps.PaperSize.Width  = int.Parse(ele.GetAttribute("width"));
                    }
                    ele               = (pagesetting as XmlElement).SelectSingleNode("margins") as XmlElement;
                    ps.Margins.Left   = int.Parse(ele.GetAttribute("left"));
                    ps.Margins.Right  = int.Parse(ele.GetAttribute("right"));
                    ps.Margins.Top    = int.Parse(ele.GetAttribute("top"));
                    ps.Margins.Bottom = int.Parse(ele.GetAttribute("bottom"));

                    ele             = (pagesetting as XmlElement).SelectSingleNode("landscape") as XmlElement;
                    ps.Landscape    = bool.Parse(ele.GetAttribute("value"));
                    ele             = (pagesetting as XmlElement).SelectSingleNode("header") as XmlElement;
                    ps.HeaderHeight = int.Parse(ele.GetAttribute("height"));
                    ele             = (pagesetting as XmlElement).SelectSingleNode("footer") as XmlElement;
                    ps.FooterHeight = int.Parse(ele.GetAttribute("height"));
                    this.m_EditorForm.CurrentEditorControl.EMRDoc.Pages.PageSettings = ps;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #11
0
        /// <summary>
        /// 通过递归按照节点的顺序得到所有节点的诊断 初步诊断,如果有子诊断的话,子诊断以几点几开头,如:诊断为“1 诊断名”,子诊断为“1.1 诊断名 1.2诊断名”等
        /// </summary>
        /// 二次修改 ywk 2013年2月19日15:57:07
        /// <param name="node"></param>
        private void GetDiagContentRemark(TreeListNode node)
        {
            try
            {
                TreeListNodes nodes = null;
                if (node != null)
                {
                    nodes = node.Nodes;
                }
                else
                {
                    nodes = treeListDiag.Nodes;
                }

                //此处根据配置,判断返回的诊断内容是结构化元素还是自由文本
                //add by ywk 2013年2月19日15:46:13
                string diagContentType = BasicSettings.GetStringConfig("IsSetDiagContentStr") == "" ? "1" : BasicSettings.GetStringConfig("IsSetDiagContentStr");

                //string enterstring =@"<p align='0' width='2067'><eof fontsize='10.5' align='0' /></p>";
                foreach (TreeListNode subNode in nodes)
                {
                    if (diagContentType == "1")//结构化元素
                    {
                        m_DiagContentRemark += GetDiagContentRemartInner(subNode);
                    }
                    else//自由文本
                    {
                        m_DiagContentRemark += GetDiagContentRemartInner(subNode) + "\r\n";
                    }

                    GetDiagContentRemark(subNode);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #12
0
        private void SaveData(TreeListNode subNode)
        {
            //将界面中的诊断保存到【表:PATDIAG】
            string diagType      = m_DiagTypeID;
            string diagTypeName  = m_DiagName;
            string diagCode      = string.Empty; //诊断ICD编码
            string diagName      = string.Empty; //诊断名称
            string diagDate      = string.Empty; //诊断日期
            string digDoctorID   = string.Empty; //经治医师
            string hoseman       = string.Empty; //实习医师
            string super         = string.Empty; //主治医师
            string superSignDate = string.Empty; //主治日期审核日期
            string remark        = string.Empty; //备注
            string backDiag      = string.Empty; //置后否
            string confirmedFlag = string.Empty; //确诊否
            //int diagNO = 0;//诊断编号
            //int diagSubNO = 0;//子诊断编号
            string id        = string.Empty; //节点ID
            string parentID  = string.Empty; //父节点ID
            string patientID = m_App.CurrentPatientInfo.NoOfFirstPage.ToString();
            string nad       = m_App.CurrentPatientInfo.TimesOfAdmission.ToString();

            diagCode      = subNode.GetValue("DIAG_CODE").ToString();
            diagName      = subNode.GetValue("DIAG_CONTENT").ToString();
            diagDate      = subNode.GetValue("DIAG_DATE").ToString();
            diagDate      = diagDate == "" ? "null" : "to_date('" + diagDate.Split(' ')[0] + "', 'yyyy-mm-dd')";
            digDoctorID   = subNode.GetValue("DIAG_DOCTOR_ID").ToString();
            hoseman       = subNode.GetValue("HOUSEMAN_ID").ToString();
            super         = subNode.GetValue("SUPER_ID").ToString();
            superSignDate = subNode.GetValue("SUPER_SIGN_DATE").ToString();
            superSignDate = superSignDate == "" ? "null" : "to_date('" + superSignDate.Split(' ')[0] + "', 'yyyy-mm-dd')";
            confirmedFlag = subNode.GetValue("CONFIRMED_FLAG").ToString();
            backDiag      = subNode.GetValue("BACK_DIAG").ToString();
            remark        = subNode.GetValue("REMARK").ToString();
            id            = subNode.GetValue("ID").ToString();
            parentID      = subNode.GetValue("PARENT_ID").ToString();

            if (parentID != "0")//有父节点
            {
                diagSubNO++;
            }
            else//没有父节点
            {
                diagNO++;
                diagSubNO = 0;
            }

            string sqlInsert = string.Format(SqlInsertDiag,
                                             m_App.CurrentPatientInfo.NoOfFirstPage, nad, diagType, diagTypeName, diagNO,
                                             diagSubNO, "", diagCode, diagName, diagDate,
                                             digDoctorID, "", "NULL", parentID,
                                             super, superSignDate, "0", hoseman, confirmedFlag, id,
                                             "0", backDiag, remark);

            m_App.SqlHelper.ExecuteNoneQuery(sqlInsert, CommandType.Text);


            #region 在此处理,加入到PATDIAG表后,要相应的加到病案首页中去(iem_mainpage_diagnosis_sx)--ywk
            string    tablename   = string.Empty;                                                  //用于处理两个病案首页诊断信息的处理,区分表名 首页的表
            string    containbase = string.Empty;
            string    diagtable   = string.Empty;                                                  //诊断的表
            string    searchdic   = string.Format(@"select mname from dict_catalog where ccode='AA'");
            DataTable dtse        = m_App.SqlHelper.ExecuteDataTable(searchdic, CommandType.Text); //查询病案首页的值
            if (dtse.Rows.Count > 0)
            {
                containbase = dtse.Rows[0]["mname"].ToString();
            }
            if (containbase.Contains("SX"))//是泗县的
            {
                tablename = "IEM_MAINPAGE_BASICINFO_SX";
                ////diagtable = "iem_mainpage_diagnosis_sx";
            }
            if (containbase.Contains("2012"))
            {
                tablename = "IEM_MAINPAGE_BASICINFO_2012";
                //diagtable = "iem_mainpage_diagnosis_2012";
            }

            //病人的首页序号
            string iem_mainpage_no = string.Empty;
            string type            = string.Empty; //代表是中医诊断还是西医诊断
            string typename        = string.Empty; //类型名称
            string order_value     = string.Empty;

            string    mainpagetip = string.Empty; //用于区分是泗县首页还是2012版本的
            DataTable dt          = new DataTable();
            if (containbase.Contains("SX"))       //是泗县的
            {
                mainpagetip = "sx";
                dt          = m_App.SqlHelper.ExecuteDataTable(string.Format(@"select  iem_mainpage_no from  IEM_MAINPAGE_BASICINFO_SX 
                    where noofinpat='{0}'", m_App.CurrentPatientInfo.NoOfFirstPage), CommandType.Text);
            }
            if (containbase.Contains("2012"))//仁和
            {
                mainpagetip = "2012";
                dt          = m_App.SqlHelper.ExecuteDataTable(string.Format(@"select  iem_mainpage_no from  IEM_MAINPAGE_BASICINFO_2012 
                    where noofinpat='{0}'", m_App.CurrentPatientInfo.NoOfFirstPage), CommandType.Text);
            }
            if (dt.Rows.Count == 0)
            {
                //MessageBox.Show("请先填写此病人病案首页信息!");
                return;
            }
            if (dt.Rows.Count > 0)
            {
                iem_mainpage_no = dt.Rows[0]["iem_mainpage_no"].ToString();
            }

            if (lookUpEditDiagType.Text.Contains("西医"))//这里没取到值
            {
                type     = "1";
                typename = "西医诊断";
            }
            if (lookUpEditDiagType.Text.Contains("中医"))
            {
                type     = "2";
                typename = "中医诊断";
            }

            string searchdiag = string.Empty; //查找诊断SQL语句
            if (containbase.Contains("SX"))   //是泗县的
            {
                searchdiag = string.Format(@"select * from iem_mainpage_diagnosis_sx  where 
               iem_mainpage_no='{0}' and valide='1' ", iem_mainpage_no);
            }
            if (containbase.Contains("2012"))//仁和
            {
                searchdiag = string.Format(@"select * from iem_mainpage_diagnosis_2012 where 
               iem_mainpage_no='{0}' and valide='1' ", iem_mainpage_no);
            }
            DataTable dtdiag = m_App.SqlHelper.ExecuteDataTable(searchdiag, CommandType.Text);
            if (dtdiag.Rows.Count > 0)
            {
                order_value = (dtdiag.Rows.Count + 1).ToString();
            }
            else
            {
                order_value = "0";
            }

            //不允许重复插入处理
            string sql1 = string.Empty;
            if (containbase.Contains("SX"))//是泗县的
            {
                sql1 = string.Format(@"select * from iem_mainpage_diagnosis_sx  where 
               iem_mainpage_no='{0}' and valide='1' and diagnosis_code='{1}'", iem_mainpage_no, diagCode);
            }
            if (containbase.Contains("2012"))//仁和
            {
                sql1 = string.Format(@"select * from iem_mainpage_diagnosis_2012 where 
               iem_mainpage_no='{0}' and valide='1' and diagnosis_code='{1}'", iem_mainpage_no, diagCode);
            }
            DataTable m_dt       = m_App.SqlHelper.ExecuteDataTable(sql1, CommandType.Text);
            string    diagtypeid = string.Empty; //标识是否是主诊断
            if (parentID == "0")                 //是父节点表示主诊断
            {
                diagtypeid = "7";
            }
            else
            {
                diagtypeid = "8";
            }
            if (m_dt.Rows.Count > 0)//病案首页的诊断有数据,进行判断是否已经插入当前诊断
            {
                foreach (DataRow dr in dtdiag.Rows)
                {
                    if (dr["iem_mainpage_no"].ToString() == iem_mainpage_no && dr["diagnosis_code"].ToString() == diagCode)
                    {
                        return;
                    }
                }
            }
            else
            {
                //diagnosis_type_id=7是表示主诊断,8是标识其他诊断
                string sql = string.Empty;//要执行的插入SQL语句
                //两个病案首页的诊断表不一样
                //此处为真正将诊断信息同步插入到首页的操作,在此处读取配置表中的配置信息
                //判断点击的按钮是不是配置中的按钮名称
                string emrSetting = BasicSettings.GetStringConfig("BtnOutDiagEvent");//取得配置表中的配置信息
                //由于处理插入数据的方法都放在了下面,传的参数用实体封装起来
                DiagEntity diagEnt = new DiagEntity();
                //iem_mainpage_no, diagtypeid, diagCode, diagName, "0", order_value, m_App.User.Id, type, typename);
                diagEnt.IEMMainPageNO = iem_mainpage_no;
                diagEnt.DiagTypeID    = diagtypeid;
                diagEnt.DiagCode      = diagCode;
                diagEnt.DiagName      = diagName;
                diagEnt.StatusID      = "0";
                diagEnt.Order_Value   = order_value;
                diagEnt.Type          = type;
                diagEnt.TypeName      = typename;

                SetOutDiagBtnEvent(emrSetting, mainpagetip, diagEnt);
                #region 注释掉的

                //                if (tablename == "IEM_MAINPAGE_BASICINFO_SX")
                //                {
                //                    //其中status_id字段为病案首页插入诊断信息有无选择入院病请(此处为0,为没选择 )
                //                    sql = string.Format(@"INSERT INTO iem_mainpage_diagnosis_sx
                //                          (iem_mainpage_diagnosis_no,
                //                           iem_mainpage_no,
                //                           diagnosis_type_id,
                //                           diagnosis_code,
                //                           diagnosis_name,
                //                           status_id,
                //                           order_value,
                //                           valide,
                //                           create_user,
                //                           create_time,
                //                           type,
                //                          typeName)
                //                           VALUES
                //                          (seq_iem_mainpage_diagnosis_id.NEXTVAL,
                //                           '{0}',
                //                           '{1}',
                //                           '{2}',
                //                           '{3}',
                //                           '{4}',
                //                           '{5}',
                //                             1,
                //                           '{6}',
                //                           TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:mi:ss'),
                //                           '{7}',
                //                           '{8}') ", iem_mainpage_no, diagtypeid, diagCode, diagName, "0", order_value, m_App.User.Id, type, typename);
                //                }
                //                if (tablename == "IEM_MAINPAGE_BASICINFO_2012")
                //                {
                //                    sql = string.Format(@"INSERT INTO iem_mainpage_diagnosis_2012
                //                          (iem_mainpage_diagnosis_no,
                //                           iem_mainpage_no,
                //                           diagnosis_type_id,
                //                           diagnosis_code,
                //                           diagnosis_name,
                //                           status_id,
                //                           order_value,
                //                           valide,
                //                           create_user,
                //                           create_time
                //                         )
                //                           VALUES
                //                          (seq_iem_mainpage_diagnosis_id.NEXTVAL,
                //                           '{0}',
                //                           '{1}',
                //                           '{2}',
                //                           '{3}',
                //                           '{4}',
                //                           '{5}',
                //                             1,
                //                           '{6}',
                //                           TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:mi:ss')
                //                          ) ", iem_mainpage_no, diagtypeid, diagCode, diagName, "0", order_value, m_App.User.Id);
                //                }

                //                try
                //                {
                //                    m_App.SqlHelper.ExecuteNoneQuery(sql, CommandType.Text);
                //                }
                //                catch (Exception ex)
                //                {
                //                    MessageBox.Show("出现错误 :" + ex.Message);
                //                }
                #endregion
            }

            #endregion
        }