配置文件没有说明一般使用哪些资源,例如“FHIR 端点或客户端支持哪些资源”,因为这将由该服务器或客户端决定。他们在一致性声明中报告了这些功能。
配置文件可以限制合作伙伴之间传输数据时所涉及的资源:例如,观察通常可以在其“主题”属性中引用患者、组、设备或位置。您可以将这些限制为一个子集,并且通过跨资源一致地执行此操作,您有效地限制了交换贸易伙伴需要“知道”他们何时使用该配置文件(并且仅该配置文件)的资源集。
我认为你的第二个子弹错过了一些文字,所以我不能评论那个。
规范中提到了 Narrative:
资源应该始终包含支持人类消费的叙述作为后备。然而,在一个严格管理的交易系统中,所有系统共享一个共同的数据模型并且额外的文本是不必要的,甚至是临床安全风险,叙述可能会被省略。”
例如,如果您查看给定资源的基本配置文件定义(查看http://www.hl7.org/implement/standards/fhir/observation.profile.xml.html),您会看到 Observation.text在那里定义了基数 0..1,您可以将其配置为 0..0 以在您的配置文件中明确说明。
这是一个示例配置文件,显示了那里的工具,包括 Lloyd 使用 XPath 的建议:
<Profile xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../schema/profile.xsd">
<!-- stuff removed -->
<structure>
<type value="Observation"/>
<name value="MyConstrainedObservation"/>
<publish value="true"/>
<!-- again, elements left out -->
<element>
<path value="Observation" />
<constraint>
<key value="shorttext" />
<severity value="error" />
<human value="Must be short text" />
<xpath value="string-length(f:text) < 100" />
</constraint>
</element>
<element>
<path value="Observation.modifierExtension"/>
<definition>
<min value="0" />
<max value="0" />
</definition>
</element>
<element>
<path value="Observation.text"/>
<definition>
<short></short>
<formal></formal>
<min value="0" />
<max value="1" />
<condition value="shorttext" />
</definition>
</element>
<!-- elements left out -->
<element>
<path value="Observation.subject"/>
<definition>
<type>
<code value="Resource(Patient)"/>
<aggregation value="bundled" />
<aggregation value="referenced"/>
</type>
</definition>
</element>
<!-- more stuff -->
</structure>
</Profile>
该配置文件首先定义了一个限制文本长度的 XPath 约束(仅作为示例),然后将 Observation.modifierExtension 的基数限制为 0..0,从而有效地禁止了它的使用。此外,它将 Observation.subject 限制为仅引用患者(因此您可能会避免在交流中使用设备等)并指定这些患者只能被引用或捆绑(在消息、文档或交易中),但不能使用 .
显然,我在这里所做的也可以使用 Observation.text 和 Observation.contained 来完成。您有结构(基数)和可执行(xpath)手段来限制您可以使用的内容。