【问题标题】:Can a FHIR extension be defined within the StructureDefinition of a profiled resource?可以在配置资源的 StructureDefinition 中定义 FHIR 扩展吗?
【发布时间】:2015-10-08 09:40:02
【问题描述】:

FHIR 扩展是否总是必须在其自己的 StructureDefinition 中定义才能在资源配置文件中使用?

或者它的定义是否可以仅存在于已分析资源的 StructureDefinition 中?

例如

<StructureDefinition xmlns="http://hl7.org/fhir">
        <base value="http://hl7.org/fhir/StructureDefinition/Order" />
        <name value="Order" />
        ...
            <differential>
                <element>
                    <path value="Order.extension" />
                    <name value="type" />
                    <label value="Type" />
                    <short value="BookAppointment | TelephonePatient | PatientNote | Note | Other" />
                    <definition value="Order type" />
                    <min value="1" />
                    <max value="1" />
                    <type>
                        <code value="code" />
                    </type>
                    <binding>
                        <strength value="required" />
                        <valueSetReference>
                            <reference value="http://test.org/fhir/ValueSet/task-type" />
                        </valueSetReference>
                    </binding>
                </element>
            ...

以上有效吗?

【问题讨论】:

    标签: hl7-fhir


    【解决方案1】:

    不,这是无效的 - 因为 Order.extension 不能有“代码”类型。理论上,您可以切片扩展并将 value[x] 类型限制为具有指定属性的 valueCode。您还必须将 URL 限制为指定的固定值。棘手的部分是您指定为固定值的 URL 应该解析为定义扩展的 StructureDefinition。所以你真的不会为自己节省任何工作。发送任何直接接收者都无法发现扩展定义的实例将使您自动不符合要求。

    【讨论】:

    • 因此正确的实现是让&lt;element&gt; &lt;path value="Order.extension"/&gt; &lt;name value="taskType"/&gt; &lt;min value="1"/&gt; &lt;max value="1"/&gt; &lt;type&gt; &lt;code value="Extension"/&gt; &lt;profile value="http://test.org/fhir/StructureDefinition/taskType.profile"/&gt; &lt;/type&gt; &lt;/element&gt; 具有taskType 结构def...&lt;element&gt; &lt;path value="Extension.value[x]"/&gt; &lt;type&gt; &lt;code value="code"/&gt; &lt;/type&gt; &lt;binding&gt; &lt;strength value="required"/&gt; &lt;valueSetReference&gt; &lt;reference value="http://test.org/fhir/ValueSets/taskType.valueSet"/&gt; &lt;/valueSetReference&gt; &lt;/binding&gt; &lt;/element&gt;
    • 您需要重复 Order.extension 声明您正在切片。而且您仍然需要在外部定义扩展 - 如果您想进一步约束或出于某种原因超显式,您可以在内部完全定义它,但扩展定义仍然需要在其自己的独立 StructureDefinition 中创建。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多