首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mirth Connect将XML转换为HL7消息

使用Mirth Connect将XML转换为HL7消息
EN

Stack Overflow用户
提问于 2011-03-15 03:46:26
回答 3查看 23K关注 0票数 5

我正在使用Mirth CONNECTV2.0,却被一项任务卡住了,那就是把XML转换成HL7 v3。我已经连接到Ms-Access数据库(医院系统在Access中),我已经设置了通道,并在destination选项卡中将Connector Type设置为File Writer。当我部署通道时,我可以看到日志文件中填充了XML格式的记录,现在我被如何将XML消息转换为HL7卡住了。有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-11 06:46:41

在通道摘要选项卡中

  1. 单击“设置数据类型”,并确保“源入站”设置为“XML”,“源出站”设置为“HL7 v3”,“目标出站”设置为“HL7 v3”。“
  2. ”在“”选项卡上,在左侧“编辑转换器”窗口中单击“
  3. ”左边栏上的“编辑转换器”,选择“消息模板”<代码>E211选项卡。<代码>H212<代码>H113您可以使用小文件夹图标将示例文件加载到<代码>E215和<代码>E116出站<代码>E217模板中。<代码>H218<代码>H119您可以使用小文件夹图标在用于创建转换的入站和出站模板。

这是非常标准的Mirth内容,所以我希望我没有过于简单化。希望这能让你朝着正确的方向前进。

票数 11
EN

Stack Overflow用户

发布于 2015-03-18 16:41:21

我正在使用示例XML数据将xml转换为hl7,您可以使用自己的数据。您可以将以下代码粘贴到源transformer中:

代码语言:javascript
复制
  var length = msg['orderList']['order'].length();
   var rcount = 0;
   for(var i=0;i<length;i++)
   {
    var SEG = new XML("<OBR/>");
    SEG['OBR.1']['OBR.1.1']=i+1;
    SEG['OBR.16']['OBR.16.1']=msg['orderList']['order'][i]['provider'].toString();
    tmp['OBR'][i]=SEG;
    var reslen = msg['orderList']['order'][i]['result'].length();
    logger.info(reslen);
    for(var j=0;j<reslen;j++)
    {
        var RSEG = new XML("<OBX/>");
        RSEG['OBX.1']['OBX.1.1'] = rcount;
        RSEG['OBX.3']['OBX.3.1'] = msg['orderList']['order'][i]['result'][j]['resultcode'].toString();
        RSEG['OBX.3']['OBX.3.2']=msg['orderList']['order'][i]['result'][j]['text'].toString();
        RSEG['OBX.7'] = msg['orderList']['order'][i]['result'][j]['range'].toString();
        RSEG['OBX.6']['OBX.6.2'] = msg['orderList']['order'][i]['result'][j]['unit'].toString();
        tmp['OBX'][rcount]=RSEG;
        rcount++;
    }
}
logger.info(**SerializerFactory.getSerializer('HL7V2').fromXML(tmp)**);

不要忘记在出站来源中创建HL模板(&C)

代码语言:javascript
复制
**MSH|^~\&|||||||||
PID|||||||||||||||||||||||||||
ORC|||||||||||||||||||**

示例XML

代码语言:javascript
复制
<PatientOrder>
<patient>
<name><fullname>XXXXXXXXXXX, XXXX.</fullname><firstname>XXXXX</firstname><lastname>XXXXX</lastname></name>
<address>
<address1>XXXXXX XXXX XXXX Med XXXX</address1><address2>Information XXXXX Fl</address2><address3>XXXX XXXX St  </address3><address4>XXXXXX XXXXXX, XX XXXXX</address4><telephone>XXX/XXXX-XXXX</telephone><fax>XXX/XXX-XXX</fax><latitude>X2.XXXXX</latitude><longitude>-X1.XXXXX</longitude></address>
</patient>
<orderList>
 <order>
    <provider>57423</provider>
    <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
        <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
    </order>
<order>
    <provider>57423</provider>
    <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
    </order>
</orderList>
</PatientOrder>
票数 1
EN

Stack Overflow用户

发布于 2011-03-15 03:54:40

您可能希望使用XSLT,但是所需的实际代码将取决于您的数据库模式以及如何将其转换为XML。解决您的特定转换问题超出了StackOverflow问题的指导方针,除非您能使问题更具体(即“我做了X,期望是Y,结果却得到了Z)。

似乎有许多产品将进行这种类型的转换。我在谷歌上找到了很多搜索"xml to HL7“的结果。我建议你从这里开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5303623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档