教育工具包安装指南{ #education-toolkit-installation-guide }¶
order is always case-sensitive¶
软件包元数据 json 文件包含一个 "软件包 "组件,提供软件包版本和内容的技术细节。当前版本软件包中可用的文件如下。
安装¶
模块的安装包括以下几个步骤:
-
用 DHIS2 元数据准备元数据文件
-
将元数据文件导入 DHIS2
-
配置导入的元数据
-
导入后调整程序
在开始 DHIS2 的安装和配置过程之前,建议首先阅读安装指南的各个部分。根据导入类型确定适用的章节:
-
导入空白的 DHIS2 实例
-
将现有元数据导入 DHIS2 实例。
警告
本文件中概述的步骤应在测试/暂存 DHIS2 实例中进行测试,然后才能应用到生产环境中。
要求¶
安装模块需要 DHIS2 的管理员用户账户。
应格外注意确保服务器本身和 DHIS2 应用程序的安全,并应定义对所收集数据的访问权限。有关 DHIS2 系统安全的详细信息不在本文讨论范围之内,请参阅DHIS2 文档。
元数据文件{ #metadata-files }¶
尽管并非总是必要,但在将元数据文件导入DHIS2之前对其进行某些修改通常可能是有利的。
准备元数据文件¶
在导入元数据文件之前,需要对其进行一些更改。工作范围可能因软件包而异。
默认数据维度¶
在 DHIS2 早期版本中,默认数据维度的 UID 是自动生成的。因此,虽然所有 DHIS2 实例都有默认类别选项、数据元素类别、类别组合和类别选项组合,但这些默认值的 UID 可能不同。DHIS2 的后期版本对默认维度的 UID 进行了硬编码,这些 UID 在配置包中使用。
为避免导入元数据时发生冲突,建议搜索并替换整个 .json 文件中所有出现的这些默认对象,将 .json 文件中的 UID 替换为导入该文件的实例中的 UID。表 1 显示了应替换的 UID,以及用于识别现有 UID 的 API 端点
| UID \ | 串 | 应用程序接口端点 |
|---|---|---|
The status code will be 204 No Content if the data value was successfully saved or updated, or 409 Conflict if there was a validation error (e.g. more than one SHORT_NAME for the same locale). | GLevLNI9wkl | .../api/categories.json?filter=name:eq:default。 |
Send PUT request to api/dataElements/{dataElementUID} with full object payload as below: | xYerKDKCefk | .../api/categoryOptions.json?filter=name:eq:default。 |
| 类别组合 | bjDvmb4bfuf|.../api/categoryCombos.json?filter=name:eq:default`。 | |
| 类别选项组合 | HllvX50cXC0 | .../api/categoryOptionCombos.json?filter=name:eq:default`。 |
使用根组织单位 UID 进行可视化{ #visualizations-using-root-organisation-unit-uid }¶
分配给特定组织单位级别或组织单位组的可视化、事件报告、报告表和地图都有对根(第 1 级)组织单位的引用。此类对象(如果存在于元数据文件中)包含一个占位符 <OU_ROOT_UID>。使用 .json 文件编辑器中的搜索功能可以识别该占位符,并将其替换为目标实例中 1 级组织单位的 UID。
导入元数据¶
使用**导入/导出** DHIS2 应用程序导入元数据包。建议在尝试实际导入元数据之前使用 "模拟运行 "功能来发现问题。如果 "模拟运行 "报告有任何问题或冲突,请参阅下面的**导入冲突**部分。
如果 "模拟"/"验证 "导入无误,则尝试导入元数据。如果导入成功且无任何错误,则可以继续**配置**模块。在某些情况下,"模拟运行 "时不会显示导入冲突或问题,但在尝试实际导入时会显示。在这种情况下,导入摘要将列出需要解决的任何错误。
处理导入冲突¶
注
如果将软件包导入新的 DHIS2 实例,由于目标数据库中没有元数据,因此不会出现导入冲突。导入元数据后,进入"配置 "部分。
可能会发生多种冲突,但最常见的是配置包中的元数据对象的名称、简称和/或代码已经存在于目标数据库中。这些问题有几种不同的解决方案,各有利弊。例如,哪种方案更合适取决于发生冲突的对象类型。
备选方案1¶
重新命名 DHIS2 数据库中存在冲突的现有对象。这种方法的优点是无需修改 .json 文件,而是通过 DHIS2 的用户界面进行更改。这可能更不容易出错。这也意味着配置包保持原样,例如在发布包更新时,这可能是一个优势。在培训材料和文档中也经常引用原始软件包对象。
备选方案2¶
重命名.json文件中存在冲突的对象。这种方法的优点是现有的DHIS2元数据保持不变。当存在培训材料或文档(例如链接到所讨论对象的数据字典的SOP)时,这可能是一个因素,并且不存在通过修改用户熟悉的元数据而使用户感到困惑的风险。
提示
请注意,对于备选方案 1 和 2,修改可以很简单,只需在名称前/后加一个小缀,以尽量减少混淆的风险。
备选3¶
第三种也是更复杂的方法是修改.json文件以重新使用现有的元数据。例如,在某个概念的某个选项集已经存在的情况下(例如“性别”),可以从.json文件中删除该选项集,并且对其UID的所有引用都将替换为数据库中已经存在的相应选项集。这样做的最大优点(不限于直接导入冲突的情况)是避免在数据库中创建重复的元数据。执行这种类型的修改时,需要考虑一些关键因素:
-
它要求专家了解 DHIS2 的详细元数据结构
-
这种方法并不适用于所有类型的对象。特别是,某些类型的对象具有依赖关系,用这种方法解决起来比较复杂,例如与分类有关的依赖关系。
-
今后对配置包的更新将变得复杂。
组态¶
成功导入所有元数据后,需要执行一些步骤,模块才能正常运行。
分享中¶
首先,您必须使用 DHIS2 的*共享*功能来配置哪些用户(用户组)应查看与程序相关的元数据和数据,以及谁可以在程序中注册/输入数据。默认情况下,共享配置如下:
- 仪表板
- 可视化、地图、事件报告和报告表格
- 数据集
- 表格对象类型和关键字
有关共享的更多信息,请参阅 DHIS2 文档。
软件包包括三个核心用户组:
- EMIS 访问(查看元数据/查看数据)
- 教育管理信息系统管理员(查看和编辑元数据/无法访问数据)
- EMIS 数据采集 - (查看元数据/采集和查看数据)
用户会根据其在系统中的角色被分配到相应的用户组。软件包中其他对象的共享可根据设置进行调整。更多信息,请参阅 DHIS2 有关共享的文档。
用户角色¶
用户将需要用户角色才能参与DHIS2中的各种应用程序。建议以下最低角色:
-
数据分析 - 可查看事件分析并访问仪表板、事件报告、事件可视化器、数据可视化器、数据透视表、报告和地图。
-
数据捕获 - 可添加数据值、更新跟踪实体、跨组织单位搜索跟踪实体以及访问跟踪器捕获
有关配置用户角色的更多信息,请参阅 DHIS2 文档。
组织单位分配{ #organisation-unit-assignment }¶
数据集必须分配给现有层次结构中的组织单位,以便通过捕获应用程序进行访问。
指标映射{ #indicator-mapping }¶
仅实施*仪表盘软件包*时,必须使用现有实例中的元数据对象配置指标分子和分母。配置信息可在文档和元数据文件中的分子和分母说明中获取。
重复的元数据¶
注意事项
本节仅适用于导入已有元数据的 DHIS2 数据库。如果您使用的是一个新的/空白的 DHIS2 实例,请跳过本节,转到调整工具包。如果您正在使用任何依赖于当前元数据的第三方应用程序,请考虑到此更新可能会破坏它们"。
即使成功导入了元数据而没有任何导入冲突,元数据中也可能存在重复项-数据元素,跟踪的实体属性或已存在的选项集。正如上面有关解决冲突的部分所述,要牢记的一个重要问题是,在DHIS2中更改元数据的决定还需要考虑与现有元数据有不同关联的其他文档和资源。 ,以及通过配置包导入的元数据。因此,解决重复项不仅是“清理数据库”的问题,而且还要确保做到这一点,例如,不破坏与其他系统的集成,使用培训材料的可能性,破坏SOP等。这将非常很大程度上取决于上下文。
需要牢记的重要一点是,DHIS2 有一些工具可以隐藏元数据中潜在重复的一些复杂问题。例如,在存在重复选项集的情况下,可以通过共享为用户组隐藏这些选项集。
调整工具包{ #adapting-the-ETK-toolkit }¶
导入工具包后,您可能需要对程序进行某些修改。可以***的本地改编例子包括:
-
向表单添加其他变量。
-
根据国家惯例修改数据元素/选项名称。
-
向变量和/或数据输入表单添加翻译。
-
根据当地案例定义修改指标
但是,如果您决定更改或删除任何包含的表格/元数据,强烈建议格外小心。修改可能会破坏功能,例如程序规则和程序指示器。
删除元数据{ #removing-metadata }¶
为了保持实例清洁并避免出错,建议您删除实例中不必要的元数据。删除不必要的元数据需要 DHIS2 的高级知识和各种依赖关系。