跳转至
For the complete DHIS2 documentation index, see llms.txt.

关系模型

关系代表 Tracker 模型中两个实体之间的链接。A 关系在 DHIS2 中被视为数据,基于关系类型、 类似于跟踪实体是基于跟踪实体类型。

关系总是连接两个实体,这些实体可以包括跟踪实体、注册和事件,以及它们的任意组合。 实体、注册和事件,以及这些实体的任意组合。请注意 所有这些组合目前都无法通过用户界面使用。

实体之间的关系可分为单向关系和双向关系,每种类型的关系在创建时需要不同级别的访问权限。 每种关系的创建都需要不同级别的访问权限。

  • 单向关系要求用户具备以下条件
    • 对 "来自 "实体的写入访问
    • 对 "至 "实体的读取访问
  • 双向关系要求对 "发件人 "和 "收件人 "实体都有写访问权限。

从 [tracker exporter endpoint](#webapi_tracker_export)检索关系时,只显示那些源于 的关系。这意味着该实体要么是双向关系的一部分 或单向关系中的 "来自 "实体。

关系类型

关系类型是关系具有的属性的定义。 关系始终包含两个方面,分别称为“从”和“到”,以及 每边可以包含哪些实体由关系确定 类型。确定每个属性可以包含的属性称为 约束,分别来自fromConstraint和toConstraint。这些约束是 在以后处理数据时很重要,以了解之间的关系 可以也不能包含。

关系类型中定义的每个约束都包含几个 属性。主要属性是关系实体,它决定什么 关系可以包含的一种实体。实体可以是 每个约束如下:

  • 跟踪实体
  • Shallow copy { #shallow-copy }
  • 合并策略(DISCARD 或 LAST_UPDATED)

根据您选择的关系实体的类型,可以选择 每个约束的其他限制。下表说明了 您可以配置不同的组合:

跟踪实体实例 Shallow copy { #shallow-copy } 合并策略(DISCARD 或 LAST_UPDATED)
```json
{
"style": {
"color": "#ffffff",
"icon": "my-beautiful-icon"
}
}
``` 检索和删除项目通知模板 可选的 Note that synthetic fields displayName and displayShortName are always
returning the translated value independent of the translate parameter.
IndicatorGroup Note that synthetic fields displayName and displayShortName are always
returning the translated value independent of the translate parameter. 检索和删除项目通知模板 Note that synthetic fields displayName and displayShortName are always
returning the translated value independent of the translate parameter.
关系(跟踪器) Note that synthetic fields displayName and displayShortName are always
returning the translated value independent of the translate parameter. 检索和删除项目通知模板 可选的

这些附加限制将要求实体在创建前符合限制设置。 才能创建。例如,如果您的关系是 母亲和孩子之间的关系,这两个限制条件都会将所需的跟踪实体 类型设置为 "人",并可选择将 "注册 "分别设置为 "孕产妇保健计划 "和 "儿童计划"。 计划和儿童计划。这样,只有 类型的被跟踪实体,且其注册了所需的计划。 包含在这些关系中。

除了关系类型定义的约束外,每个关系还可以配置为双向关系、 真或假。

  • 如果属性设置为 false,则关系是单向的。
  • 如果设置为 "true",则关系是双向的。 正如前面在 here 中提到的,此设置会影响创建关系所需的访问级别、 以及导出关系中的实体时显示的关系。

关于双向关系要注意的一件事是 “从”和“到”两面在数据库中仍然很重要,这意味着每个实体 必须匹配该侧的约束。但是,从用户角度来看, 在每个方面,每个实体的存储都是无关紧要的。

示例{ #relationship_model_example }

可能的关系连接类型示意图](resources/images/relationship_model/relationships.png)

  • 双向关系 relAteA 连接到 teB,并将 teB 连接到 teA
  • 单向关系 relB 连接 teAteC ,但不连接 teCteA
  • teA 源自关系 relArelB
  • teB 源自关系 relA
  • *teC*不产生任何关系。
  • relA 源自 teAteB,指向 teAteB
  • relB 源自 teA 并指向 teC