创建计划指标的培训者指南¶
在指示器系统上执行 PERFORM THIS on the INDICATOR SYSTEM**
在制定指标时,请使用您的姓名首字母_*
本指南是什么?¶
本指南是 DHIS2 学院培训师在 "演示--计划指标 "课程中使用的辅助文件。本课程采用标准的学院培训方法,包括
- 现场演示课程,由培训师演示和解释程序指标。
- 实践环节,通过练习让参与者了解和分析计划指标。
本指南将帮助培训师准备现场演示课程。在 "现场演示步骤 "部分,详细介绍了所有演示步骤,并附有易于理解的解释和屏幕截图。请在准备现场演示课程时使用。
此外,还有一份《快速指南》,其中非常简短地列出了各个步骤,可作为演示过程中的查找指南或 "小抄",帮助培训师记住所有步骤和演示流程。
本节课的学习目标¶
本课结束时,用户应熟悉在 DHIS2 中创建计划指标的基本知识。用户还应了解如何将计划指标与综合数据元素结合起来,创建综合指标。本节课结束时,学员应熟悉以下几个概念:
- 描述计划指标的概念
- 描述计划指标的各个组成部分
- 聚集类型
- 分析类型
- 以目标取代源
- 过滤
- 在 DHIS2 中创建计划指标
- 在 DHIS2 中创建综合指标(跟踪器 + 综合数据
时间要求¶
现场演示:1.5 小时
实践练习:1.5 小时
背景¶
在以往的培训中,"计划指标 "环节因多种原因而被证明是困难的。在这一环节中,有两种不同的方法可供选择:一是让学员跟着你一起做,二是让学员尝试立即看到他们创建的指标的结果。不间断地进行这一环节的好处是,他们会以同样的速度跟上演示。不过,这也是学员往往难以跟上的环节之一。如果让学员一步一步地模仿你的操作,他们可能会理解得更多,但这会完全扰乱课程。某些参与者可能比其他人花费更多时间,这时你该如何继续呢?在这种情况下,应由学院团队来决定如何以最佳方式呈现这一环节。两种方法都有潜在的利弊,团队必须衡量到目前为止学员对内容的适应程度。
请记住,计划指标是即时计算的,创建计划指标后**无需运行分析**。您可以直接与小组核对,向他们展示您所做的工作是否正确。 对于综合指标,**您必须**在显示结果之前运行分析。
快速指南¶
指标 1
计划:结核病治疗卡
指标:肺外结核病
简称:EPTB
聚合类型 :计数
分析类型 :活动
进行练习 1
指标 2
计划:结核病治疗卡
指标:肺结核新病例
简称:NPTB
聚合类型 :计数
分析类型 :活动
进行练习 2
指标 3
计划:结核病治疗卡
指示器:TO - 故障或死亡
简称:TO - 失败或死亡
聚合类型 :计数
分析类型 :活动
创建一个具有相同特征的指标副本,但过滤掉性别 = 男性、年龄 > 60 的指标
进行练习 3
指标 4
计划:结核病治疗卡
指标:住院 - 首次住院和继续住院
简称:住院治疗
代码AT_HOSP
聚合类型 :计数
分析类型 :注册
进行练习 4
指标 5
计划:结核病治疗卡
创建注册类型计划指标。当培养结果为阴性且治疗结果为治愈或完成时,应计算初始诊断和治疗结束计划阶段之间的权重差。
进行练习 5
指标 6
综合指标
计划:结核病治疗卡
指标:每 10 万人肺结核发病率
分母:结核病新病例
分母:人口总数
进行练习 6
现场演示步骤¶
首先,在此处介绍计划指标演示文稿中的幻灯片 1-6:
https://docs.google.com/presentation/d/18D1sY_F-HznxDGLvnE572W_30lg2lUDef-yNGArCuoo/edit?usp=sharing
然后再来看演示
指标 1:肺结核病例{ #indicator-1-eptb-cases }¶
将指标概念化{ #conceptualize-the-indicator }¶
我们想计算肺外结核病例数。这是从外地疾病网站上获取的,该网站有一个选项,我可以在其中选择这个值。

编辑指标详情{ #edit-the-indicator-details }¶
导航至维护 -> 指标 -> 程序指标
选择 "结核病治疗卡 "作为程序

添加新指标并编辑程序指标详情{ #add-a-new-indicator-and-edit-the-program-indicator-details }¶
选择蓝色加号添加新指标。
首先,编辑名称、简称和代码详情。

跳过颜色和图标
接下来,添加说明。
审查汇总类型,我们想用这个指标做什么?我们希望统计出 EPTB 病例的数量。
查看分析类型。我们只需要程序中一个阶段的数据,而且这个阶段不会重复。在这种情况下,分析类型为事件。
选择分析类型后,您将看到 "分析时间界限"。请将其保留为默认值,我们将不在本教程中介绍它们。您可以在 docs 中了解更多相关信息。

编辑表达式{ #edit-the-expression }¶
选择表达式选项卡以编辑表达式。在这里,我们可以定义我们希望在数学上发生的事情。
当您在跟踪器程序中创建程序指示器时,您将在右侧菜单上看到所有程序阶段。从这里,您可以选择属于这些阶段的任何数据元素。您还可以选择属于该程序的属性。此外,我们还有可以在计算中使用的变量和常量。
在这种情况下,我们可以使用一个名为事件计数的简单变量来定义我们的表达式。这是因为我们要计算符合特定条件的事件数量。你可能会经常用到这个变量。

编辑过滤器{ #edit-the-filter }¶
选择筛选器选项卡以编辑筛选器。在这里,我们要定义数学计算中要包含的标准。我们要计算事件,但计算哪些事件呢?在我们的例子中,就是那些发病部位为肺外的事件。
疾病地点是我们程序中的一个数据元素,因此我们可以选择它

接下来,我们可以使用运算符 "等于"。
在程序指示符中,选项是通过其在选项集中的代码来识别的。在本例中,名称和代码是相同的,但如果你不熟悉元数据,通常最好检查一下你正在使用的选项的代码。

复制代码并将其添加到过滤器中。由于它是一个文本值,我们将其添加到引号之间。所有文本值都需要放在引号之间。

测试程序指示器{ #test-the-program-indicator }¶
现在您已经创建了程序指标,最好测试一下它是否能正常运行。您可以将正确配置的指标与您创建的指标进行比较,以确保数值正确。为此,您可以导航到透视表应用程序。
导航至数据可视化应用程序{ #navigate-to-the-data-visualizer-app }¶
创建一个新的数据透视表,详细信息如下
- 数据:您制定的计划指标,计划指标 "肺结核外"。
- 时期 :去年
- 组织单位 : 培训园地
点击更新,验证指标中的值是否相等。这将验证指标创建是否正确。

STOP - 执行练习 1{ #stop-perform-exercise-1 }¶
指标 2 :肺结核新病例{ #indicator-2-new-pulmonary-tb-cases }¶
将指标概念化{ #conceptualize-the-indicator }¶
我们希望减少肺结核新病例的数量

这些值来自两个不同的数据元素,即肺结核病人类型和肺结核病地,两者都有可供选择的选项集值。这意味着我们需要再次考虑这些值的代码。
编辑指标详情{ #edit-the-indicator-details }¶
导航至维护 -> 指标 -> 程序指标
选择 "结核病治疗卡 "作为程序

添加新指标并编辑程序指标详情{ #add-a-new-indicator-and-edit-the-program-indicator-details }¶
选择蓝色加号添加新指标。
首先,编辑名称、简称和代码详情。

跳过颜色和图标
接下来,添加说明。
审查汇总类型,我们想用这个指标做什么?我们希望统计出 EPTB 病例的数量。
查看分析类型。我们只需要程序中一个阶段的数据,而且这个阶段不会重复。在这种情况下,分析类型为事件。
选择分析类型后,您将看到 "分析时间界限"。请将其保留为默认值,我们将不在本教程中介绍它们。您可以在 docs 中了解更多相关信息。

编辑表达式{ #edit-the-expression }¶
选择表达式选项卡以编辑表达式。在这里,我们可以定义我们希望在数学上发生的事情。
在这种情况下,我们可以使用一个名为事件计数的简单变量来定义我们的表达式。这是因为我们要计算符合特定条件的事件数量。你可能会经常用到这个变量。

编辑过滤器{ #edit-the-filter }¶
选择筛选器选项卡以编辑筛选器。在这里,我们要定义数学计算中要包含的标准。我们要计算事件,但计算哪些事件呢?在我们的例子中,就是那些患者类型为新发,疾病部位为肺部的事件。
病人类型和疾病部位是我们程序中的一个数据元素,因此我们可以选择它们。让我们首先选择患者类型
接下来,我们可以使用运算符 "等于"。
在程序指示符中,选项是通过其在选项集中的代码来识别的。在本例中,名称和代码是相同的,但如果你不熟悉元数据,通常最好检查一下你正在使用的选项的代码。

复制代码并将其添加到过滤器中。由于它是一个文本值,我们将其添加到引号之间。所有文本值都需要放在引号之间。

为了使这一指标符合我们所要求的标准,患者必须是新患者,发病部位必须是肺部。因此,我们必须在这种情况下使用 "和 "逻辑运算符。选择疾病部位数据元素并完成筛选。

测试程序指示器{ #test-the-program-indicator }¶
现在您已经创建了程序指标,最好测试一下它是否能正常运行。您可以将正确配置的指标与您创建的指标进行比较,以确保数值正确。为此,您可以导航到透视表应用程序。
导航至数据可视化应用程序{ #navigate-to-the-data-visualizer-app }¶
创建一个新的数据透视表,详细信息如下
- 数据:您创建的计划指标,"新的肺结核 "计划指标
- 时期 :去年
- 组织单位 : 培训园地
点击更新,验证指标中的值是否相等。这将验证指标创建是否正确。¶

STOP - 执行练习 2{ #stop-perform-exercise-2 }¶
指标 3:治疗失败或死亡的患者{ #indicator-3-patients-on-who-failed-treatment-or-died }¶
将指标概念化{ #conceptualize-the-indicator }¶
我们希望统计死亡或治疗失败的病例数

这些值取自 1 个数据元素 "治疗结果",并有选项集值可供选择。这意味着我们需要再次考虑这些值的代码。
编辑指标详情{ #edit-the-indicator-details }¶
导航至维护 -> 指标 -> 程序指标
选择 "结核病治疗卡 "作为程序

添加新指标并编辑程序指标详情{ #add-a-new-indicator-and-edit-the-program-indicator-details }¶
选择蓝色加号添加新指标。
首先,编辑名称、简称和代码详情。

跳过颜色和图标
接下来,添加说明。
审查汇总类型,我们想用这个指标做什么?我们希望统计使用设施或社区 DOT 的病例数。
查看分析类型。我们只需要程序中一个阶段的数据,而且这个阶段不会重复。在这种情况下,分析类型为事件。
选择分析类型后,您将看到 "分析时间界限"。请将其保留为默认值,我们将不在本教程中介绍它们。您可以在 docs 中了解更多相关信息。

编辑表达式{ #edit-the-expression }¶
选择表达式选项卡以编辑表达式。在这里,我们可以定义我们希望在数学上发生的事情。
在这种情况下,我们可以使用一个名为事件计数的简单变量来定义我们的表达式。这是因为我们要计算符合特定条件的事件数量。你可能会经常用到这个变量。

编辑过滤器{ #edit-the-filter }¶
选择筛选器选项卡以编辑筛选器。在这里,我们要定义数学计算中要包含的标准。我们要计算事件,但计算哪些事件呢?在我们的例子中,就是那些治疗结果为治疗失败或死亡的事件。
治疗结束时间是我们计划中治疗结束阶段的一个数据元素,因此我们可以选择它。
接下来,我们可以使用运算符 "等于"。
在程序指示符中,选项是通过其在选项集中的代码来识别的。在本例中,名称和代码是相同的,但如果你不熟悉元数据,通常最好检查一下你正在使用的选项的代码。

复制代码并将其添加到过滤器中。由于它是一个文本值,我们将其添加到引号之间。所有文本值都需要放在引号之间。

为了使该指标符合我们所要求的标准,患者可以在医疗机构或社区接受 DOT。因此,我们必须在这种情况下使用 "或 "逻辑运算符。选择疾病部位数据元素并完成筛选。

测试程序指示器{ #test-the-program-indicator }¶
现在您已经创建了程序指标,最好测试一下它是否能正常运行。您可以将正确配置的指标与您创建的指标进行比较,以确保数值正确。为此,您可以导航到透视表应用程序。
导航至数据可视化应用程序{ #navigate-to-the-data-visualizer-app }¶
创建一个新的数据透视表,详细信息如下
- 数据:您制定的计划指标,"治疗结果 - 失败或死亡 "计划指标
- 时期 :去年
- 组织单位 : 培训园地
点击更新,验证指标中的值是否相等。这将验证指标创建是否正确。

添加更多过滤器信息{ #adding-more-filter-information }¶
如果我们想修改该指标,只计算男性且大于 60 岁的病例,该怎么办?
为此,我们需要修改指标过滤器。由于我们要在上一个指标的基础上进行添加,让我们找到并克隆它。

更新名称、简称、代码和说明

聚合类型和分析类型保持不变。
表达式也相同(V{event_count} )。
不过,我们确实需要更新我们的过滤器。

让我们回顾一下有哪些变化。
- 我们在 "或 "语句的括号中引入了分组方法
- 我们使用 和 语句增加了两个年龄和性别筛选器
请注意,如果要将多个和/或条件组合在一起以创建特定的筛选条件,则需要使用括号。这可以作为一种操作顺序。输入并解释筛选条件后,保存指标。
保存后,我们就可以在数据可视化器中验证该指标了

STOP - 执行练习 3{ #stop-perform-exercise-3 }¶
创建注册类型指标{ #create-enrollment-type-indicators }¶
指标 4:患者在整个治疗过程中住院{ #indicator-4-patients-hospitalized-the-entire-treatment }¶
将指标概念化{ #conceptualize-the-indicator }¶
我们希望统计在初始阶段和继续阶段住院的病例数。这意味着我们要检索两个计划阶段的数据。


编辑指标详情{ #edit-the-indicator-details }¶
导航至维护 -> 指标 -> 程序指标
选择 "结核病治疗卡 "作为程序

添加新指标并编辑程序指标详情{ #add-a-new-indicator-and-edit-the-program-indicator-details }¶
选择蓝色加号添加新指标。
首先,编辑名称、简称和代码详情。

跳过颜色和图标 接下来,添加说明。
回顾一下汇总类型,我们想用这个指标做什么?我们希望统计在初始治疗和继续治疗阶段住院的病例数。
查看分析类型。现在我们需要来自多个阶段的数据,因此我们的分析类型将是 ENROLLMENT!
在本示例中,我们创建了一个注册指标,用于计算和显示其信息。请注意,您也可以创建一个计划指标,计算符合特定条件的注册人数。例如,如果您想使用同一计划中多个计划阶段的选项集数据元素,以便在计算指标时筛选出注册人数,这可能会很有用。确保让参与者知道这一点,因为这将是他们练习的一部分。
选择分析类型后,您将看到 "分析时间界限"。请将其保留为默认值,我们将不在本教程中介绍它们。您可以在 docs 中了解更多相关信息。

编辑表达式{ #edit-the-expression }¶
选择表达式选项卡以编辑表达式。在这里,我们可以定义我们希望在数学上发生的事情。
在这种情况下,我们可以使用一个名为 "注册人数 "的简单变量来定义我们的表达式。我们计算的不再是事件,而是注册人数,因为我们要合并整个注册人数的信息,然后使用我们的过滤器对其进行评估。

编辑过滤器{ #edit-the-filter }¶
选择筛选器选项卡以编辑筛选器。在这里,我们要定义数学计算中要包含的标准。我们要计算事件,但计算哪些事件呢?在我们的例子中,就是那些治疗结果为治疗失败或死亡的事件。
治疗类型既包括初始阶段,也包括延续阶段 1。我们在表达式中加入的数据元素包括所属计划阶段的标识。这样,我们就可以合并和评估多个计划阶段的数据。
在程序指示符中,选项是通过其在选项集中的代码来识别的。在本例中,名称和代码是相同的,但如果你不熟悉元数据,通常最好检查一下你正在使用的选项的代码。

编辑表达式{ #edit-the-expression }¶
让我们回顾一下表达式

我们表达式中的数据元素标识为 {program stage.data element}。我们可以看到我们有相同的数据元素,但程序阶段 ID 不同。我们也可以在下面的绿色验证框中看到这一点。
测试程序指示器{ #test-the-program-indicator }¶
现在您已经创建了程序指标,最好测试一下它是否能正常运行。您可以将正确配置的指标与您创建的指标进行比较,以确保数值正确。为此,您可以导航到透视表应用程序。
导航至数据可视化应用程序{ #navigate-to-the-data-visualizer-app }¶
创建一个新的数据透视表,详细信息如下
- 数据:您制定的计划指标,计划指标 "住院 - 首次和继续住院
- 时期 :去年
- 组织单位 : 培训园地
点击更新,验证指标中的值是否相等。这将验证指标创建是否正确。

STOP - 执行练习 4{ #stop-perform-exercise-4 }¶
指标 5 - 体重变化{ #indicator-5-change-in-weight }¶
返回 "指标"->"程序指标",点击 "新建 "创建新指标

计划:结核病治疗卡
将指标概念化{ #conceptualize-the-indicator }¶
创建一个程序指标,计算初始诊断与治疗结束之间的体重差。只有在培养结果为阴性、治疗结果为治愈或完成的情况下才能计算。
编辑程序指示器详情{ #edit-the-program-indicator-details }¶
选择加号后,确保您正在使用的程序被选中。填写详细信息如下(用截图中的首字母替换)。请注意,在本例中您使用的是 "注册 "作为汇总类型。这种类型的计划指标使用整个注册人数的参数来计算指标,而不是在一个事件中计算。
我们希望该指标能即时计算,然后直接显示在跟踪捕获中。为此,请确保选中 "在表单中显示"。

编辑表达式{ #edit-the-expression }¶
从时间轴菜单中选择编辑表达式

在表述上,您需要计算治疗结束阶段与最初诊断阶段的体重差值。肺结核往往会导致额外的体重减轻,治疗后他们的体重有望恢复一些。

编辑过滤器{ #edit-the-filter }¶
从时间轴菜单中选择编辑过滤器

现在我们将创建标准,筛选出所需的事件(培养结果为阴性,治疗结果为治愈或完成)。
当我们使用选项集在过滤器中设置标准时,必须使用选项代码。选项代码可能与名称不同,我们必须使用程序中的可用数据元素设置三个标准:
- 培养结果 == "阴性(0 菌落)"且
- 治疗结果 == "治愈 "或 治疗结果 == "治疗完成
您可以像以前一样从右侧菜单中选择数据元素。在过滤框中,你会看到表达式中的 programuid.dataelementuid。在下面的绿色框中,你将看到以纯文本表示的表达式,这更容易解读。

注意**或**条件是如何包含在括号中的。这是确保过滤器正常运行所必需的。请注意,如果要将多个和/或条件组合在一起以创建特定的筛选条件,则需要使用括号。输入并解释过滤器后,保存指标。
测试程序指示器{ #test-the-program-indicator }¶
在这种情况下,请导航至跟踪器捕获,以测试程序指示器。如果您已经访问过该程序,请清除缓存。
选择任何拥有结核病治疗卡计划的机构。

继续注册新的 TEI。输入详细信息后,单击保存并继续。您可能需要选择距离当前日期大约 ~5-6 个月的报告日期,因为这是初始诊断和治疗阶段结束之间的平均差异。

在跟踪器仪表板中,你会看到一个指标空间以及时间轴数据输入。当筛选器符合之前设定的标准时,权重指标就会出现
- 培养结果 == "阴性(0 菌落)"且
- 治疗结果 == "治愈 "或 治疗结果 == "治疗完成

要开始操作,请在**初始诊断**阶段输入权重值

然后为治疗结束阶段添加一个事件

输入重量值,选择 ** 阴性 ** 作为 ** 培养结果**,选择 ** 已治愈 ** 或 ** 治疗已完成 ** 作为 ** 治疗结果**。
**请与会者注意,除非符合这些标准,否则不会出现体重指标。

STOP - 执行练习 5{ #stop-perform-exercise-5 }¶
创建综合指标{ #creating-combined-indicators }¶
指标 6:每 10 万人结核病发病率{ #indicator-6-tb-incidence-rate-per-100000 }¶
在制作了几个计划指标后,最好向与会者展示如何创建综合指标。这将在计划指标演示中进行简要讨论。在这里,我们可以使用计划指标,并将其与综合数据元素相结合,制作出所需的指标。我们可以通过使用常规指标应用程序来做到这一点。
将指标概念化{ #conceptualize-the-indicator }¶
我们要计算每 10 万人的结核病发病率。这等于
(肺结核新病例数/总人口)*100,000
如果我们细分一下
- 我们可以从肺结核治疗卡计划中获取新发肺结核病例数。我们需要创建一个计划指标来检索这一总数
- 人口总数是我们可能从人口普查或其他估算调查中导入到 DHIS2 的综合数据元素
- 我们将除以数值乘以 100,000 来计算发病率
审查计划指标{ #review-the-program-indicator }¶
作为本演示的一部分,已经创建了一个程序指标,即 TB 新案例。您可以快速查看其汇总类型、表达式和筛选器。

复习分母{ #review-the-denominator }¶
我们可以使用数据元素 "总人口 "作为分母。这个数据元素已经存在于我们的系统中,而且其中已经包含了数据。

查看指标类型{ #review-the-indicator-type }¶
我们想创建一个系数为 100 000 的指标。这在我们的系统中已经存在,我们可以在创建指标时使用它。

创建新指标{ #create-a-new-indicator }¶
导航至指标管理页面(维护 -> 指标),然后创建新指标。
添加指标的详细信息

下面是一个描述示例:
(新发肺结核病例数/总人口)*100,000。新发肺结核病例数取自 "肺结核治疗卡 "计划,而总人口则是根据最近的人口普查估计得出的。
编辑分子{ #edit-the-numerator }¶
我可以在指标管理页面选择程序指标作为来源。
选择
- 程式
- 结核病治疗卡
- 指标
- 结核病新病例指标
- 输入描述
- 保存

编辑分母{ #edit-the-denominator }¶
选择
- 数据元素
- 数据元素 "总人口
- 输入描述
- 保存
保存指示器后再继续{ #save-the-indicator-before-proceeding }¶
让其他人创建指标,然后让大家休息一下。在看到该指标的输出之前,您需要运行分析程序。
在数据可视化器中验证指标{ #verify-the-indicator-in-data-visualizer }¶
用输入内容创建一个数据透视表:
- 数据
- 肺结核新病例(来自肺结核治疗卡的计划指标)
- 总人口(数据元素)
- 每 10 万人肺结核发病率(您刚刚制定的指标)
- 时期 :去年
- 组织单位 : 培训园地

您可以手动验证计算结果是否正确!