首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本HL7到HL7转换问题

基本HL7到HL7转换问题
EN

Stack Overflow用户
提问于 2022-05-18 18:35:10
回答 1查看 240关注 0票数 1

对Mirth来说不是新的引擎..。对于目标HL7v2转换来说,做一个基本的源有点困难。

我已经将我的通道设置为从文件中读取作为源,并将目标吐出到文件中。我的输出模板是${message.encodedData}。通道似乎正确地读取了源,并生成了输出。但我在挣扎的是这有多麻烦。

我正在处理一条HL7 SIU消息,我的源代码比目的地想要接收的字段多得多,只是需要一种简单的方法来映射所需的几个字段。

我将源系统消息模板插入到目的变压器入站消息模板中,然后执行以下工作:

代码语言:javascript
复制
//MSH Segment
if (msg['MSH'][0]){
    var MSH1 = msg['MSH']['MSH.1'];
    var MSH2 = msg['MSH']['MSH.2'];
    var MSH7 = msg['MSH']['MSH.7'];
    var MSH9 = msg['MSH']['MSH.9'];
    
    msg['MSH'] = '';
    msg['MSH']['MSH.1']=MSH1;
    msg['MSH']['MSH.2']=MSH2;
    msg['MSH']['MSH.7']=MSH7;
    msg['MSH']['MSH.9']=MSH9;

}

冲洗和重复的片段,我需要,似乎非常痛苦。

在第二个目的地上,我试图利用入站和出站消息模板。如上所述插入源系统模板,在出站消息模板中插入目标系统模板。我的Javascript看起来是这样的:

代码语言:javascript
复制
//MSH Segment
if (msg['MSH'][0]){
    tmp['MSH'] = "";
    tmp['MSH']['MSH.1'] = msg['MSH']['MSH.1'];
    tmp['MSH']['MSH.2'] = msg['MSH']['MSH.2'];
    tmp['MSH']['MSH.7'] = msg['MSH']['MSH.7'];
    tmp['MSH']['MSH.9'] = msg['MSH']['MSH.9'];
}

它更干净,但似乎不能正常工作,在某些消息中,我的源没有PV1段,但是输出在输出消息模板中包含了示例PV1段。我是否需要有一个初始语句tmp = "";

必须有一个更简单的方法来完成我在这里的尝试,任何建议都是值得赞赏的!

EN

回答 1

Stack Overflow用户

发布于 2022-05-29 23:24:49

最终找到了另一条路。完全删除出站模板并从头构建出站消息。这是一张它看起来的快照。

代码语言:javascript
复制
    var output = <HL7Message/>;

//MSH Segment
createSegment('MSH',output);
output.MSH['MSH.1'] = msg['MSH']['MSH.1'];
output.MSH['MSH.2'] = msg['MSH']['MSH.2'];
output.MSH['MSH.7'] = msg['MSH']['MSH.7'];
output.MSH['MSH.9'] = msg['MSH']['MSH.9'];

//SCH Segment
if (msg['SCH'][0]){
    createSegment('SCH',output);
    output.SCH['SCH.1'] = msg['SCH']['SCH.1'];
    output.SCH['SCH.2'] = msg['SCH']['SCH.2'];
    output.SCH['SCH.6'] = msg['SCH']['SCH.6'];
    output.SCH['SCH.7'] = msg['SCH']['SCH.7'];
    output.SCH['SCH.8'] = msg['SCH']['SCH.8'];
    output.SCH['SCH.11'] = msg['SCH']['SCH.11'];
    output.SCH['SCH.12'] = msg['SCH']['SCH.12'];
    output.SCH['SCH.16'] = msg['SCH']['SCH.16'];
    output.SCH['SCH.25'] = msg['SCH']['SCH.25'];
}

var message = SerializerFactory.getSerializer('HL7V2').fromXML(output);
channelMap.put('outmsg',message);

然后在我的目的地,我使用${outmsg}作为模板。

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

https://stackoverflow.com/questions/72294362

复制
相关文章

相似问题

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