Regex 使用ApacheNIFI提取HL7值并应用正则表达式

Regex 使用ApacheNIFI提取HL7值并应用正则表达式,regex,hl7-v3,apache-nifi,Regex,Hl7 V3,Apache Nifi,我需要使用Apache Nifi从HL7 XML文档中提取患者信息, 以及应用正则表达式从包含嵌入式HTML的节中提取诊断结果(是的,对不起,不是我的设计选择:-() HL7中感兴趣的数据的第一条路径是: “临床文档”\“记录目标”\“患者档案”\“患者”\“姓名” 第二个更复杂的问题是: “ClinicalDocument”\“structuredBody”\“component”\“section”\“text@mediaType=“text/x-hl7-text+xml”,其中title元

我需要使用Apache Nifi从HL7 XML文档中提取患者信息, 以及应用正则表达式从包含嵌入式HTML的节中提取诊断结果(是的,对不起,不是我的设计选择:-()

HL7中感兴趣的数据的第一条路径是:

“临床文档”\“记录目标”\“患者档案”\“患者”\“姓名”

第二个更复杂的问题是:

“ClinicalDocument”\“structuredBody”\“component”\“section”\“text@mediaType=“text/x-hl7-text+xml”,其中title元素的值等于“Diagnostic Results”

我需要匹配组件中具有值“Diagnostic Results”(诊断结果)的部分标题的子节点文本值的文本,然后提取对等节点文本的文本值

我的HL7 XML片段如下所示:

</ClinicalDocument>
...
        <recordTarget>
            <patientRole>
....
            <patient>
                <name><given>John</given><family>Doe</family></name>
...
<structuredBody>
...
<component>
    <section classCode="DOCSECT" moodCode="EVN">
        <templateId root="0.0.0.0.0.0.1" />
        <code code="000-01" codeSystem="0.0.0.1.0.0"  />
        <title>Diagnostic Results</title>
        <text mediaType="text/x-hl7-text+xml">
            Some data of interest expressed in n microns.<content ID="NKN_results"/>
        </text>

...
....
约翰多
...
...

关于如何在Apache Nifi中执行此操作的任何建议?

您应该能够使用XPath和Nifi处理器来匹配和提取
元素。我从structuredBody标记作为以下表达式的根开始:

/structuredBody/component/section[title = 'Diagnostic Results' and text[@mediaType='text/x-hl7-text+xml']]/text
但是您应该能够对其进行调整以适应完整的XML路径。一旦解析出
元素,从NiFi 0.5.0开始,您可以使用GetHtmlement处理器从嵌入的HTML中提取。在NiFi 0.5.0之前,如果HTML格式良好(例如XHTML),则可以使用另一个EvaluatePath处理器