在FHIR StructureDefinitions(配置文件)中,元素如何聚合到快照中?

时间:2015-12-09 16:08:41

标签: hl7-fhir

一个"如何卷起"或者使用" base"汇总差分元素用于创建快照的元素?

2 个答案:

答案 0 :(得分:0)

快照生成将基本元素(基本配置文件中定义的元素)的属性与约束配置文件中的差异元素组合在一起。从约束到基数的元素匹配是按名称(如果存在于两者中)和路径。约束中的切片(“homePhone”)使用裸路径(“Patient.telecom”)作为基本元素。重新切片使用匹配的基础中最完整的切片。

基本元素可以来自:

  1. 由约束配置文件的StructureDefinition.base值标识的StructureDefinition的快照。
  2. 将这些规则递归应用于StructureDefinition“树”(基础到基础以及令人作呕的基础)。
  3. 如果约束配置文件包含复杂类型中的元素(例如path = Patient.telecom.system),则基本元素将在第一个中找到:

    • 在type.profile中为元素标识的配置文件(如果有)。
    • HL7提供该类型的数据类型配置文件(例如,此示例中为ContactPoint)。

    使用以下方法之一将元素带入快照:

    • K - 必须存在于基本和约束配置文件中的匹配键,以匹配元素
    • F - 从基座固定,无法覆盖。如果存在于差值中,则该值必须与基数完全匹配
    • I - 如果不存在于约束
    • 中,则从基础继承
    • N - 不是继承的,可以在约束中设置。如果差异中为空白/缺失,则快照中将为空白/缺失。
    • F / N - 如果存在于基础中,则约束必须匹配。如果不是,则可以设置值。
    • A - 从基础实例聚合添加到差异实例
    • R - 从base限制 - 差异必须是基本实例的某个子集

    元素元素:

    • 路径(K) - 基础和约束中都需要匹配。
    • 表示(F)
    • 名称(K) - 基本和约束中都需要(如果适用)
    • 标签(I)
    • 代码(A)
    • 切片(F / N) - 如果基础被切片,则约束必须匹配。如果不是,则可以引入切片。另请参阅reslicing
    • 短(I)
    • 定义(I)
    • 评论(I)
    • 别名(A)
    • min(I) - 约束中的min必须大于或等于base。切片从此约束中解除(当base为min = 1时,切片可能为min = 0,因为其他切片可能满足基本的min约束)。
    • max(I) - 与min。相似。
    • base(F)
    • type(R) - 类型必须在基本元素中存在代码。他们可以使用不同的配置文件多次添加配置文件和/或指定类型代码。
    • nameReference(F)
    • defaultValue [x](F)
    • 含义当Missing(F)
    • fixed [x](F / N)
    • pattern [x](F / N) - 例外情况是可以将模式细化为固定。
    • 示例[x](I)
    • minValue [x](I)
    • maxValue [x](I)
    • 条件(A)
    • 约束(A)
    • mustSupport(F / N)
    • isModifier(F)
    • isSummary(F)
    • 绑定(A)
    • 映射(A)

答案 1 :(得分:0)

克里斯,我已经开始研究这个了,但这确实在进行中。愿意与您合作:

https://github.com/ewoutkramer/strucdefdoc/wiki/SD's-expressing-constraints

(它是维基的一部分,更全面地描述了StructureDefinition)