【问题标题】:FHIR Profile/StructDef: How are children (sub-elements) of a named slice tied to the slice?FHIR Profile/StructDef:命名切片的子元素(子元素)如何与切片相关联?
【发布时间】:2015-05-02 03:44:28
【问题描述】:

我正在尝试弄清楚如何完全指定切片元素。如果我没看错,nameReference 是切片的“子元素”唯一可以声明它“在”哪个切片的地方。

因此,如果电信按用途和系统进行切片,并且我想在家庭电话上指定一个约束,我必须将使用和系统固定为这些值,然后在该切片上添加我的约束。

考虑:

Resource Example                  ElementDefinition attributes
================================  =====================================================================
<Patient>                         name="Patient"
... snip ...
  <telecom>                       name="HomePhone"
    <system value="phone" />      name="HomePhone.system", nameReference="HomePhone", fixedCode="phone"
    <use value="home" />          name="HomePhone.use"   , nameReference="HomePhone", fixedCode="home"
    <value value="5551234567" />  name="HomePhone.value" , nameReference="HomePhone"
  </telecom>
... snip ...
</Patient>

在大多数示例中,似乎使用了名称的点表示法(正如我在示例中放置的那样)。但规范没有要求,也没有提供可以可靠解析的格式。

问题是:nameReference 和 fixed[x] 是互斥的。处理这个问题的正确方法是什么??

【问题讨论】:

    标签: hl7-fhir


    【解决方案1】:

    实例中的重复不会“声明”它们属于哪个切片。他们只是为切片过程的鉴别器声明了适当的值。 nameReference 根本不涉及。在定义方面,关联只是按名称处理。所以 HomePhone.system 只是通过名称和顺序接近与 HomePhone 相关联。点符号是必需的。不过,我们可能会更明确一点,所以请随时提交更改请求。

    【讨论】:

    • 拥有某种“全名”属性肯定会很好。当前模型需要结合路径(XML/JSON 导航)和名称来确定特定资源元素的 StructureDefinition 元素。我们(在运行时)为此生成 XPath 表达式,考虑到路径、名称和固定鉴别符以满足此需求...
    • 那么每个切片中每个元素的名称?你会如何处理递归?鉴于我们在定义中捕获的数据,无论如何,全名最终看起来就像您现在所拥有的一样。 (还请记住,单个实例可能对多个结构定义有效。)
    • 我更多地考虑元素的绝对或相对 XPath。但是你是对的,它会使多个上下文或数据类型扩展变得困难。在运行时通过组装 StructureDefinition 元素来创建像 /Patient/address/extension[@url="..."]/valueCodeableConcept/Coding[system/@value="..."]/code 这样的 XPath 的计算成本很高。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 2012-09-23
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2011-10-12
    • 2019-02-05
    相关资源
    最近更新 更多