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

关系模型

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

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

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

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

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

关系类型

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

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

  • 跟踪实体
  • 注册
  • 事件

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

跟踪实体实例 注册 事件
追踪实体类型 需要 可选的 --
程序 -- 需要 --
程序阶段 -- 需要 可选的

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

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

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

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