/// <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; } }
/// <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(); }
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; } }
/// <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(); }
/// <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); } }
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); }
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"); }
private void InitArchiveSetting() { string config = BasicSettings.GetStringConfig(s_AutoArchiveTimeSettingKey); m_TimeSetting = (int)Convert.ToDecimal(config); if (m_TimeSetting <= 0) { m_TimeSetting = 3; } }
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); } }
/// <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); } }
/// <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; } }
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 }