数据元素和自定义维度¶
本章首先讨论系统的一个重要组成部分: 数据元素。其次,它讨论了类别模型以及它如何 用于实现高度定制的元数据结构来存储 数据。
资料元素¶
数据元素与组织单元一起最多 DHIS2 数据库的重要构建块。它代表*什么* 维度并解释正在收集或分析的内容。在一些 在上下文中,这被称为指标,但是在 DHIS2 中,这 数据收集和分析的元数据元素被称为 数据元素。数据元素通常表示某个事件的计数 它的名称描述了正在计算的内容,例如“给予的 BCG 剂量”或 “疟疾病例”。当数据被收集、验证、分析或 呈现的是数据元素或用数据构建的表达式 描述数据是什么现象、事件或案例的元素 注册为.因此,数据元素对于各个方面都变得很重要 系统的一部分,不仅决定如何收集数据,还决定更多 重要的是数据如何在数据库中表示以及数据如何 进行分析和呈现。
设计数据元素背后的一个重要原则是考虑 数据元素作为现象或事件的独立描述 而不是作为数据输入表单中的字段。每个数据元素都依赖于它的 自己在数据库中,完全脱离并独立于数据库 收集形式。重要的是要考虑使用数据元素 直接在报告、图表和其他工具中进行数据分析,其中 任何给定数据输入表单中的上下文均不可访问,也不相关。 换句话说,必须能够清楚地识别发生了什么事件。 数据元素仅通过查看其名称即可表示。基于此, 创建数据元素的名称被认为是最佳实践 使其能够独立站立。任何用户都应该能够 阅读名字并理解它代表什么事件,即使在外面 数据输入表单的上下文。
例如,名为“疟疾”的数据元素在看到时可能会很简洁 以数据输入形式捕获死亡率数据 以形式捕获 药品库存以及门诊数据的形式。什么时候 然而,在数据输入表单之外的报告中, 无法确定该数据元素代表什么事件。如果 该数据元素被称为“疟疾死亡”、“疟疾库存剂量” 收到”或“给予疟疾预防”,这从用户那里就可以清楚地看出 透视报告试图表达的内容。在这种情况下我们是 用完全不同的方式处理三个不同的数据元素 语义。
类别{ #categories }¶
数据采集的某些要求需要细粒度的 描述正在计数的事件的维度的细分。为了 例如,一想要收集打破的“疟疾病例”的数量 降低性别和年龄组,例如“女性”、“男性”和“\< 5 岁” 和“> 5 年”。其特点是故障是 通常对许多“基本”数据元素重复:例如 人们希望将这种细分重新用于其他数据元素,例如 “结核病”和“艾滋病毒”。为了使元数据更加动态、可重用 并且适合分析,定义上述内容是有意义的 疾病作为数据元素并创建单独的细分模型 属性。这可以通过使用类别模型来实现,即 如下所述。
类别模型有四个主要元素,最好使用以下方式进行描述: 上面的例子:
-
类别选项,分别对应“女性”、“男性”和“\< 5 年”和“> 5 年”。类别选项是细粒度的 以某种共同方式相关的属性。
-
类别,对应于“性别”和“年龄组”。类别 用于根据共同主题对相关类别选项进行分组。
-
类别组合,即多个类别的组合 一起。在上面的示例中,我们可以同时指定“性别”和“年龄” 将”类别分组为称为“年龄/性别”的类别组合。
-
类别选项组合 来自所有可能组合的结果 类别组合内的所有类别选项。在示例中 如上所述,以下类别选项组合将是 创建:“女/\<5 years", "Female/>5 年", "男/\<5 years", "Male/>5 年"
值得注意的是,类别模型完全独立于数据元素模型。 数据元素与类别松散耦合,因为关联 它们之间可以随时更改,而不会丢失任何数据。 作为上面的一个实际例子,也许需要收集数据 适用于年龄范围更细的疟疾病例。而不是仅仅“\<5”和 “/>5”,可以为“\<1", "1-5",">5”创建一个新类别来描述 更细的年龄范围。然后该类别可以依次关联 使用新数据输入表单中的数据元素来收集数据 在更细粒度的层面上。这种方法的优点是 使用相同的数据元素,这简化了随着时间的推移对数据的分析。
一般不建议更改关联 数据元素及其类别组合之间的差异很平常或经常是因为 已收集的数据之间潜在的不兼容性 使用不同的类别组合。潜在的解决方法 使用“类别选项组集”的这个问题将在 本文档的另一部分。
请注意,类别数量没有本质限制 类别中的选项或类别组合中的多个类别, 然而,结构变得混乱的地方有一个自然的限制 而且笨重。非常大的类别组合,有很多选择 可以快速膨胀成为数千个类别选项组合 这反过来会对性能产生负面影响。
现在可以使用一对数据元素和类别组合 代表任何级别的故障。重要的是要明白 实际发生的是许多自定义尺寸 分配给数据。就像数据元素代表强制性一样 维度到数据值,类别添加自定义维度 它。在上面的示例中,我们现在可以通过 DHIS2 输出工具, 根据这些数据的“性别”和“年龄组”进行分析 元素,就像基于数据进行分析一样 要素、组织单位和时期。
此类别模型可用于数据输入表单设计和 在分析和表格报告中。出于分析目的,DHIS2 将 自动生成每个数据元素的小计和总计 与类别组合相关联。这个计算的规则是 所有类别选项的总和应该是一个有意义的总数。以上 示例显示了如此有意义的总数,因为在总结“疟疾”时 捕获“女性 \< 5 years”, “Male \< 5 years”, “Female > 5 例” 年”和“男性> 5年”之一将获得“疟疾”总数 案”。
出于数据捕获的目的,DHIS2 可以自动生成表格数据 输入表单,其中数据元素表示为行,并且 类别选项组合表示为列。这将在 在许多情况下,只需付出最小的努力就可以形成令人信服的形式。这是 需要注意的是,这代表了一个两难的境地,因为这两个 担忧有时是不相容的。例如,有人可能想要 使用不符合的类别快速创建数据输入表单 到有意义的总数的规则。然而我们确实认为这是一个更好的 替代维护两个独立且单独的模型 数据输入和数据分析。
关于类别模型的一个重要点是数据值是 持续存在并与类别选项组合相关联。这 意味着从类别组合中添加或删除类别 使这些组合无效并且是低级数据库操作 必须采取措施予以纠正。因此建议慎重 考虑需要哪些故障并且不要经常更改它们。
属性组合{ #attribute-combinations }¶
DHIS2 中的所有聚合数据始终与四个主要维度相关联:
- 数据元素和类别组合代表*什么*维度。
- 组织单位代表*where*维度。
- 句点代表*何时*维度。
然而,可能需要额外的类别来支持数据输入和分析。 实施者还可以使用附加的自由形式维度,称为“属性组合”。 属性组合在系统中的实现方式与类别组合非常相似。 然而,不同之处在于它们并不直接与单个数据元素相关联,而是与数据元素组直接相关联。
使用数据元素“疟疾病例”扩展上面的示例,可能需要在同一组织单位和同一时间段收集在该设施中工作的两个不同合作伙伴的数据。为了能够将数据归因于这些合作伙伴,我们可以创建一个名为“合作伙伴”的类别,其中包含每个合作伙伴的名称作为类别选项。然后,该类别可以用作“疟疾病例”所属的数据集的属性组合。在数据输入期间,数据输入屏幕中会出现一个额外的下拉选项,该选项允许用户选择与数据关联的合作伙伴。
因此,虽然属性选项组合在结构上等同于类别选项组合,但它们用于在数据集级别分解数据。除了上面列出的四个主要维度之外,作为与属性组合相关联的数据集的一部分的所有数据值将被记录并用附加的第五维度分解。对于如何构造属性组合没有限制,这反过来又允许实现者为特定数据集设计任意维度。
组集和分析维度{ #group-sets-and-analytical-dimensions }¶
在数据输入期间使用类别和属性组合以某种方式分解数据, 例如按年龄和性别细分。稍后分析数据时,可能需要 以不同的方式聚合或分组数据。考虑具有以下年龄段的类别:
- \< 1
- 1-4
- 5-10
- 10-15日
- 15-19日
- 20-29日
- 30-49
- 49+
数据可能会与这些年龄组一起输入,但在 DHIS2 的分析应用程序中进行分析时, 可能需要根据更粗略的年龄范围对数据进行分组。 使用类别选项组集,我们可以创建两个类别组,例如 \<15 和 15+。 然后可以将每个原始类别选项放入相应的 类别选项组。然后,每个组都可以与一个类别选项组相关联 集,它可以作为分析应用程序中的附加维度使用。
类别选项组集对于创建常见的更高级别的分组特别有用 类别选项。这种方法对于组合可能已被合并的数据元素通常很有用。 根据相关但不同的类别组合收集。
数据元素组¶
彼此相关的数据元素可以分组在一起 带有*数据元素组*。数据元素组完全灵活 他们的名字和成员资格。
组对于浏览和呈现相关数据都很有用, 也可用于聚合为数据元素捕获的值 群组。组与数据元素松散耦合且不捆绑 直接到数据值,这意味着可以修改和添加它们 在任何时间点都不会干扰低级数据。
数据元素组集¶
与类别选项组集类似,可以使用数据元素组集 将相关数据元素聚合在一起。我们可能感兴趣 确定传染性和非传染性的总数 来自发病率数据集的疾病。数据元素组集可以是 分为两组:“传染病”和“非传染性疾病” 疾病”。可以将数据元素放入每个组中。
在数据透视表分析期间,数据元素组集可以是 用于按每个数据元素组聚合数据 组集。
这种方法允许高度灵活的分析类型,其中 数据元素组合的确切定义未知 或者可能难以以指标的形式定义。