DataElements のスライスは、パスごとに 1 回定義されます (一意のパスごとに 1 つのセットの識別子のみ)。これは組み込み要素に対して機能しますが、拡張子は url によってのみスライスされます (スライスする必要があります)。その結果、拡張機能をさらに (より詳細に) スライスすることはできないようです。
たとえば、研究承認のための患者への拡張、ext url " http://example.com/DataElement/researchAuth " を考えてみましょう。
コード型の拡張サブ要素「authorizationType」(http://example.com/DataElement/researchAuth.type )があります。この拡張機能の 2 つのインスタンスを次に示します (1 つは「ローカル」タイプ、もう 1 つは「ナショナル」タイプ)。
<extension url="http://example.com/DataElement/researchAuth">
<extension url="http://example.com/DataElement/researchAuth.type">
<valueCode value="local" />
</extension>
<extension url="http://example.com/DataElement/researchAuth.flag>
<valueBoolean value="true" />
</extension>
</extension>
<extension url="http://example.com/DataElement/researchAuth">
<extension url="http://example.com/DataElement/researchAuth.type">
<valueCode value="national" />
</extension>
<extension url="http://example.com/DataElement/researchAuth.flag>
<valueBoolean value="false" />
</extension>
</extension>
このための StructureDefinition には、(Patient から) 以下が含まれます。
...snip...
<element>
<path value="Patient.extension" />
<slicing>
<discriminator value="url" />
</slicing>
</element>
type.Profile を使用して拡張 URL を定義することで researchAuthorization の要素を追加できますが、示されているようにスライスを追加できますか?
<element>
<path value="Patient.extension" />
<slicing>
<discriminator value="url" />
</slicing>
</element>
<element>
<path value="Patient.extension" />
<name value="researchAuthorization" />
<slicing>
<discriminator value="url" />
<discriminator value="extension["http://example.com/DataElement/researchAuth.type"].code" />
</slicing>
<type>
<profile value="http://example.com/DataElement/researchAuth" />
</type>
</element>
type.profile.@value を介して最初のスライスを「満たす」ため、2 番目は現在有効です。