在CCDA Mirth中开发重复的XML段

时间:2016-09-14 08:32:02

标签: xml mirth hl7-cda

我刚刚开发了CCDA xml,我必须生成多个模板ID标签,我不想在出站模板中定义结构,所以我决定采用这种方法。 / p>

function data()
{
var clinicalDocument = new XML ("<clinicalDocument></clinicalDocument>");
clinicalDocument['realmCode']['@code']="US";
clinicalDocument['typeId']['@extension']="POCD_HD000040";
clinicalDocument['typeId']['@root']="2.16.840.1.113883.1.3";
clinicalDocument['templateId'][0]['@root']="2.16.840.1.113883.10.20.22.1.1";
clinicalDocument['templateId'][1]['@root']="2.16.840.1.113883.10.20.24.1.1";
clinicalDocument['templateId'][2]['@root']="2.16.840.1.113883.10.20.24.1.2";
clinicalDocument['documentationOf']['serviceEvent']['performer']['assignedEntity']['code']['@codeSystemName']="Healthcare Provider Taxonomy";
clinicalDocument['documentationOf']['serviceEvent']['performer']['assignedEntity']['code']['@displayName']="Adult Medicine";
logger.info("Data : "+clinicalDocument);
}
data();

我无法使用引用索引开发模板ID。它说这是未定义的。显然我不能循环和计数器也用于开发输出。它表示未定义或错误。

我希望以这种格式输出。

<templateId root="2.16.840.1.113883.10.20.22.1.1"/> 
<templateId root="2.16.840.1.113883.10.20.24.1.1"/>
<templateId root="2.16.840.1.113883.10.20.24.1.2"/>

如果我能在这个问题上得到答案,那就太棒了

3 个答案:

答案 0 :(得分:1)

我同意,有更好的方法可以为CCDA文档创建标题,但是,如果您想在此处坚持使用您的解决方案,那么缺少这一部分:

var clinicalDocument = new XML ("<clinicalDocument></clinicalDocument>");

clinicalDocument['realmCode']['@code']="US";
clinicalDocument['typeId']['@extension']="POCD_HD000040";
clinicalDocument['typeId']['@root']="2.16.840.1.113883.1.3";

createSegment('templateId', clinicalDocument);
createSegment('templateId', clinicalDocument, 1);
createSegment('templateId', clinicalDocument, 2);

clinicalDocument['templateId'][0]['@root']="2.16.840.1.113883.10.20.22.1.1";
clinicalDocument['templateId'][1]['@root']="2.16.840.1.113883.10.20.24.1.1";
clinicalDocument['templateId'][2]['@root']="2.16.840.1.113883.10.20.24.1.2";

clinicalDocument['documentationOf']['serviceEvent']['performer']['assignedEntity']['code']['@codeSystemName']="Healthcare Provider Taxonomy";
clinicalDocument['documentationOf']['serviceEvent']['performer']['assignedEntity']['code']['@displayName']="Adult Medicine";

logger.info("Data : "+clinicalDocument);

答案 1 :(得分:1)

经过很长一段时间我碰巧遇到了这个问题。从我到目前为止所学到的是通过Mirth接口以我发布的方式构建XML消息并不好。

这是因为一个主要原因: - 性能将受到很大影响,因为它是具有多个行的Javascript,代码将逐一处理。

最佳实践: 最好的方法是根据业务需要在单独的类文件中构建具有分段功能(即过敏,药物,生命等)的JAVA .jar库,并通过Mirth(Rhino Engine)调用它们。

请提出你的想法..

答案 2 :(得分:0)

我不是欢乐专家,但是我有使用CDA的经验。我的建议是(如果可能的话,使用Mirth)你使用XSLT来构建或转换CDA,这是最好和更有效的方式。

希望有用。