json节点对应hl7数据路径
原子服务hl7ToJson.ftl
<#assign pleve=leve/>
<#list list as HL7CName>
<#if HL7CName==''>
<#else>
<#assign i=pleve-leve>
<#assign j=pleve-leve>
<#if leve==1>
<#assign isegment=segment+'-'+(HL7CName.getElementIndex()+1)/>
<#elseif i gt 0>
<#list 1..i as xunhuan>
<#assign isegment=isegment?substring(0,isegment?last_index_of("-"))/>
</#list>
<#assign isegment=isegment+'-'+(HL7CName.getElementIndex()+1)/>
<#else>
<#assign isegment=isegment+'-'+(HL7CName.getElementIndex()+1)/>
</#if>
<#if iresult==''>
<#assign iresult=iresult+'"'+isegment+'":"'+HL7CName+'-'+j+'"'/>
<#else>
<#assign iresult=iresult+',"'+isegment+'":"'+HL7CName+'-'+j+'"'/>
</#if>
<#if HL7CName.getAllChildren()?exists>
<#assign leve=leve+1/>
<#assign list=HL7CName.getAllChildren()>
<#include "hl7ToJson.ftl" >
<#assign leve=leve-1/>
</#if>
</#if>
</#list>
原子服务write.ftl
<#list inputHl7 as nextinputHl7>
<#assign segmentlist0=''/>
<#list nextinputHl7.getAllChildren() as segmentlist>
<#assign segmentlist0=segmentlist/>
<#break>
</#list>
<#if nextinputHl7?index_of("\r")==nextinputHl7?last_index_of("\r")&&segmentlist0?split("|")?size == 1>
<#if nextinputHl7!=''>
<#if segmentlist0?split("|")?size == 1>
<#assign leve=1/>
<#assign list=nextinputHl7.getAllChildren()/>
<#assign segment=nextinputHl7[0]+nextinputHl7[1]+nextinputHl7[2]/>
<#assign iresult=''/>
<#include "hl7ToJson.ftl" >
<#assign iresult='"'+segment+'":{'+iresult+'}'/>
<#if result==''>
<#assign result=result+iresult/>
<#else>
<#assign result=result+','+iresult/>
</#if>
</#if>
</#if>
<#else>
<#assign inputHl7=nextinputHl7.getAllChildren()>
<#include "write.ftl" >
</#if>
</#list>
公共入口main
<#assign result=''/>
<#assign iresult=''/>
<#assign type=''/>
<#assign segment=''/>
<#assign isegment=''/>
<#assign type=inputEDI.getElementValue("MSH.MessageType.MessageType")+inputEDI.getElementValue("MSH.MessageType.TriggerEvent")/>
<#list inputEDI.getAllChildren() as HL7Name>
<#if HL7Name !=''>
<#assign segmentlist0=''/>
<#list HL7Name.getAllChildren() as segmentlist>
<#assign segmentlist0=segmentlist/>
<#break>
</#list>
<#if HL7Name?index_of("\r")==HL7Name?last_index_of("\r")>
<#assign leve=1/>
<#assign pleve=0/>
<#assign list=HL7Name.getAllChildren()/>
<#assign segment=HL7Name[0]+HL7Name[1]+HL7Name[2]/>
<#assign iresult=''/>
<#include "hl7ToJson.ftl" >
<#assign iresult='"'+segment+'":{'+iresult+'}'/>
<#if result==''>
<#assign result=result+iresult/>
<#else>
<#assign result=result+','+iresult/>
</#if>
<#else>
<#assign inputHl7=HL7Name.getAllChildren()>
<#include "write.ftl" >
</#if>
</#if>
</#list>
{"${type}":{${result?replace('\\','\\\\')}}}