//获取门诊列表 private string getmzlb() { string debug = f.ReadString("门诊列表", "debug", ""); int ljfs = f.ReadInteger("门诊列表", "ljfs", 1); string weburl = f.ReadString("门诊列表", "wsurl", ""); string fid = "BS10022"; string getcmsg = ""; string cxtj = ""; if (txtxm.Text.Trim() != "") { cxtj = cxtj + "<query item=\"NAME\" compy=\" like \" value=\"'%" + txtxm.Text.Trim() + "%'\" splice=\"and\"/>"; } if (txtkh.Text.Trim() != "") { cxtj = cxtj + "<query item=\"IC_CARD_ID\" compy=\" = \" value=\"'" + txtkh.Text.Trim() + "'\" splice=\"and\"/>"; } if (cmbks.Text.Trim() != "") { cxtj = cxtj + "<query item=\"DEPT_NAME\" compy=\" like \" value=\"'%" + cmbks.Text.Trim() + "%'\" splice=\"and\"/>"; } string putcmsg = "<ESBEntry><AccessControl><UserName/><Password/><Fid>BS10022</Fid></AccessControl><MessageHeader><Fid>BS10022</Fid><SourceSysCode>S45</SourceSysCode><TargetSysCode>S01</TargetSysCode><MsgDate>" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</MsgDate></MessageHeader><MsgInfo><startNum>1</startNum><endNum>20000</endNum><Msg></Msg><query item=\"OPERATION_TIME\" compy=\" >\" value=\"to_date('" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "','YYYY-MM-DD HH24:MI:SS')\" splice=\"and\"/>" + "<query item=\"OPERATION_TIME\" compy=\" <\" value=\"to_date('" + dateTimePicker1.Value.AddDays(1).ToString("yyyy-MM-dd") + "','YYYY-MM-DD HH24:MI:SS')\" splice=\"and\"/>" + cxtj + "</MsgInfo></ESBEntry>"; if (debug == "1") { log.WriteMyLog("入参:" + putcmsg); } string err_msg = ""; bool rtn = false; if (ljfs == 0) { try { rtn = MQ(fid, putcmsg, debug, ref getcmsg); } catch (Exception e1) { MessageBox.Show("获取门诊列表异常:" + e1.Message); return("0"); } } else { EHSBMQWeb.Service ehsb = new LGHISJKZGQ.EHSBMQWeb.Service(); if (weburl.Trim() != "") { ehsb.Url = weburl; } try { rtn = ehsb.GETMQ(fid, putcmsg, ref getcmsg, ref err_msg); } catch (Exception e1) { MessageBox.Show("获取门诊列表异常:" + e1.Message); return("0"); } } if (!rtn) { MessageBox.Show(err_msg); return("0"); } if (debug == "1") { log.WriteMyLog("返回:" + getcmsg); } if (getcmsg.Trim() == "") { MessageBox.Show("提取失败,返回为空"); return("0"); } string RetCon = ""; string RetCode = ""; string bobys = ""; XmlNode xmlok = null; XmlNodeList xmlNL = null; XmlDocument xd = new XmlDocument(); try { xd.LoadXml(getcmsg); xmlok = xd.SelectSingleNode("/ESBEntry/RetInfo"); RetCon = xmlok["RetCon"].InnerText; RetCode = xmlok["RetCode"].InnerText; if (RetCode != "1") { MessageBox.Show(RetCon); return("0"); } xmlNL = xd.SelectNodes("/ESBEntry/MsgInfo/Msg"); foreach (XmlNode xn in xmlNL) { XmlNode xmlok_DATA = null; try { xd.LoadXml(xn.InnerText); xmlok_DATA = xd.SelectSingleNode("/msg/body"); } catch { } bobys = bobys + xmlok_DATA.InnerXml; } } catch (Exception e1) { MessageBox.Show("提取信息异常,解析返回值异常:" + e1.Message); return("0"); } //转成dataset XmlNode xmlok_DATA2 = null; try { xd.LoadXml("<body>" + bobys + "</body>"); xmlok_DATA2 = xd.SelectSingleNode("/body"); } catch (Exception xmlok_e) { MessageBox.Show("解析DATA异常:" + xmlok_e.Message); return("0"); } if (xmlok_DATA2.InnerXml.Trim() == "") { MessageBox.Show("未找到对应的记录!"); return("0"); } try { StringReader sr = new StringReader(xmlok_DATA2.OuterXml); XmlReader xr = new XmlTextReader(sr); ds1.Clear(); ds1.ReadXml(xr); } catch (Exception eee) { MessageBox.Show("XML转dataset异常:" + eee.Message); return("0"); } if (ds1.Tables[0].Rows.Count > 1) { dataGridView1.Rows.Clear(); dataGridView1.Rows.Add(ds1.Tables[0].Rows.Count); groupBox3.Text = "数据列表 " + ds1.Tables[0].Rows.Count + "条数据"; for (int x = 0; x < ds1.Tables[0].Rows.Count; x++) { dataGridView1.Rows[x].Cells[0].Value = ds1.Tables[0].Rows[x]["OPERATION_TIME"].ToString(); dataGridView1.Rows[x].Cells[1].Value = ds1.Tables[0].Rows[x]["IC_CARD_ID"].ToString(); dataGridView1.Rows[x].Cells[2].Value = ds1.Tables[0].Rows[x]["NAME"].ToString(); dataGridView1.Rows[x].Cells[3].Value = ds1.Tables[0].Rows[x]["SEX"].ToString(); dataGridView1.Rows[x].Cells[4].Value = ds1.Tables[0].Rows[x]["AGE"].ToString(); dataGridView1.Rows[x].Cells[5].Value = ds1.Tables[0].Rows[x]["DEPT_NAME"].ToString(); dataGridView1.Rows[x].Cells[6].Value = ds1.Tables[0].Rows[x]["APPLY_DOCTOR"].ToString(); dataGridView1.Rows[x].Cells[7].Value = ds1.Tables[0].Rows[x]["ITEM_NAME"].ToString(); } } else { MessageBox.Show("未查询到相关数据"); return("0"); } return("0"); //string xml = "<?xml version=" + (char)34 + "1.0" + (char)34 + " encoding=" + (char)34 + "gbk" + (char)34 + "?>"; //xml = xml + "<LOGENE>"; //xml = xml + "<row "; //xml = xml + "病人编号=" + (char)34 + ds1.Tables[0].Rows[xh]["sick_id"].ToString().Trim() + (char)34 + " "; //xml = xml + "就诊ID=" + (char)34 + ds1.Tables[0].Rows[xh]["insur_no"].ToString().Trim() + (char)34 + " "; //xml = xml + "申请序号=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_no"].ToString().Trim() + (char)34 + " "; //if (fid == "BS25016") //{ // xml = xml + "门诊号=" + (char)34 + "" + (char)34 + " "; // xml = xml + "住院号=" + (char)34 + ds1.Tables[0].Rows[xh]["residence_no"].ToString().Trim() + (char)34 + " "; // xml = xml + "病区=" + (char)34 + ds1.Tables[0].Rows[xh]["dept_name"].ToString().Trim() + (char)34 + " "; // xml = xml + "床号=" + (char)34 + ds1.Tables[0].Rows[xh]["bed_no"].ToString().Trim() + (char)34 + " "; //} //else //{ // string mzh = ds1.Tables[0].Rows[xh]["insur_no"].ToString().Trim(); // if (mzh == "") // mzh = Ssbz; // xml = xml + "门诊号=" + (char)34 + mzh + (char)34 + " "; // xml = xml + "住院号=" + (char)34 + "" + (char)34 + " "; // xml = xml + "病区=" + (char)34 + "" + (char)34 + " "; // xml = xml + "床号=" + (char)34 + "" + (char)34 + " "; //} //xml = xml + "姓名=" + (char)34 + ds1.Tables[0].Rows[xh]["name"].ToString().Trim() + (char)34 + " "; //xml = xml + "性别=" + (char)34 + ds1.Tables[0].Rows[xh]["sex"].ToString().Trim() + (char)34 + " "; //xml = xml + "年龄=" + (char)34 + ds1.Tables[0].Rows[xh]["age"].ToString().Trim() + (char)34 + " "; //xml = xml + "婚姻=" + (char)34 + ds1.Tables[0].Rows[xh]["marital_status"].ToString().Trim() + (char)34 + " "; //xml = xml + "地址=" + (char)34 + ds1.Tables[0].Rows[xh]["communicate_address"].ToString().Trim() + (char)34 + " "; //xml = xml + "电话=" + (char)34 + ds1.Tables[0].Rows[xh]["family_phone"].ToString().Trim() + (char)34 + " "; //xml = xml + "身份证号=" + (char)34 + ds1.Tables[0].Rows[xh]["id_card_no"].ToString().Trim() + (char)34 + " "; //xml = xml + "民族=" + (char)34 + ds1.Tables[0].Rows[xh]["nation"].ToString().Trim() + (char)34 + " "; //xml = xml + "职业=" + (char)34 + ds1.Tables[0].Rows[xh]["profession"].ToString().Trim() + (char)34 + " "; //xml = xml + "送检科室=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_dept"].ToString().Trim() + (char)34 + " "; //xml = xml + "送检医生=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_doctor"].ToString().Trim() + (char)34 + " "; //xml = xml + "收费=" + (char)34 + (char)34 + " "; //xml = xml + "标本名称=" + (char)34 + (char)34 + " "; //xml = xml + "送检医院=" + (char)34 + "本院" + (char)34 + " "; //xml = xml + "医嘱项目=" + (char)34 + ds1.Tables[0].Rows[xh]["item_name"].ToString().Trim() + (char)34 + " "; //xml = xml + "备用1=" + (char)34 + (char)34 + " "; //xml = xml + "备用2=" + (char)34 + (char)34 + " "; //xml = xml + "费别=" + (char)34 + ds1.Tables[0].Rows[xh]["rate_type"].ToString().Trim() + (char)34 + " "; //xml = xml + "病人类别=" + (char)34 + ds1.Tables[0].Rows[xh]["table_type"].ToString().Trim() + (char)34 + " "; //xml = xml + "/>"; //xml = xml + "<临床病史><![CDATA[" + ds1.Tables[0].Rows[xh]["clinical_history"].ToString().Trim() + "]]></临床病史>"; //xml = xml + "<临床诊断><![CDATA[" + ds1.Tables[0].Rows[xh]["now_diagnosis"].ToString().Trim() + "]]></临床诊断>"; //xml = xml + "</LOGENE>"; //return xml; }
//获取门诊病人基本信息 private static string getmzbrxx(string fid, string putcmsg, string debug, int ljfs) { if (debug == "1") { log.WriteMyLog("入参:" + putcmsg); } string getcmsg = ""; string err_msg = ""; bool rtn = false; if (ljfs == 0) { try { rtn = MQ(fid, putcmsg, debug, ref getcmsg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } else { EHSBMQWeb.Service ehsb = new LGHISJKZGQ.EHSBMQWeb.Service(); if (weburl.Trim() != "") { ehsb.Url = weburl; } try { rtn = ehsb.GETMQ(fid, putcmsg, ref getcmsg, ref err_msg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } if (!rtn) { MessageBox.Show(err_msg); return("0"); } if (debug == "1") { log.WriteMyLog("返回:" + getcmsg); } if (getcmsg.Trim() == "") { MessageBox.Show("提取失败,返回为空"); return("0"); } string RetCon = ""; string RetCode = ""; string bobys = ""; XmlNode xmlok = null; XmlNodeList xmlNL = null; XmlDocument xd = new XmlDocument(); try { xd.LoadXml(getcmsg); xmlok = xd.SelectSingleNode("/ESBEntry/RetInfo"); RetCon = xmlok["RetCon"].InnerText; RetCode = xmlok["RetCode"].InnerText; if (RetCode != "1") { MessageBox.Show(RetCon); return("0"); } xmlNL = xd.SelectNodes("/ESBEntry/MsgInfo/Msg"); foreach (XmlNode xn in xmlNL) { XmlNode xmlok_DATA = null; try { xd.LoadXml(xn.InnerText); xmlok_DATA = xd.SelectSingleNode("/body"); } catch { } bobys = bobys + xmlok_DATA.InnerXml; } } catch (Exception e1) { MessageBox.Show("提取信息异常,解析返回值异常:" + e1.Message); return("0"); } //转成dataset XmlNode xmlok_DATA2 = null; try { xd.LoadXml("<body>" + bobys + "</body>"); xmlok_DATA2 = xd.SelectSingleNode("/body"); } catch (Exception xmlok_e) { MessageBox.Show("解析DATA异常:" + xmlok_e.Message); return("0"); } if (xmlok_DATA2.InnerXml.Trim() == "") { MessageBox.Show("未找到对应的记录!"); return("0"); } DataSet ds1 = new DataSet(); try { StringReader sr = new StringReader(xmlok_DATA2.OuterXml); XmlReader xr = new XmlTextReader(sr); ds1.ReadXml(xr); } catch (Exception eee) { MessageBox.Show("XML转dataset异常:" + eee.Message); return("0"); } if (ds1.Tables[0].Rows.Count <= 0) { MessageBox.Show("未查询到此病人信息"); return("0"); } int xh = 0; string xml = "<?xml version=" + (char)34 + "1.0" + (char)34 + " encoding=" + (char)34 + "gbk" + (char)34 + "?>"; xml = xml + "<LOGENE>"; xml = xml + "<row "; xml = xml + "病人编号=" + (char)34 + ds1.Tables[0].Rows[xh]["SICK_ID"].ToString().Trim() + (char)34 + " "; xml = xml + "就诊ID=" + (char)34 + ds1.Tables[0].Rows[xh]["IC_CARD_ID"].ToString().Trim() + (char)34 + " "; xml = xml + "申请序号=" + (char)34 + "" + (char)34 + " "; xml = xml + "门诊号=" + (char)34 + ds1.Tables[0].Rows[xh]["IC_CARD_ID"].ToString().Trim() + (char)34 + " "; xml = xml + "住院号=" + (char)34 + "" + (char)34 + " "; xml = xml + "病区=" + (char)34 + "" + (char)34 + " "; xml = xml + "床号=" + (char)34 + "" + (char)34 + " "; xml = xml + "姓名=" + (char)34 + ds1.Tables[0].Rows[xh]["NAME"].ToString().Trim() + (char)34 + " "; string xb = ds1.Tables[0].Rows[xh]["SEX"].ToString().Trim(); if (xb == "0") { xb = "男"; } else if (xb == "1") { xb = "女"; } else { xb = ""; } xml = xml + "性别=" + (char)34 + xb + (char)34 + " "; string nl = ZGQClass.CsrqToAge(ds1.Tables[0].Rows[xh]["BIRTHDATE"].ToString().Trim()); xml = xml + "年龄=" + (char)34 + nl + (char)34 + " "; xml = xml + "婚姻=" + (char)34 + "" + (char)34 + " "; xml = xml + "地址=" + (char)34 + ds1.Tables[0].Rows[xh]["COMMUNICATE_ADDRESS"].ToString().Trim() + (char)34 + " "; xml = xml + "电话=" + (char)34 + ds1.Tables[0].Rows[xh]["FAMILY_PHONE"].ToString().Trim() + (char)34 + " "; xml = xml + "身份证号=" + (char)34 + ds1.Tables[0].Rows[xh]["ID_CARD_NO"].ToString().Trim() + (char)34 + " "; xml = xml + "民族=" + (char)34 + ds1.Tables[0].Rows[xh]["NATION"].ToString().Trim() + (char)34 + " "; xml = xml + "职业=" + (char)34 + ds1.Tables[0].Rows[xh]["PROFESSION"].ToString().Trim() + (char)34 + " "; xml = xml + "送检科室=" + (char)34 + "" + (char)34 + " "; xml = xml + "送检医生=" + (char)34 + "" + (char)34 + " "; xml = xml + "收费=" + (char)34 + (char)34 + " "; xml = xml + "标本名称=" + (char)34 + (char)34 + " "; xml = xml + "送检医院=" + (char)34 + "本院" + (char)34 + " "; xml = xml + "医嘱项目=" + (char)34 + "" + (char)34 + " "; xml = xml + "备用1=" + (char)34 + (char)34 + " "; xml = xml + "备用2=" + (char)34 + (char)34 + " "; xml = xml + "费别=" + (char)34 + ds1.Tables[0].Rows[xh]["RATE_TYPE"].ToString().Trim() + (char)34 + " "; xml = xml + "病人类别=" + (char)34 + "门诊" + (char)34 + " "; xml = xml + "/>"; xml = xml + "<临床病史><![CDATA[" + "" + "]]></临床病史>"; xml = xml + "<临床诊断><![CDATA[" + "" + "]]></临床诊断>"; xml = xml + "</LOGENE>"; return(xml); }
//获取申请单信息 private static string getsqdxx(string fid, string putcmsg, string debug, int ljfs, string Ssbz) { if (debug == "1") { log.WriteMyLog("入参:" + putcmsg); } string getcmsg = ""; string err_msg = ""; bool rtn = false; if (ljfs == 0) { try { rtn = MQ(fid, putcmsg, debug, ref getcmsg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } else { EHSBMQWeb.Service ehsb = new LGHISJKZGQ.EHSBMQWeb.Service(); if (weburl.Trim() != "") { ehsb.Url = weburl; } try { rtn = ehsb.GETMQ(fid, putcmsg, ref getcmsg, ref err_msg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } if (!rtn) { MessageBox.Show(err_msg); return("0"); } if (debug == "1") { log.WriteMyLog("返回:" + getcmsg); } if (getcmsg.Trim() == "") { MessageBox.Show("提取失败,返回为空"); return("0"); } string RetCon = ""; string RetCode = ""; string bobys = ""; XmlNode xmlok = null; XmlNodeList xmlNL = null; XmlDocument xd = new XmlDocument(); try { xd.LoadXml(getcmsg); xmlok = xd.SelectSingleNode("/ESBEntry/RetInfo"); RetCon = xmlok["RetCon"].InnerText; RetCode = xmlok["RetCode"].InnerText; if (RetCode != "1") { MessageBox.Show(RetCon); return("0"); } xmlNL = xd.SelectNodes("/ESBEntry/MsgInfo/Msg"); foreach (XmlNode xn in xmlNL) { XmlNode xmlok_DATA = null; try { xd.LoadXml(xn.InnerText); xmlok_DATA = xd.SelectSingleNode("/body"); } catch { } bobys = bobys + xmlok_DATA.InnerXml; } } catch (Exception e1) { MessageBox.Show("提取信息异常,解析返回值异常:" + e1.Message); return("0"); } //转成dataset XmlNode xmlok_DATA2 = null; try { xd.LoadXml("<body>" + bobys + "</body>"); xmlok_DATA2 = xd.SelectSingleNode("/body"); } catch (Exception xmlok_e) { MessageBox.Show("解析DATA异常:" + xmlok_e.Message); return("0"); } if (xmlok_DATA2.InnerXml.Trim() == "") { MessageBox.Show("未找到对应的记录!"); return("0"); } DataSet ds1 = new DataSet(); try { StringReader sr = new StringReader(xmlok_DATA2.OuterXml); XmlReader xr = new XmlTextReader(sr); ds1.ReadXml(xr); } catch (Exception eee) { MessageBox.Show("XML转dataset异常:" + eee.Message); return("0"); } if (ds1.Tables[0].Rows.Count <= 0) { MessageBox.Show("未查询到此病人信息"); return("0"); } int xh = 0; if (ds1.Tables[0].Rows.Count > 1) { string Columns = "insur_no,apply_no,name,sex,age,residence_no,bed_no,apply_dept,apply_doctor,item_name,now_diagnosis"; //显示的项目对应字段 string ColumnsName = "医保卡号,单据号,姓名,性别,年龄,住院号,床号,送检科室,送检医生,项目名称,临床诊断"; //显示的项目名称 if (fid == "BS25017") { Columns = "insur_no,apply_no,name,sex,age,apply_dept,apply_doctor,item_name,now_diagnosis"; //显示的项目对应字段 ColumnsName = "医保卡号,单据号,姓名,性别,年龄,送检科室,送检医生,项目名称,临床诊断"; //显示的项目名称 } string xsys = "1"; //选择条件的项目 DataColumn dc0 = new DataColumn("序号"); ds1.Tables[0].Columns.Add(dc0); for (int x = 0; x < ds1.Tables[0].Rows.Count; x++) { ds1.Tables[0].Rows[x][ds1.Tables[0].Columns.Count - 1] = x; } if (Columns.Trim() != "") { Columns = "序号," + Columns; } if (ColumnsName.Trim() != "") { ColumnsName = "序号," + ColumnsName; } FRM_YZ_SELECT yc = new FRM_YZ_SELECT(ds1.Tables[0], Columns, ColumnsName, xsys); yc.ShowDialog(); string rtn2 = yc.F_XH; if (rtn2.Trim() == "") { MessageBox.Show("未选择申请项目!"); return("0"); } try { xh = int.Parse(rtn2); } catch { MessageBox.Show("请重新选择申请项目!"); return("0"); } } else { if (ds1.Tables[0].Rows.Count < 1) { MessageBox.Show("未查询到此病人信息"); return("0"); } } string xml = "<?xml version=" + (char)34 + "1.0" + (char)34 + " encoding=" + (char)34 + "gbk" + (char)34 + "?>"; xml = xml + "<LOGENE>"; xml = xml + "<row "; xml = xml + "病人编号=" + (char)34 + ds1.Tables[0].Rows[xh]["sick_id"].ToString().Trim() + (char)34 + " "; xml = xml + "就诊ID=" + (char)34 + ds1.Tables[0].Rows[xh]["insur_no"].ToString().Trim() + (char)34 + " "; xml = xml + "申请序号=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_no"].ToString().Trim() + (char)34 + " "; if (fid == "BS25016") { xml = xml + "门诊号=" + (char)34 + "" + (char)34 + " "; xml = xml + "住院号=" + (char)34 + ds1.Tables[0].Rows[xh]["residence_no"].ToString().Trim() + (char)34 + " "; xml = xml + "病区=" + (char)34 + ds1.Tables[0].Rows[xh]["dept_name"].ToString().Trim() + (char)34 + " "; xml = xml + "床号=" + (char)34 + ds1.Tables[0].Rows[xh]["bed_no"].ToString().Trim() + (char)34 + " "; } else { string mzh = ds1.Tables[0].Rows[xh]["insur_no"].ToString().Trim(); if (mzh == "") { mzh = Ssbz; } xml = xml + "门诊号=" + (char)34 + mzh + (char)34 + " "; xml = xml + "住院号=" + (char)34 + "" + (char)34 + " "; xml = xml + "病区=" + (char)34 + "" + (char)34 + " "; xml = xml + "床号=" + (char)34 + "" + (char)34 + " "; } xml = xml + "姓名=" + (char)34 + ds1.Tables[0].Rows[xh]["name"].ToString().Trim() + (char)34 + " "; xml = xml + "性别=" + (char)34 + ds1.Tables[0].Rows[xh]["sex"].ToString().Trim() + (char)34 + " "; xml = xml + "年龄=" + (char)34 + ds1.Tables[0].Rows[xh]["age"].ToString().Trim() + (char)34 + " "; xml = xml + "婚姻=" + (char)34 + ds1.Tables[0].Rows[xh]["marital_status"].ToString().Trim() + (char)34 + " "; xml = xml + "地址=" + (char)34 + ds1.Tables[0].Rows[xh]["communicate_address"].ToString().Trim() + (char)34 + " "; xml = xml + "电话=" + (char)34 + ds1.Tables[0].Rows[xh]["family_phone"].ToString().Trim() + (char)34 + " "; xml = xml + "身份证号=" + (char)34 + ds1.Tables[0].Rows[xh]["id_card_no"].ToString().Trim() + (char)34 + " "; xml = xml + "民族=" + (char)34 + ds1.Tables[0].Rows[xh]["nation"].ToString().Trim() + (char)34 + " "; xml = xml + "职业=" + (char)34 + ds1.Tables[0].Rows[xh]["profession"].ToString().Trim() + (char)34 + " "; xml = xml + "送检科室=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_dept"].ToString().Trim() + (char)34 + " "; xml = xml + "送检医生=" + (char)34 + ds1.Tables[0].Rows[xh]["apply_doctor"].ToString().Trim() + (char)34 + " "; xml = xml + "收费=" + (char)34 + (char)34 + " "; xml = xml + "标本名称=" + (char)34 + (char)34 + " "; xml = xml + "送检医院=" + (char)34 + "本院" + (char)34 + " "; xml = xml + "医嘱项目=" + (char)34 + ds1.Tables[0].Rows[xh]["item_name"].ToString().Trim() + (char)34 + " "; xml = xml + "备用1=" + (char)34 + (char)34 + " "; xml = xml + "备用2=" + (char)34 + (char)34 + " "; xml = xml + "费别=" + (char)34 + ds1.Tables[0].Rows[xh]["rate_type"].ToString().Trim() + (char)34 + " "; xml = xml + "病人类别=" + (char)34 + ds1.Tables[0].Rows[xh]["table_type"].ToString().Trim() + (char)34 + " "; xml = xml + "/>"; xml = xml + "<临床病史><![CDATA[" + ds1.Tables[0].Rows[xh]["clinical_history"].ToString().Trim() + "]]></临床病史>"; xml = xml + "<临床诊断><![CDATA[" + ds1.Tables[0].Rows[xh]["now_diagnosis"].ToString().Trim() + "]]></临床诊断>"; xml = xml + "</LOGENE>"; return(xml); }
//获取病人基本信息 private static string getzybrxx(string fid, string putcmsg, string debug, ref PT_XML pt, int ljfs) { if (debug == "1") { log.WriteMyLog("入参:" + putcmsg); } string getcmsg = ""; string err_msg = ""; bool rtn = false; if (ljfs == 0) { try { rtn = MQ(fid, putcmsg, debug, ref getcmsg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } else { EHSBMQWeb.Service ehsb = new LGHISJKZGQ.EHSBMQWeb.Service(); if (weburl.Trim() != "") { ehsb.Url = weburl; } try { rtn = ehsb.GETMQ(fid, putcmsg, ref getcmsg, ref err_msg); } catch (Exception e1) { MessageBox.Show(e1.Message); return("0"); } } if (!rtn) { MessageBox.Show(err_msg); return("0"); } if (debug == "1") { log.WriteMyLog("返回:" + getcmsg); } if (getcmsg.Trim() == "") { MessageBox.Show("提取失败,返回为空"); return("0"); } string RetCon = ""; string Msg = ""; string RetCode = ""; XmlNode xmlok = null; XmlNode xmlok_msg = null; XmlDocument xd = new XmlDocument(); try { xd.LoadXml(getcmsg); xmlok = xd.SelectSingleNode("/ESBEntry/RetInfo"); xmlok_msg = xd.SelectSingleNode("/ESBEntry/MsgInfo"); RetCon = xmlok["RetCon"].InnerText; RetCode = xmlok["RetCode"].InnerText; Msg = xmlok_msg["Msg"].InnerText; } catch (Exception e1) { MessageBox.Show("提取住院信息异常,解析返回值异常:" + e1.Message); return("0"); } if (RetCode != "1") { MessageBox.Show(RetCon); return("0"); } StringReader xmlstr = null; XmlTextReader xmread = null; xmlstr = new StringReader(Msg); xmread = new XmlTextReader(xmlstr); XmlDocument readxml2 = new XmlDocument(); try { readxml2.Load(xmread); } catch (Exception e2) { MessageBox.Show("读XML失败:" + e2.Message); return("0"); } XmlNamespaceManager nsMgr = new XmlNamespaceManager(readxml2.NameTable); nsMgr.AddNamespace("ns", "urn:hl7-org:v3"); XmlNode ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:id", nsMgr); //////姓名 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:name", nsMgr); pt.myDictionary["姓名"] = ppp.InnerText; } catch { } //性别 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:administrativeGenderCode", nsMgr); pt.myDictionary["性别"] = ppp.Attributes["displayName"].Value; } catch { } //出身日期 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:birthTime", nsMgr); pt.myDictionary["出生日期"] = ppp.Attributes["value"].Value; } catch { } ///婚姻\ try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:maritalStatusCode", nsMgr); pt.myDictionary["婚姻"] = ppp.Attributes["displayName"].Value; } catch { } //民族 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:ethnicGroupCode", nsMgr); pt.myDictionary["民族"] = ppp.Attributes["displayName"].Value; } catch { } //////电话 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:telecom", nsMgr); pt.myDictionary["电话"] = ppp.Attributes["value"].Value; } catch { } //地址 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:addr/ns:state", nsMgr); pt.myDictionary["地址"] = ppp.InnerText; } catch { } //身份证 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:id", nsMgr); pt.myDictionary["身份证号"] = ppp.Attributes["extension"].InnerText; } catch { } //年龄 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:patient/ns:age", nsMgr); pt.myDictionary["年龄"] = ppp.Attributes["value"].InnerText + ppp.Attributes["unit"].InnerText; } catch { } //病区 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:componentOf/ns:encompassingEncounter/ns:location/ns:healthCareFacility/ns:serviceProviderOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:name", nsMgr); pt.myDictionary["病区"] = ppp.InnerText; } catch { } //科室 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:componentOf/ns:encompassingEncounter/ns:location/ns:healthCareFacility/ns:serviceProviderOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:name", nsMgr); pt.myDictionary["送检科室"] = ppp.InnerText; } catch { } //医生 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:author/ns:assignedAuthor/ns:assignedPerson/ns:name", nsMgr); pt.myDictionary["送检医生"] = ppp.InnerText; } catch { } //床号 try { ppp = readxml2.SelectSingleNode("/ns:ClinicalDocument/ns:componentOf/ns:encompassingEncounter/ns:location/ns:healthCareFacility/ns:serviceProviderOrganization/ns:asOrganizationPartOf/ns:wholeOrganization/ns:id", nsMgr); pt.myDictionary["床号"] = ppp.Attributes["extension"].Value; } catch { } try { XmlNodeList ppplist = readxml2.SelectNodes("/ns:ClinicalDocument/ns:recordTarget/ns:patientRole/ns:id", nsMgr); foreach (XmlNode ppp2 in ppplist) { if (ppp2.Attributes["root"].Value == "2.16.156.10011.1.12") { pt.myDictionary["住院号"] = ppp2.Attributes["extension"].Value.ToString(); } if (ppp2.Attributes["root"].Value == "2.16.156.10011.1.19") { //就诊卡号 pt.myDictionary["就诊ID"] = ppp2.Attributes["extension"].Value.ToString(); } //if (ppp2.Attributes["root"].Value == "2.16.156.10011.1.13") //{ // //病案号 // pt.myDictionary["病人编号"] = + ppp2.Attributes["extension"].Value.ToString(); //} if (ppp2.Attributes["root"].Value == "2.16.156.10011.1.100") { //padid pt.myDictionary["病人编号"] = ppp2.Attributes["extension"].Value.ToString(); } //if (ppp2.Attributes["root"].Value == "2.16.156.10011.1.13") //{ // //门诊号 // pt.myDictionary["门诊号"]=ppp2.Attributes["extension"].Value.ToString(); //} } //ppplist = readxml2.SelectNodes("/ns:ClinicalDocument/ns:component/ns:structuredBody/ns:component/ns:section/ns:entry/ns:observation", nsMgr); //foreach (XmlNode ppp2 in ppplist) //{ // //住院次数 // if (ppp2["code"].Attributes["code"].Value.ToString() == "DE02.10.090.00") // { // pt.myDictionary["就诊ID"] = ppp2["value"].Attributes["value"].Value.ToString(); // break; // } //} } catch { } string xb = pt.myDictionary["性别"].Trim(); if (xb == "1") { xb = "男"; } else if (xb == "2") { xb = "女"; } pt.myDictionary["性别"] = xb; pt.myDictionary["病人类别"] = "住院"; if (pt.myDictionary["年龄"].Trim() == "") { pt.myDictionary["年龄"] = ZGQClass.CsrqToAge(pt.myDictionary["出生日期"]); } if (pt.myDictionary["姓名"].Trim() == "") { MessageBox.Show("提取数据错误"); return("0"); } string ex = ""; string xml = pt.rtn_XML(ref ex); if (ex.Trim() != "") { log.WriteMyLog(ex); } return(xml); }