Fhir ,根据扩展的值进行切片

问题描述

有没有办法根据集合的每个元素顶部的扩展值来定义切片?示例:Procedure.bodySite

    <element id="Procedure.bodySite">
      <path value="Procedure.bodySite" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="bodySite.extension(&quot;http://a/ext&quot;).value" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.bodySite.extension">
      <path value="Procedure.bodySite.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.bodySite.extension:myExtension">
      <path value="Procedure.bodySite.extension" />
      <sliceName value="myExtension" />
      <type>
        <code value="Extension" />
        <profile value="http://a/ext" />
      </type>
    </element>
    <element id="Procedure.bodySite:sliceBodySite">
      <path value="Procedure.bodySite" />
      <sliceName value="sliceBodySite" />
      <max value="1" />
    </element>
    <element id="Procedure.bodySite:sliceBodySite.text">
      <path value="Procedure.bodySite.extension" />
      <fixedBoolean value="true" />
    </element>

结果是:无法解析定义中的鉴别器:bodySite.extension('http://a/ext').value

那么这里的问题是什么?

解决方法

您可以使用 .extension("url") 作为鉴别器中路径的一部分。因此,您可以使用以下鉴别器路径按值进行切片: bodySite.extension("http://your/extension/url/here").value

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...