FHIR: вложенные расширения

Как правильно представить многоуровневое расширение FHIR?

<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>

-- OR --

<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>

В StructureDefinition должен быть полностью указан URL для дополнительных расширений (url: "http://example.com/DataElement/researchAuth#type ") или просто имя (" type "), как здесь: http://hl7-fhir.github.io/extension-goal-relationship.html

Наконец, существует ли стандартная связь между StructureDefinition.name и URL-адресом дополнительного расширения? Т.е. часть после # (введите http://example.com/DataElement/researchAuth#type ) должно соответствовать имени в определении структуры расширения:

<StructureDefinition>
   ...
      <element>
         <path value="Extension" />
         <name value="researchAuth" />
      </element>
      <element>
         <path value="Extension.extension" />
         <name value="researchAuth.type" />
      </element>
    ...
</StructureDefinition>

Иначе как определить, что это за элемент post # ??

Пример Джеймса усугубляет мою путаницу: http://jamesagnew.github.io/hapi-fhir/doc_extensions.html

В разделе дополнительных расширений "родительским" является "http://example.com#parent", а дочерние элементы - это "http://example.com#ChildOne" и "http://example.com#ChildTwo" соответственно.

Я ожидал бы только "http://example.com" для родительского расширения (без #, поскольку это базовое расширение, определенное в URL-адрес). ИЛИ http://example.com#parent.ChildOne для дополнительных расширений.


person Chris Grenz    schedule 07.08.2015    source источник


Ответы (1)


В ДСТУ 1 это будет первый подход. В ДСТУ 2 это было бы так:

<extension url="http://example.com/DataElement/researchAuth">
   <extension url="type">
      <valueCode value="local" />
   </extension>
   <extension url="flag>
      <valueBoolean value="true" />
   </extension>
</extension>

Это справедливо только для дочерних элементов сложных расширений. Если вы хотите включить расширение, определенное где-то в другом месте, внутри другого расширения, вам необходимо использовать полный URL-адрес.

person Lloyd McKenzie    schedule 07.08.2015
comment
Как сопоставить флаг с определением структуры? Как выглядит StructureDefinition? ‹Type› ‹значение профиля = flag /› ‹/type› ?? - person Chris Grenz; 07.08.2015
comment
Кроме того, тогда url не может быть типом uri ... это должна быть строка. - person Chris Grenz; 07.08.2015
comment
Определение структуры будет срезать расширение и утверждать фиксированное значение флага для элемента url. Вы можете увидеть пример StructureDefinition для сложного расширения здесь: hl7- fhir.github.io/extension-goal-target.xml.html - person Lloyd McKenzie; 08.08.2015
comment
flag - относительный uri, который допустим для типа uri - person Lloyd McKenzie; 08.08.2015
comment
Итак, каков абсолютный URL-адрес вложенного расширения? example.com/DataElement/researchAuth/local в этом примере? - person Chris Grenz; 28.09.2015
comment
example.com/DataElement/researchAuth#local (хотя на самом деле это должно быть example.com/StructureDefinition/researchAuth#local) - person Lloyd McKenzie; 28.09.2015
comment
Разве это не отклонение от обычного построения абсолютного URL-адреса? Кроме того, в трехуровневом гнезде мы начинаем расставлять точки вот так, верно? example.com/StructureDefinition/researchAuth#local.part - person Chris Grenz; 28.09.2015
comment
Это отклонение, но на самом деле это не настоящий относительный URL. Адрес не выражается относительно содержащего ресурса, только относительно значения элемента в родительском URL-адресе. И да, для дополнительных уровней разделитель с. - person Lloyd McKenzie; 29.09.2015