private void txtJZKH_KeyPress(object sender, KeyPressEventArgs e) { if ((Keys)e.KeyChar == Keys.Enter) { using (var channelFactory = new SR.HisApplayClient()) { var tradetype = "HIS1.Biz.RENYUANXX"; var renyuanxx = new HIS1.Schemas.RENYUANXX_IN(); renyuanxx.BASEINFO = GetBASEINFO(); renyuanxx.JIUZHENKH = txtJZKH.Text; //就诊卡号 renyuanxx.BINGRENLB = comboBox1.Text; //病人类别 renyuanxx.YIBAOKLX = ""; //医保卡类型 renyuanxx.YIBAOKMM = ""; //医保卡密码 renyuanxx.YIBAOKXX = ""; //医保卡信息 renyuanxx.YILIAOLB = ""; //医疗类别 renyuanxx.JIESUANLB = ""; //结算类别 renyuanxx.JIUZHENRQ = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //就诊日期 switch (comboBox1.Text) { case "15": break; case "16": renyuanxx.YIBAOKLX = "3"; renyuanxx.YIBAOKXX = txt102kaxinxi.Text; break; case "55": break; case "56": break; default: break; } var outxml = channelFactory.RunService(tradetype, MessageParse.GetXml(renyuanxx)); renyout = MessageParse.ToXmlObject <RENYUANXX_OUT>(outxml); if (renyout.OUTMSG.ERRNO != "0") { MessageBox.Show(renyout.OUTMSG.ERRMSG); } else { textBox1.Text = renyout.JIUZHENKH; // 就诊卡号 textBox2.Text = renyout.BINGRENLB; // 病人类别 textBox3.Text = renyout.BINGRENXZ; // 病人性质 textBox4.Text = renyout.YIBAOKH; // 医保卡号 textBox5.Text = renyout.GERENBH; // 个人编号 textBox6.Text = renyout.BINGLIBH; // 病历本号 textBox7.Text = renyout.XINGMING; // 姓名 textBox8.Text = renyout.XINGBIE == "1" ? "男" : "女"; // 性别 textBox9.Text = renyout.MINZU; // 民族 textBox10.Text = renyout.CHUSHENGRQ; // 出生日期 textBox11.Text = renyout.ZHENGJIANLX; // 证件类型 textBox12.Text = renyout.ZHENGJIANHM; // 证件号码 textBox13.Text = renyout.DANWEILX; // 单位类型 textBox14.Text = renyout.DANWEIBH; // 单位编号 textBox15.Text = renyout.DANWEIMC; // 单位名称 textBox16.Text = renyout.JIATINGZZ; // 家庭地址 textBox17.Text = renyout.RENYUANLB; // 人员类别 textBox18.Text = renyout.DANNIANZHYE; // 当年帐户余额 textBox19.Text = renyout.LINIANZHYE; // 历年帐户余额 textBox20.Text = renyout.TESHUBZBZ; // 特殊病种标志 textBox21.Text = renyout.TESHUBZSPBH; // 特殊病种审批编号 textBox22.Text = renyout.YIBAOBRXX; // 医保病人信息 textBox23.Text = renyout.TISHIXX; // 提示信息 textBox24.Text = renyout.DAIYULB; // 待遇类别 textBox25.Text = renyout.CANBAOXZDM; // 参保行政代码 textBox26.Text = renyout.TESHUDYLB; // 特殊待遇类别 foreach (var item in renyout.TESHUBZMX) { textBox26.Text += item.JIBINGICD + "=" + item.JIBINGMC + "|"; } textBox27.Text = renyout.HISBRXX; } } } }
/// <summary> /// 获取患者信息接口(居民健康卡、医保)2002 /// 人员信息 /// </summary> /// <param name="KeShiId"></param> public string RENYUANXX(DataTable dt) { string reXML = "<Response>"; #region 固定 base信息 dynamic bentity = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO")); BASEINFO baseInfo = new BASEINFO(); baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString(); baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString(); baseInfo.CAOZUORQ = DateTime.Now; baseInfo.XITONGBS = 0; baseInfo.FENYUANDM = 0; #endregion #region 将长城的入参 转化为服务平台入参 RENYUANXX_IN renyuanxx = new RENYUANXX_IN(); renyuanxx.BASEINFO = baseInfo; renyuanxx.JIUZHENKLX = 1; //暂定永远是1 renyuanxx.JIUZHENKH = dt.Rows[0]["CardNo"].ToString(); //就诊卡号 renyuanxx.BINGRENLB = 1; //所有病人都按自费病人处理 renyuanxx.YILIAOLB = "00"; //医疗类别,00-普通 renyuanxx.JIESUANLB = "02"; //结算类别,02-门诊收费 renyuanxx.JIUZHENRQ = DateTime.Now.Date; #endregion //和服务平台交易 RENYUANXX_OUT Out = WCFServer.Call <RENYUANXX_IN, RENYUANXX_OUT>(renyuanxx); //判断性别 var xingbiesb = Unity.XINGBIEFCCFZH(Out.XINGBIE); if (Out.OUTMSG.ERRNO != "0")//交易错误 { if (Out.OUTMSG.ERRNO == "-2") { reXML += "<ResponseCode>0</ResponseCode>"; reXML += "<ResponseMsg>卡未注册</ResponseMsg>"; //应答信息 reXML += "<CardStatus>1</CardStatus>"; reXML += "<PatientID></PatientID> "; //病人编号 reXML += "<PatientType></PatientType> "; //病人类型 reXML += "<Name></Name> "; //姓名 reXML += "<Sex></Sex> "; //性别 reXML += "<Age></Age> "; //年龄 reXML += "<IDCardNo></IDCardNo> "; //与证件类型数据字典对应的证件号 reXML += "<IDCardType></IDCardType> "; //证件类型 reXML += "<Mobile></Mobile> "; //手机号 reXML += "<BankCardNo></BankCardNo> "; //银行卡号,居民健康卡的银行卡号 reXML += "<FarmInsurCard></FarmInsurCard> "; //农保卡号,非农保则为空 } else { reXML += "<ResponseCode>-1</ResponseCode>"; reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>"; } } /* * else if (Out.OUTMSG.ERRNO == "-2") * { * reXML += "<ResponseCode>-1</ResponseCode>"; * reXML += "<CardStatus>1</CardStatus>"; * }*/ else { reXML += "<ResponseCode>0</ResponseCode>"; //交易结果 reXML += "<ResponseMsg></ResponseMsg>"; //应答信息 //** reXML += "<CardStatus>0</CardStatus>"; //卡状态,联众无这个关键字 //** reXML += "<PatientID>" + Out.JIUZHENKH + "</PatientID> "; //病人编号 reXML += "<PatientType>" + Unity.BingRenLb2(Out.BINGRENLB.ToString()) + "</PatientType> "; //病人类型 reXML += "<Name>" + Out.XINGMING + "</Name> "; //姓名 reXML += "<Sex>" + xingbiesb + "</Sex> "; //性别 DateTime m_Str = DateTime.Parse(Out.CHUSHENGRQ.ToString()); int m_Y1 = m_Str.Year; int m_Y2 = DateTime.Now.Year; int m_Age = m_Y2 - m_Y1; reXML += "<Age>" + m_Age + "</Age> "; //年龄 reXML += "<IDCardNo>" + Out.ZHENGJIANHM + "</IDCardNo> "; //与证件类型数据字典对应的证件号 reXML += "<IDCardType>" + Out.ZHENGJIANLX + "</IDCardType> "; //证件类型 reXML += "<Mobile>" + Out.LIANXIDH + "</Mobile> "; //手机号 reXML += "<BankCardNo> </BankCardNo> "; //银行卡号,居民健康卡的银行卡号 reXML += "<FarmInsurCard>" + Out.YIBAOKH + "</FarmInsurCard> "; //农保卡号,非农保则为空 } //将服务平台出差转化为长城需要的出参 reXML += "</Response>"; return(reXML); }//获取患者信息接口(居民健康卡、医保)2002---人员信息