吵吵   2014-05-02  阅读:1,990

面对每天从金域实验室送过来的一堆标本,从录入信息到编号,到上机,这是一个很揪心的问题。为了尽量的不出错,往往几十个标本就耗费你两三个小时的精力。

在互联网如此发达的时代,我们岂能用如此落后的生产工具。我们要和金域实验室联网!

我问金域的工程师,他们送到我们科室做的标本我们要如何才能根据条码检索到相关的信息。他告诉我他们有专门的web service接口,通过这个接口就可以获取相关信息,然后发了一个说明给我。

我一打开那个说明,全部都是标准的xml文档。这是要怎么办?难道我要生成xml后通过post或者get方法发送过去?

我于是又打了个电话问,人家说是web service。

我百度之,才巨汗!(不知道的请自行百度)

以下是连接的流程:

1、c#调用web service。用过web service的人才知道这玩意儿有多方便,直接引用之后所有的类和方法都出现了,你直接调用就可以了!

添加web service的方法:工程上点击鼠标右键->添加服务引用->输入他给你的网址->点击“前往”->输入命名空间->点击确定。之后你就可以看到这个命名空间下的类和方法了,是不是比自己去构造get和post的http协议要高大上多了:

KingMedWebService

2、用法:

通过金域条码获取标本的病人信息和项目信息的流程如下:

1、调用Login方法,成功后的到一个SID,类似于{xxx-xxxx-xxxx}这种注册表项的SID。

2、调用GetRequestInfo2得到该标本的相关信息。这个方法需要将登陆获得的SID给传递过去。

3、代码。参考的代码如下:

                King.LoginResponse lr;
                King.LisClient C;
                try
                {
                    string hospCode = "01.09.xxx";
                    string password = "nxxxxxxx";


                    King.LoginRequest R = new King.LoginRequest(hospCode, password, "Admin");
                    C = new King.LisClient();
                    lr = (C as King.ILis).Login(R);
                }
                catch (Exception)
                {
                    MessageBox.Show("远程连接失败!");
                    return;
                }
               

                King.GetRequestInfo2Request R2 = new King.GetRequestInfo2Request(lr.SID,textKingBar.Text);
   
                King.GetRequestInfo2Response RR = (C as King.ILis).GetRequestInfo2(R2);
         

                if (RR.@return != "0")
                {
                    MessageBox.Show("条码不存在");
                    textKingBar.Text = "";
                    return;
                }

                DecodeXML( RR.RequestInfo);

得到的结果为一个XML文档,结果如下:

<?xml version="1.0" encoding="gb2312"?>
<Data>
  <Data_Row>
    <RequestCode>2312276957</RequestCode>
    <HospSampleID/>
    <HospSampleNumber/>
    <DoctName>彭云梅</DoctName>
    <Name>杨龙</Name>
    <FOLK/>
    <SectionOffice>成都金域-儿</SectionOffice>
    <BedNumber/>
    <PatientTel/>
    <ADDRESS/>
    <Birt/>
    <LastMensesDate/>
    <CollectionGravWeek/>
    <Weight/>
    <Stature/>
    <Sex>男</Sex>
    <Age>12</Age>
    <AgeUnit>岁</AgeUnit>
    <ConceptionType/>
    <AssConceptionType/>
    <AssConceptionDate/>
    <OumExtractDate/>
    <IsConceptionDiabetes/>
    <IsSmoking/>
    <IsDrinking/>
    <BScanDate/>
    <GravWeek/>
    <GravDay/>
    <NotOneFoetus/>
    <DoubleBabiesType/>
    <HeadHipSize/>
    <NTSize/>
    <BPDSize/>
    <IsFetalAbnormality/>
    <FetalAbnormalityDesc/>
    <IsThreatenedAbortion/>
    <IsMiscarriage/>
    <MiscarriageDrug/>
    <BadMotherhood/>
    <IsPastAbnormality/>
    <IsPastT21/>
    <IsPastT18/>
    <PastTElse/>
    <IsPastChrom/>
    <IsPastChromT21/>
    <IsPastChromT18/>
    <PastChromTElse/>
    <SamplingDate>2014-04-23 22:57:32</SamplingDate>
    <CaseHistoryID/>
    <InsDepend/>
    <WillBornAge/>
    <FemaleSampleNo/>
    <GestationalWeeksBase/>
    <CollectionGravDay/>
    <GravNum/>
    <NaturalItem>WJHBD,1123</NaturalItem>
    <NaturalItemName>视黄醇结合蛋白(Rbp),前白蛋白(PA)</NaturalItemName>
  </Data_Row>
</Data>

虽然信息不是很全,但是基本的信息都过来了,特别是采集时间!

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

发表评论

电子邮件地址不会被公开。 必填项已用*标注