元数据完整性和质量{ #metadata-integrity-and-quality }¶
虽然元数据质量可能有些主观,但有一些关键原则是可以客观评估的,并应在整个 DHIS2 实施过程中普遍遵循。为了评估元数据质量,可以进行元数据评估。在这种情况下,我们可以将元数据评估定义为对特定实施配置质量的审查。虽然这涉及的范围很广,但我们的目标是将评估过程分解为可管理的部分,以便随着时间的推移进行审查、优先排序和修复。定期元数据评估和持续维护是 DHIS2 长期配置和维护的重要组成部分。虽然配置任务通常可以通过一些不同的机制快速完成,但如果没有适当的协调,DHIS2 系统配置随着时间的推移可能会面临许多挑战。这些配置挑战影响的一些例子包括
- 创建数据输出时无法找到正确的项目
- 在创建数据输出时无法正确分列数据
- 输入数据或创建数据输出时无法访问正确的项目
- 数据质量方面的挑战(一些例子:数据和报告率的长期趋势存在重大误差、能够存储无效数据值、代表同一概念的多个变量存储不同的数据值)
- 配置数据交换机制时难以确定正确的使用项目
- 升级 DHIS2 版本时出现错误
- 需要管理大量无效元数据
本指南旨在提供识别元数据问题的工具和项目。另一份关于元数据维护的指南正在开发中,该指南将讨论可能导致元数据质量问题的配置实践,并讨论如何避免这些问题,例如避免在生产系统中进行配置工作,以及为元数据修改制定 SoP。最后,未来的 "元数据工作 "部分将指导如何解决元数据问题,如删除不再使用的对象。
元数据维护和元数据评估应被视为相互促进的相关过程。
- 反应过程:由于配置方面的挑战,需要对 DHIS2 系统进行相应的审查和清理。
- 主动流程:为防止配置方面的挑战,可制定流程,使 DHIS2 配置长期保持稳健。
管理模型](resources/images/models_of_management.png)
评估元数据的完整性和质量{ #metadata_assessment_overview }¶
反应式流程是对元数据进行评估,以确定潜在的挑战,并解决这些挑战。这可能是一个要求很高的过程,需要妥善规划,并投入时间和资源来识别和解决问题。下文将简要讨论元数据评估的计划和执行(#metadata_assessment_planning),本指南的重点是评估元数据和解决常见问题的实用性和技术性方面。
本指南主要侧重于评估元数据的两种方法:
- 通过[元数据人工审核](#metadata_assessment_manual)来实现
- 通过可直接连接到 DHIS2 的[元数据评估工具](#metadata_assessment_tool)进行元数据检查
下文将介绍这两种方法。
规划和执行元数据评估{ #metadata_assessment_planning }¶
为了进行评估,您可能需要首先获得各利益相关方的支持。在此过程中,通过对已发现的问题进行汇总统计,记录本指南中讨论的问题的程度可能会有所帮助。这对于向广大受众展示非常有用,并可通过简要解释已发现的问题来支持认同。在**元数据评估参考指南**中,您可以找到一些工具,这些工具既可以帮助您对自己在实施过程中发现的问题进行快速汇总统计,也可以帮助您对需要关注的每个具体项目生成更详细的报告。我们建议评估包括以下内容:
- 确定评估范围,并与相关利益攸关方共享评估范围
- 通过生成和记录已发现问题的汇总统计数据,确定实施过程中问题的严重程度
- 向利益攸关方小组汇报这些结论
- 找出有问题的单个项目,并制定适当的策略来减轻或解决这些问题
- 详细说明修复措施并确定优先次序
- 先在开发系统上实施这些修复,然后再在生产系统上实施
人工审查元数据{ #metadata_assessment_manual }¶
使用[元数据评估工具](#metadata_assessment_tool)和内置的[数据完整性检查](#data_admin_data_integrity)是发现 DHIS2 中许多元数据问题的有效方法。这包括对以下内容的审查
- 命名约定
- 指标公式
- 重复的元数据对象
- 重复的数据源
- 仪表板项目配置
- 项目和数据集组织单位分配
- 计划和数据集共享
记录问题{ #documenting-issues }¶
在审查元数据以发现潜在问题时,应始终以解决这些问题为目标。有时可以立即进行修复,但在许多情况下这是不可能的。例如,可能需要与不同的利益相关者协商,以确定适当的数据源或元数据定义,或者解决这些问题在技术上比较复杂,需要进行适当的测试和审查。因此,重要的是要建立一种机制来捕捉发现的问题,以便对其进行跟踪并制定解决计划。
命名约定{ #naming-conventions }¶
要全面了解良好命名规范背后的原则,请查看此资源 。在可能的情况下,您应考虑在正在审查的系统中实施这些原则。
要批量更新元数据名称,可考虑使用 DHIS2 元数据编辑器。这样您就可以在谷歌工作表中编辑所有元数据,并将信息同步回服务器。您可以查看元数据编辑器的完整指南此处。
指标公式{ #indicator-formula }¶
可能需要手动审查指标公式,以确定指标公式是否正确。审查指标公式虽然可能是一个配置问题,但如果对公式作出不正确的假设,则有可能影响数据质量和数据输出。审查指标公式时需要检查的问题包括
- 通过将数据元素与分子和分母说明进行比较,确保正确的数据元素分别是分子和分母的一部分
- 确保为正在审查的指标选择了正确的指标类型
- 在可能的情况下,审查分母的定义是否正确(然而,这可能更多的是一个数据质量问 题,需要进行更详细的数据质量审查)。
如果您熟悉 DHIS2 元数据编辑器的设置,可以使用DHIS2 元数据编辑器 查看某些公式,不过,通过用户界面浏览指标的传统方法可以使用世卫组织元数据浏览器应用项目。
重复数据源{ #duplicate-data-sources }¶
当 DHIS2 系统中有多个变量报告同一概念时,就会出现重复数据源。在 DHIS2 系统中通常会出现三种类型的重复数据源:
- 同一数据收集表中的重复变量
- 不同项目(通常在不同表格上)之间的变量重复
- 项目内的变量重复(在相同或不同的表格上)
同一数据收集表中的重复变量{ #duplicate-variables-within-the-same-data-collection-form }¶
当一个或多个数据元素提供的总数与同一表格中的一个或多个其他数据元素重复时,就会出现这种情况。例如,我们可以查看图 1 中的表格。

出现这种情况时,很难确定什么是正确的值。
不同项目间的重复变量{ #duplicate-variables-between-different-programs }¶
当集成系统中有两个或多个项目在收集相同信息时,就会出现这种情况(图 2)。在某些情况下,项目无法就数值达成一致,因此可能需要保持原样。但是,当试图确定一个一致同意的国家值时,这就会出现问题,因为不同项目的值可能不 同,因此不建议保持原值。

项目中的重复变量(在相同或不同表格中){ #duplicate-variables-within-programs-either-on-the-same-or-different-forms }¶
当在同一项目中收集相同信息时,就会出现这种情况(图 3)。这可能会造成问题,因为在可能的情况下,各值之间应保持一致(当发现此问题时,情况可能并非如此)。

解决重复数据源{ #resolving-duplicate-data-sources }¶
与定义分母的问题类似,这可能需要留待更详细的数据质量审查来解决。由于这些发现往往需要对各计划的表格进行审查/修订,以便使这些重复的数据源合理化,因此这个问题很可能无法通过立即更改配置来解决。不过,重要的是要找出这些问题,并与各计划合作,根据当地项目加以解决。
仪表板项目配置{ #dashboard-item-configuration }¶
在审查仪表板项目时,有两点需要考虑:
- 仪表板项目是否需要共享才能被仪表板共享的用户组查看
- 仪表板项目是否需要应用相对的组织单位或时间段,以便定期重复使用/更新
如果仪表盘项目需要显示固定时间段或组织单位的数据,则无需对项目应用任何相对性。如果项目需要定期更新新数据,或者与之共享仪表板的用户无法访问项目内所选的固定组织单位,那么就应该对这些项目进行审核,并根据情况更新正确的相对时期和组织单位选择。
项目和数据集组织单位分配{ #program-and-data-set-organisation-unit-assignment }¶
检查计划和数据集是否只分配给了预期要对其进行报告的组织单位。对于数据集来说,这可能会导致报告率的完整性出现问题(预期报告的数量可能会高于实际情况),并有可能将数据输入到不应该输入的地方;而对于项目来说,您可能会在组织单位中登记了本不应该登记的跟踪实体和/或事件。
项目和数据集共享{ #program-and-data-set-sharing }¶
检查元数据和数据共享设置是否已正确应用于项目和数据集。特别是,如果有些用户或用户组无法对项目或数据集执行本应可以执行的操作,则可能需要修改这些共享设置。
关于共享设置在项目和数据集上的应用的更详细的分类,可以在文档 以及YouTube上的一些视频中找到。
类别相关检查{ #category-related-checks }¶
重复类别选项{ #duplicate-category-options }¶
类别选项可以也应该在多个类别中重复使用,以表示同一概念(如年龄组)。除了减少同一概念有多个选项所带来的杂乱和可能的混淆外,这还有利于数据分析,因为使用同一类别选项的数据元素可以在可视化工具中以相同的分类一起呈现。
如果发现重复的类别选项,并且这些选项包含在已经与数据相关联的类别组合中,则不应**尝试删除这些选项。但是,如果其中一个类别选项尚未使用,则可以删除该选项并使用其他选项。
类别分类{ #category-disaggregations }¶
一般来说,数据元素类别中的类别选项加起来应该是一个有意义的总数,这一点在[聚合 系统设计部分](#类别和自定义维度)中已有讨论。如果查看按数据元素分列的数据元素值,默认显示的就是类别的总和。这种不良做法的一个例子是为 "门诊病人 "创建一个类别,其中包含 "病例 "和 "死亡 "选项,并将其应用于不同诊断的数据元素,如 "疟疾"。默认情况下,用户查看 "疟疾 "数据元素时会得到 "疟疾病例 "和 "疟疾死亡病例 "的总和,这是一个没有意义的数字。
在某些情况下,偏离这一一般规则可能是有意义的,特别是当使用这种类别可以*大*减少所需的数据元素数量时。在这种情况下,应为该类别所属的类别组合启用 "在报告中跳过类别总数 "选项。
使用元数据评估工具{ #metadata_assessment_tool }¶
虽然对许多问题进行人工检查是必要的,但我们还开发了一个元数据评估工具来自动进行一些数据质量检查。这包括获取内置数据完整性检查的汇总结果(违规次数)的可能性。元数据评估工具目前没有集成到 DHIS2 本身,而是基于R的独立工具。本节将讨论如何解释和使用评估工具的输出结果,而如何下载、安装和运行该工具则在该工具的GitHub 存储库中介绍。附件 A](#metadata_assessment_tool_annex_a)中介绍了该工具中包含的元数据检查列表和说明。
元数据评估工具主要基于 DHIS2 SQL 视图:该工具将一组 SQL 视图导入被评估的 DHIS2 数据库(每个数据质量指标两个),并通过 Web API 访问这些 SQL 视图的输出,然后将其呈现给用户。此外,该工具还可直接根据 Web API 查询(与用户相关)显示某些输出结果,还可显示内置数据完整性检查的结果。
警告 该工具不应直接用于生产数据库。虽然该工具对数据库的唯一改动是导入 SQL 视图,但某些检查可能会长时间运行并耗费大量资源,可能会影响与系统交互的用户。有一个参数可用于禁用慢速查询。
报告{ #the-report }¶
报告本身分为四个部分。
简表{ #summary-table }¶
元数据问题 "汇总表概述了所有不同的元数据质量指标,并可进行排序和筛选。这有助于快速了解结果(例如是否存在 "关键 "或 "严重 "问题),或查找特定问题(例如是否存在与组织单位相关的问题)。
摘要表](./resources/images/metadata_assessment_tool_summary_table.png)
用户数¶
用户 "部分提供与系统用户相关的关键指标。除了有关用户总数和某一时期内登录用户数量的基本信息外,它还包括可作为用户管理方法变更依据的信息:
- 从未登录过的用户:大量从未使用过的用户账户表明账户邀请/创建过程存在问题。如果这些账户是用默认密码创建的,也可能存在安全问题。
- 被禁用用户的百分比:结合用户总数和最近登录过的用户数量,可以看出当用户因不同原因不再需要或不应该访问系统时(如离开岗位),用户账户是否被禁用。
- 成为超级用户的用户数量/百分比:最多只有少数用户拥有超级用户权限("ALL "权限)。
此外,两张图表显示了用户最后登录的时间分布,以及用户在组织单位层次结构中的分布,这可能有助于了解用户分配和管理是否处理得当。
用户](./resources/images/metadata_assessment_tool_users.png)
指导{ #guidance }¶
指导部分提供了与汇总表相同的指标(并在 附件 A中重复),但同时提供了解释和建议采取的行动。该部分按主题划分。
指导](./resources/images/metadata_assessment_tool_guidance.png)
解释结果{ #interpreting-the-results }¶
在解释报告结果时,重要的是要记住,报告中列出的问题并不一定都是实际问题。在这方面,不同检查的*严重性*很重要:
- Info 表示检查主要是为了提供有用的上下文信息,例如显示某类对象的总数。
- *警告*适用于指出可能存在问题或表明元数据管理不善的检查,但一般不会导致系统运行出现问题。
- *严重的*问题会导致严重的问题,例如分析输出显示错误的数字或根本没有数据。
- *关键*问题是那些几乎肯定会造成各种问题的问题,例如可能导致分析表生成过程失败。
虽然不同的数据质量度量标准都包括一项关于如何解决特定问题的建议,但一般都不详细 说明解决问题应采取的技术步骤。不可能对所有问题都给出明确的指导,而且这些问题从最基本的(如数据元素的分组)到非常复杂的(如类别组合中重复的类别选项组合)都有。一般来说,建议尽可能通过 DHIS2 用户界面或网络应用项目接口来解决问题,因为这样可以对所做的更改进行验证。只有在万不得已的情况下,才应在数据库中正确纠正问题。除最基本的更改(如数据元素分组)外,所有更改都应在非生产系统中进行彻底测试。
实施指南中的一个单独章节正在编写中,该章节将提供更多的示例和指导,以解决常见的元数据问题,如批量编辑、删除带数据的数据元素等。
附件 A - 元数据评估工具指标{ #metadata_assessment_tool_annex_a }¶
已于 2022 年 2 月 14 日更新。
分类{ #categories }¶
没有类别选项的类别。¶
类别应始终至少有一个类别选项。
严重性:警告
建议: 没有类别选项的类别如果不使用,应从系统中删除。否则,应在类别中添加适当的类别选项。
基于类别选项的附加默认类别选项组合。¶
系统中只能有一个 "默认 "类别选项组合。有多个默认类别选项组合可能会导致数据输入和分析结果不规范。
严重性:危急
建议: 所有对附加默认类别选项组合的引用都应替换为所需的默认类别选项组合。
无类别的类别选项。¶
所有类别选项应至少属于一个类别。
严重性:警告
建议: 应删除不属于任何类别的类别选项,或将其添加到适当的类别中。
具有脱节关联的类别选项组合。¶
在某些情况下,系统中可能存在类别选项组合,但与类别组合相关联的类别选项却没有任 何直接联系。这种情况通常发生在类别选项被添加到类别中,然后类别又被添加到类别组合中。此时系统会创建新的类别选项组合。如果在其中一个基础类别中删除了任何类别选项,就会产生所谓的 "脱节类别选项组合"。这种类别选项组合与任何类别中的任何类别选项都没有直接联系。
严重程度:严重
建议: 如有可能,应从系统中删除不相连的类别选项组合。但是,如果有任何数据与类别选项组合相关联,则需要确定如何处理这些数据。
类别选项组合的数量不正确。¶
所有类别选项组合的类别选项关联数应与类别组合中的类别数完全相同。如果一个类别组合中有两个类别,那么每个类别选项组合就应该正好有两个类别选项。
严重程度:严重
建议: DHIS2 分析系统将忽略卡片数量不正确的类别选项组合,并应将其删除。
一个类别有多个成员的类别选项。¶
Nulla vitae feugiat blandit natoque placerat elementum pharetra senectus et aenean faucibus pellentesque.躯体、躯干、躯干和躯干上的躯干和躯干上的躯干上的躯干上的躯干上的躯干。躯干、躯干和躯干上的躯干和躯干上的躯干上的躯干我的心在滴血,我的心在滴血,我的心在滴血,我的心在滴血,我的心在滴血,我的心在滴血。Amet nisi sed quam hac.
严重性:严重
建议: Bibendum pellentesque nibh nisl vitae rutrum quis vestibulum feugiat porta et netus parturient mauris.Nec nascetur libero lacinia id vel mauris pulvinar at augue pharetra.躯干上的元素也会随之消失。躯干的前端有蛛网。Hac vitae vestibulum vestibulum nulla vestibulum ut non consectetur vel lectus ultricies euismod.Suscipit sed sed orci.
无类别的类别组合。¶
所有类别组合都应与一个或多个类别相关联。
严重性:警告
建议: 没有类别的类别组合在 DHIS2 中无法使用。应将其删除,或在类别组合中添加正确的类别。
无类别组合的类别选项组合。¶
所有类别选项组合都应与类别组合相关联。在某些情况下,删除类别组合时,类别选项组合与类别组合之间的联系可能会被破坏。
严重性:警告
建议: 检查是否有任何数据与有关类别组合相关联。有可能的话,应删除这些数据或将其迁移到有效的类别选项组合中。任何与这些类别选项组合相关联的数据都不能通过数据录入模块或任何分析应用项目使用。
类别组合内重复的类别选项组合。¶
在每个类别组合中,都应有一套独特的类别选项组合。在某些情况下,系统中可能存在重复的类别选项组合。这通常是由于在创建类别组合后对其进行了更改,或直接操作了数据库中的各种类别表。这可能导致某些数据元素/类别选项组合在数据录入屏幕和/或分析应用项目中不显示或不可用。
严重性:严重
建议: 在类别组合中出现重复的类别选项组合时,需要将类别选项组合合并在一起。这需要对数据库进行直接操作,应首先在测试环境中进行。只有在彻底测试项目并确信其有效后,才能在生产环境中执行该项目。DHIS2 实施团队创建了一系列 SQL 函数,以帮助您从系统中删除这些重复的 COC。
具有相同类别选项的类别{ #categories-with-the-same-category-options }¶
类别选项完全相同的类别应考虑合并。类别选项完全相同的类别在分析中很容易被用户混淆。
严重性:警告
建议: 如果已经创建了重复类别的类别组合、 建议不要采取任何措施,而是确保用户明白 确保用户了解可能有两个类别是重复的。
如果某个类别在任何类别组合中都没有被使用,则应考虑将其从系统中删除。 考虑从系统中删除。
图表¶
过去 12 个月未浏览过的图表{ #charts-which-have-not-been-viewed-in-the-past-12-months }¶
应定期在系统中查看图表。在许多情况下,用户可能会为临时目的创建图表,然后从不删除。这最终会导致系统缺乏整洁。这会导致在可视化应用项目中很难找到图表。
严重性:警告
建议: 有足够权限的用户可以使用数据可视化应用项目直接删除未使用的图表。但是,如果图表是任何仪表盘的一部分,则也需要从仪表盘中删除。
仪表板¶
系统中仪表盘的总数{ #total-number-of-dashboards-in-the-system }¶
系统中仪表盘的总数。 严重性:信息
建议: DHIS2 应为用户提供有用的仪表板。
过去三年中浏览次数为 1 次或更少的仪表板{ #dashboards-with-1-or-fewer-views-over-the-past-three-years }¶
没有用户查看的仪表盘可能表明数据使用有限,也可能表明仪表盘的设计没有重复使用的意图(例如作为培训活动或一次性数据分析的一部分),还可能表明拥有仪表盘的用户不再活跃。
严重性:警告
建议: 如果仪表盘相关且有用,但未被查看,则应努力提高数据使用率(例如,审查共享设置、与用户沟通、计划培训活动等)。在其他情况下,具有超级用户权限的用户应能通过查找名称或分批删除仪表盘。在从系统中删除仪表盘之前,还应确认该仪表盘未被任何推送分析使用。
过去一年未查看的仪表板。¶
没有用户查看的仪表盘可能表明数据使用有限,也可能表明仪表盘的设计没有重复使用的意图(例如作为培训活动或一次性数据分析的一部分),还可能表明拥有仪表盘的用户不再活跃。
严重性:警告
建议: 如果仪表盘相关且有用,但未被查看,则应努力提高数据使用率(例如,审查共享设置、与用户沟通、计划培训活动等)。在其他情况下,具有超级用户权限的用户应能通过查找名称或分批删除仪表盘。在从系统中删除仪表盘之前,还应确认该仪表盘未被任何推送分析使用。
无项目的仪表盘总数。¶
所有仪表盘都应该有内容。没有任何内容的仪表盘起不到任何作用,而且会增加查找有内容的相关仪表盘的难度。
严重性:信息
建议: 没有内容且在最近 14 天内未修改的仪表板应考虑删除。
数据元素(汇总){ #data-elements-aggregate }¶
汇总数据元素总数{ #total-count-of-aggregate-data-elements }¶
系统中综合数据元素数量概览。 严重程度:信息
建议: DHIS2 应包含对用户有用的数据元素。
未用于任何收藏夹的汇总数据要素(直接或通过指标){ #aggregate-data-elements-not-used-in-any-favourites-directly-or-through-indicators }¶
DHIS2 采集的所有汇总数据元素都应被用于生成某种类型的分析输出(图表、地图、表格)。这可以是在输出中直接使用它们,也可以是让它们为使用输出的指标计算做出贡献。
严重性:警告
建议: 应审查分析中未直接或通过指标间接进行例行审查的数据元素,以确定是否仍需收集。如果这些数据元素将用于例行审查,则应使用它们创建相关输出。如果这些数据元素不用于任何类型的信息审查,则应考虑将其归档或删除。
分配给 1 个或更少组织单位的汇总数据元素(通过数据集)。¶
作为汇总数据集一部分的数据元素应至少分配给一个组织单位。
严重性:警告
建议: 如果数据集处于活动状态,则审查组织单位分配。如果数据集没有激活,则应从系统中删除数据集及其相关数据元素。
不属于任何数据元素组的汇总数据元素。¶
所有数据元素都应归入一个数据元素组。这样用户就能在分析应用项目中更容易地找到数据元素,也有助于拥有更完整的数据元素组集。 应用项目中更容易找到数据元素,也有助于拥有更完整的数据元素组集。 通过对数据元素组中的所有数据元素应用批量设置(如共享),也可提高维护操作的效率。 对数据元素组内的所有数据元素进行批量设置(如共享),也可提高维护操作的效率。
严重性:警告
建议: 不在数据元素组中的数据元素应添加到相关数据元素组中。如果不需要这些数据元素,则应将其删除。
过去 100 天内未更改且无任何数据值的汇总数据元素。¶
"废弃 "数据元素。这些数据元素至少有 100 天没有修改过,也没有与之相关的任何数据值。通常情况下,这些数据元素是新配置或已更改配置的结果,在某个时间点被放弃。
严重性:警告
建议: 没有相关数据且没有计划开始用于数据收集的数据元素应予以删除。
无数据值的汇总数据元素。¶
数据元素一般应始终与数据值相关联。如果数据元素存在于活动的数据集中,但没有与之相关的数据值,那么这些数据元素可能不属于数据录入屏幕的一部分。
严重性:警告
建议: 考虑删除无数据值的数据元素。
过去 3 个期间内没有数据值的数据元素汇总(基于数据集期间类型)。¶
没有最新数据值的数据元素可能分为两类:1) 以前使用过,拥有有用/相关数据;2) 没有以任何有意义的方式使用过(例如,数据值来自配置过程中的测试或小型试点),数据没有用处/相关性。
严重性:警告
建议: 如果数据元素包含有用的历史数据,应予以保留。考虑重新命名数据元素和/或数据集,以明确它们不再用于数据收集。不常用且没有相关有价值数据的数据元素。
数据元素(跟踪器){ #data-elements-tracker }¶
跟踪器数据元素总数{ #total-count-of-tracker-data-elements }¶
系统中跟踪器数据元素数量概览。 严重程度:信息
建议: DHIS2 应包含对用户有用的数据元素。
不在任何数据元素组中的跟踪数据元素。¶
所有数据元素都应归入一个数据元素组。这样用户就能在分析应用项目中更容易地找到数据元素,也有助于拥有更完整的数据元素组集。 应用项目中更容易找到数据元素,也有助于拥有更完整的数据元素组集。 通过对数据元素组中的所有数据元素应用批量设置(如共享),也可提高维护操作的效率。 对数据元素组内的所有数据元素进行批量设置(如共享),也可提高维护操作的效率。
严重性:警告
建议: 不在数据元素组中的数据元素应添加到相关数据元素组中。如果不需要这些数据元素,则应将其删除。
数据集¶
数据集总数。¶
系统中数据集的总数。 严重性:信息
建议: DHIS2 应包含有助于数据录入的数据集。
在过去 100 天内未作更改且分配给 1 个或 1 个以下组织单位的数据集。¶
如果数据集正在使用,则一般应分配给多个组织单位;如果数据集正在开发,则应在最近(如最近 100 天)修改。未使用的数据集会造成数据库不必要的混乱,并可能使用户和管理员感到困惑。但与历史数据相关的数据集除外,例如不再使用的前几年的报告表,以及只供一个组织单位使用的数据集(如国家级数据集)。
严重性:警告
建议: 从系统中删除不常用或正在开发中的数据集,以减少系统杂乱和元数据大小。在删除数据集之前,请核实该数据集是否与历史数据相关,是否因此而保留。
最近 3 个期间没有数据值的数据集(基于数据集期间类型)。¶
没有与之相关的最新数据值的数据集可能分为两类:1) 以前使用过,拥有有用/相关数据;2) 没有以任何有意义的方式使用过(例如,数据值来自配置过程中的测试或小型试验),数据没有用处/相关性。
严重性:警告
建议: 如果数据元素包含有用的历史数据,应予以保留。考虑重新命名数据元素和/或数据集,以明确它们不再用于数据收集。不常用且没有相关有价值数据的数据元素
排序顺序不正确的数据集部分{ #data-set-sections-with-incorrect-sort-order }¶
数据集章节用于在章节数据录入表中对某些相关章节进行分组。它们也可以排序。如果添加或删除数据节,数据节的顺序可能会被打乱。
严重性:警告
建议: 使用 dhis2-utils Github 代码库中的 fixSortOrder SQL 函数可以修复数据集部分的排序顺序 (https://github.com/dhis2/dhis2-utils/tree/master/resources/sql)。使用该脚本可以修复每个受影响数据集部分的排序顺序。
一般{ #general }¶
有前导空格的可识别对象名称。¶
带有名称的可识别对象不应包含前导空格。
严重性:警告
建议: 这些对象可以通过 DHIS2 的用户界面进行更正。或者,也可以使用 SQL 直接在数据库中更正。您可以使用下面的 SQL 作为模式,帮助您创建所需的精确查询:
UPDATE chart as a SET name = b.name_new from ( SELECT chartid,REGEXP_REPLACE(name,'^\s+','') as
name_new from chart where name ~ '^\s+') b where a.chartid = b.chartid;
带有尾部空格的可识别对象名称。¶
带有名称的可识别对象不应包含尾部空格。
严重性:警告
建议: 这些对象可以通过 DHIS2 的用户界面进行更正。或者,也可以使用 SQL 直接在数据库中更正。您可以使用以下 SQL 作为模式,帮助您创建所需的精确查询:
UPDATE chart as a SET name = b.name_new from ( SELECT chartid,REGEXP_REPLACE(name,'\s+$','') as name_new from chart where name ~ '\s+$') b where a.chartid = b.chartid;
有多个空格的可识别对象名称。¶
带有名称的可识别对象不应包含前导空格。
严重性:警告
建议: 这些对象可以通过 DHIS2 的用户界面进行更正。或者 也可使用 SQL 直接在数据库中更正。您可以使用以下 SQL 作为 模式来帮助您创建所需的精确查询:
UPDATE categorycombo as a SET name = b.name_new from ( SELECT categorycomboid,REGEXP_REPLACE(name,'\s{2,}',' ') as
name_new from categorycombo where name ~ '\s{2,}') b where a.categorycomboid = b.categorycomboid;
指标¶
指标总数。¶
系统中指标数量概览。 严重程度:信息
建议: DHIS2 应包含对用户有用的指标。
不属于任何组别的指标。¶
所有指标都应归入一个指标组。这样,用户可以在分析应用项目中更容易地找到指标,也有助于拥有更完整的指标组集。通过对指标组内的所有指标进行批量设置(如共享、过滤),还可以提高维护操作的效率。
严重性:警告
建议: 不在指标组中的指标应添加到相关指标组中。如果不需要这些指标,则应将其删除。
未用于分析对象或数据集的指标。¶
所有经过计算的指标都应用于生成某种类型的分析结果(图表、地图、表格),或者作为 数据集的一部分,在数据录入过程中提供反馈。
严重性:警告
建议: 在分析中不进行常规审查的指标,无论是输出还是数据集,都应进行审查,以确定是否仍需计算。如果这些指标将用于例行审核,则应使用它们创建相关输出。如果这些指标不用于任何类型的信息审查,则应考虑将其归档或删除。
不用于分析对象的指标。¶
指标应用于生成某种类型的分析输出(图表、地图、表格)。注意:数据集中用于在数据录入过程中提供反馈的指标不算在分析对象中使用。
严重性:警告
建议: 应对分析中未进行常规审查的指标进行审查,以确定它们是否有用和需要。如果这些指标将用于常规审查,则应使用它们创建相关输出。如果这些指标不用于任何类型的信息审查,也不用于数据录入期间的数据集反馈,则应考虑删除这些指标。
选项集¶
未编入的选项集。¶
选项集应与属性、数据元素或注释一起用于某些目的。
严重性:警告
建议: 考虑删除未使用的选项集,或者确保已正确分配这些选项集。
空选项集{ #empty-option-sets }¶
所有选项集一般应至少包括两个项目。空选项集没有任何作用。
严重性:警告
建议: 应在选项集中添加选项,或删除选项集。
排序顺序可能错误的选项集。¶
选项集包含可排序的选项。sort_order 属性应始终以 1 开头,并按顺序排列。如果选项集中有三个选项,那么排序顺序应为 1,2,3。在某些情况下,选项集中的选项可能会被删除,排序顺序可能会被破坏。这可能导致无法从维护应用项目更新选项集,并可能导致在数据录入应用项目中使用选项集时出现问题。
严重性:严重
建议: 如果可以在维护应用程序中打开选项集,则可以对选项集进行修复,这样就可以纠正问题。另一个可能的解决方案是直接更新数据库中 "optionset "表的 sort_order 属性,确保选项集中的所有选项都有一个有效的序列。
组织单位{ #organisation-units }¶
不在所有必选单位组集中的单位{ #orgunits-that-are-not-in-all-compulsory-orgunit-group-sets }¶
任何标记为必选的组织单位组都应包含系统中的所有组织单位。如果在组集中遗漏了某些组织单位,可能会导致分析结果不正常,如遗漏数据。
严重性:严重
建议: 在一个强制性组织单位组内,将所有组织单位精确地添加到一个组中。
开放日期晚于关闭日期的组织单位。¶
如果为某个组织单位定义了关闭日期,该日期应始终在开放日期之后(如果定义了开 放日期)。
严重性:严重
建议: 更改所有受影响组织单位的开放或关闭日期,使关闭日期在开放日期之后。
组织单位不应有尾部空格。¶
组织单位中的空格是多余的。
严重性:警告
建议: 如果受影响的组织单位数量较少,最简单的补救办法是直接从用户界面进行更正。另一个可行的办法是使用 SQL 替换所有多空格。
带有点坐标的组织单位应包含在父单位中。¶
设施通常在 DHIS2 层次结构中表示为点。其上级组织单位几何图形应包含与其相关联的所有设施。
严重性:警告
建议: 通常,边界文件在上传到 DHIS2 时会被简化。这一过程可能会导致 在简化边界时,靠近特定地区边界的设施可能会落到该地区之外。 在简化边界时,可能会导致位于特定地区边界附近的设施落在地区之外。这对大多数 DHIS2 但如果使用边界和点坐标进行地理空间分析,则可能成为一个问题。 但如果使用边界和点坐标进行地理空间分析,则可能会出现问题。
如果设施位于其父级边界之外 应确认坐标是否正确。如果位置靠近边界,您可能需要重新考虑如何简化边界文件。 可能需要重新考虑如何简化边界文件。否则,如果设施的位置 设施的位置完全不正确,则应予以纠正。
位于空岛(0,0)100 公里范围内的组织单位。¶
导入坐标时的一个常见问题是将坐标包含在空岛点周围。这是地球表面的一点,在这一点上,本初子午线和赤道相交,纬度为 0,经度为 0。该点目前恰好位于海洋中央。该查询可识别位于该点 100 公里范围内、纬度和经度均等于零的任何点。
严重程度:严重
建议: 将受影响组织单位的坐标更新为正确位置。
组织单位名称中不得有多个空格。¶
组织单位名称不应包含多个空格。这些空格是多余的,在搜索组织单位时可能会使定位复杂化。
严重性:警告
建议: 如果受影响的组织单位数量较少,最简单的补救办法是直接从用户界面进行更正。另一个可行的办法是使用 SQL 替换所有多空格。
几何形状无效的组织单位。¶
DHIS2 使用 PostGIS 数据库扩展来管理与组织单位相关的地理信息。几何图形可能被视为无效的原因有很多,包括自包含、自相交和多边形。请参阅 PostGIS 文档,了解有关该主题的更深入讨论。
严重性:危急
**建议:**将受影响的组织单位的几何结构更新为有效的几何结构。可以使用 PostGIS 函数ST_MakeValid自动修复该问题。然而,在其他情况下,可能需要在 GIS 工具中编辑几何图形,然后在 DHIS2 中再次更新。
组织单位层次结构应有一个单一的根。¶
每个 DHIS2 系统都应有一个单一的根组织单位。这意味着一个单一的组织单位,层次结构的所有其他分支都是从这个单一的组织单位分支出来的。
严重性:危急
建议: 一旦您决定了哪个组织单元应该是组织单元层次结构的真正根,您应该更新父组织单元。这可以通过使用 DHIS2 API 或我直接在organisationunit”表中更新值来完成。
没有坐标的组织单位。¶
理想情况下,DHIS2 层次结构中包含的所有组织单位都应该有一套有效的 坐标。通常情况下,设施层级以上的所有组织单位都应该有一组有效的坐标、 这些坐标应该是一个多边形,它提供了组织单位的边界。 单位的边界。对于设施,这些坐标通常表示为点坐标。
这条规则显然也有例外。流动医疗机构可能没有 固定地点。社区卫生工作者或设施级别以下的病房 也可能没有确定的坐标。
此检查的目的是让您查看所有没有坐标的组织单位,并确定它们是否应该更新。 并确定是否需要更新。
严重性:警告
建议: 适当时,用有效的几何图形更新每个组织单位的几何图形。您可能需要联系相应的地方政府办公室,以获取一份 通常称为 "形状文件 "的地区边界副本。另一种方法是 另一种方法是使用 GADM 免费提供的边界文件 (https://gadm.org)
如果设施缺少坐标,可以从设施工作人员处获得。 设施工作人员使用智能手机获取坐标。图像 谷歌地图上的图像通常也可用于估算设施的位置、 前提是您有足够好的分辨率和对设施位置的本地知识。 设施的位置。
被遗弃的组织单位。¶
孤儿组织单位是指既没有父组织单位也没有子组织单位的组织单位。这意味着它们与主组织单位层次结构没有任何关系。它们可能是由错误的元数据导入或对数据库的直接操作造成的。
严重性:危急
建议: 应为无主组织单位分配一个父单位或将其从系统中删除。建议尽可能使用 DHIS2 API 来完成这项任务。如果不可能,则可能需要通过 DHIS2 数据库的直接 SQL 来删除它们。
属于组集中多个组的组织单位。¶
组织单位应在其所属的每个组织单位组集中只属于一个组。如果组织单位属于多个组,将导致无法预测的分析结果。
严重性:严重
建议: 使用维护应用项目,将详细信息列表中的组织单位准确分配到每个组集中的一个组。
句号¶
起止日期相同的时期{ #periods-with-the-same-start-and-end-dates }¶
不同时期的开始和结束日期不应完全相同。
严重性:危急
建议: 应从系统中删除所有对重复期间的引用,并重新分配。建议使用周期编号较低的周期。
未来三年以上的时期。¶
DHIS2 中的周期由系统自动生成。当新数据输入系统时 系统就会自动创建新的时期。在某些情况下 在某些情况下,当数据被发送到 DHIS2 时,可能会错误地创建远期的时期。 在某些情况下,当数据被发送到 DHIS2 时,可能会错误地创建远期。不同的数据输入客户端可能无法正确验证未来时段的 不同的数据输入客户端可能无法正确验证未来的时期,因此应审查任何未来的时期。 在某些情况下,数据可能对未来日期有效,例如为下一个财政年度设定的目标。 下一个财政年度的目标。
严重性:警告
建议: 如果将来系统中存在任何期间,您应该直接在数据值表中或通过数据透视表查看原始数据。 直接查看数据值表,或通过数据透视表查看原始数据,以确保数据正确无误。 以确保数据的正确性。
在许多情况下,客户可能希望传输 但由于数据输入错误,选择了 2031 年 1 月。因此 因此,应对任何远期数据进行调查,以确保不是由于数据录入错误造成的。 数据输入错误。
遥远的过去。¶
DHIS2 中的周期由系统自动生成。当新数据输入系统时 系统就会自动创建新的时期。在某些情况下 在某些情况下,当数据被发送到 DHIS2 系统时,可能会错误地创建一些时间段,而这些时间段已是 在某些情况下,当数据被发送到 DHIS2 时,可能会错误地创建已过去很久的时期。不同的数据录入客户端可能无法正确验证已过去很长时间的时段。 不同的数据录入客户端可能无法正确验证已过去的时期,因此应对这些时期进行分流,以确保 因此,应对这些时期进行分流,以确保数据没有被错误地输入。
严重性:警告
建议: 如果系统中存在遥远过去的任何时期,则应查看原始数据 直接查看数据值表,或通过数据透视表查看原始数据,以确保数据正确无误。 以确保数据的正确性。
在许多情况下,客户可能希望传输 但由于数据输入错误,选择了 2031 年 1 月。因此 因此,应对任何远期数据进行调查,以确保不是由于数据录入错误造成的。 数据输入错误。
计划规则{ #program-rules }¶
无行动的计划规则。¶
所有项目规则都应有一个动作。
严重性:严重
建议: 使用 DHIS2 用户界面,为每一条缺失的项目规则分配一个操作。或者,如果不使用项目规则,则考虑将其删除。
无优先权的计划规则。¶
所有计划规则都应有一个优先级。
严重性:严重
建议: 使用 DHIS2 用户界面,为缺少优先权的每条项目规则分配优先权。
在没有信息模板的情况下发送或安排信息的项目规则操作。¶
发送信息 "或 "安排信息 "类型的项目规则操作应具有相关的信息模板。
严重性:严重
建议: 使用 DHIS2 用户界面,为每个发送或安排信息但与信息模板没有关联的项目规则操作分配一个信息模板。
用户数¶
系统用户数量{ #number-of-users-in-the-system }¶
系统用户总数。
严重性:信息
建议: 仅供参考。
过去 30 天未登录的用户{ #users-who-have-not-logged-in-during-the-past-30-days }¶
所有用户都应定期登录,以便输入数据或查看分析结果。该指标衡量的是已启用但在过去 30 天内未登录的用户数量。
严重性:警告
建议: 审查这些用户是否应处于活动状态,否则考虑禁用这些账户。
过去一年未登录的用户{ #users-who-have-not-logged-in-over-the-past-year }¶
只有经常访问系统的用户才应拥有活动用户账户。去年未登录的用户可能不使用或不需要访问该系统,他们可能已经离职,应该有自己的账户,或者该账户可能是受邀请注册的,但没有使用过。
严重性:警告
建议: 与真实、活跃用户无关的用户账户至少应被禁用或删除。
验证规则¶
所有验证规则表达式都应有缺失值策略。¶
验证规则由左侧和右侧表达式组成。在某些系统中,可能没有定义缺失值策略。这可能会导致验证规则分析过程中出现异常。应使用适当的缺失值策略对受影响的验证规则进行修正。
严重性:严重
建议: 使用详细信息 SQL 视图的结果,确定受影响的验证规则以及未指定缺失值策略的规则。使用维护应用项目进行适当更正并保存规则。