Нарезка DataElements определяется один раз для каждого пути (только один набор дискриминаторов для каждого уникального пути). Это работает для встроенных элементов, но расширение (и должно быть) разрезано только по URL. В результате оказывается, что дальнейшая (более подробная) нарезка расширения невозможна.FHIR: Расширения для разрезания
Например, рассмотрите расширение для Пациента для авторизации исследований, ext url "http://example.com/DataElement/researchAuth".
У этого есть подэлемент расширения "authorizationType" (http://example.com/DataElement/researchAuth.type) типа Код. Вот два примера этого расширения (один тип «локальный», один «национальный»).
<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 для этого будет включать в себя (от пациента):
...snip...
<element>
<path value="Patient.extension" />
<slicing>
<discriminator value="url" />
</slicing>
</element>
Я мог бы добавить элемент для researchAuthorization с помощью type.Profile для определения URL расширения, но я могу добавить нарезка как показали?
<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. @ Значение фиксируется?
Да, нарезанный элемент может иметь несколько дискриминаторов. НО, любой один срез может иметь только один * набор * дискриминаторов (одно определение). Для элемента расширения это определение * всегда * определяет URL как единственный дискриминатор. Таким образом, для конкретного расширения нет возможности более детально различать. Да? –
Если вы создаете профиль из электронной таблицы, это правда. Однако, если вы создадите XML-профиль напрямую, вы можете иметь столько дискриминаторов, сколько пожелаете. –
Я расширил пример ... Я понимаю, что допускаются множественные дискриминаторы. Я не понимаю, как это относится к расширениям, поскольку их дискриминатор уже установлен в базовом (стандартном) профиле. –