Covid-19 电子免疫登记系统 - 追踪器安装指南{ #cvc-eir-installation }¶
本文件包括更新的 COVAC 电子免疫登记跟踪器软件包的安装指南,以及根据跟踪器数据进行日常报告的补充汇总模块。
系统默认语言:系统默认语言:英语
可用翻译:法语、西班牙语、葡萄牙语
安装¶
模块的安装包括以下几个步骤:
- [使用 DHIS2 元数据准备元数据文件](#preparing-the-metadata-file)。
- [将元数据文件导入 DHIS2](#importing-metadata)。
- 配置导入的元数据。
- 导入后调整程序
在开始 DHIS2 的安装和配置过程之前,建议首先阅读安装指南的各个部分。根据导入类型确定适用的章节:
- 导入空白的 DHIS2 实例
- 导入具有现有元数据的 DHIS2 实例。
本文件中概述的步骤应在测试/暂存 DHIS2 实例中进行测试,然后才应用于生产环境。
要求¶
安装模块需要 DHIS2 的管理员用户账户。
应格外注意确保服务器本身和 DHIS2 应用程序的安全,并应定义对所收集数据的访问权限。有关 DHIS2 系统安全的详细信息不在本文讨论范围之内,请参阅DHIS2 文档。
元数据文件{ #metadata-files }¶
尽管并非总是必要,但在将元数据文件导入DHIS2之前对其进行某些修改通常可能是有利的。
Covid-19 电子免疫登记跟踪器软件包包括三个元数据文件。每个文件的内容和用途如下:
| 软件包标识符 | 目录 | 目的 |
|---|---|---|
| CVC_EIR-TRK-Electronic_Immunization_Registry_Covid19_Vaccines | 更新跟踪器软件包, 用于从跟踪器到总体的自动传输的总体数据集, 基于总体指标值的仪表板 | 新实施 |
| CVC_EIR-AGG-Electronic_Immunization_Registry_Covid19_Vaccines | 自动跟踪器到汇总传输的汇总数据集, 基于汇总指标值的仪表板 | 更新现有的跟踪器实施, 设置跟踪器到汇总表的传输, 使用每日汇总仪表板 |
| CVC_EIR-PI-Electronic_Immunization_Registry_Covid19_Vaccines | 13 个更新的计划指标来自原始数据包。 PI 与每日汇总数据集中的汇总数据元素和类别选项组合进行了映射 | 更新现有实施 |
注
该数据包不是用于从跟踪器到汇总数据传输的现成工具。 元数据包的结构和建议的元数据映射允许实施者在现有工具和指导的基础上建立数据传输。更多信息请参阅跟踪器到汇总数据传输文件。
准备元数据文件¶
数据传输映射指南{ #mapping-guide-for-data-transfer }¶
可用于从跟踪器到汇总数据传输的 13 个计划指标被映射到汇总数据集的相应数据元素和类别选项组合中。
示例
计划指标 接受第一剂治疗的人数(女性,0-59 岁)
RJ6pdxga9Od映射到数据元素 COVAC-接受第一剂治疗的人数RjT7dmzunF4的类别选项组合 女性,0-59 岁FsZSFGKirY0。
映射以元数据对象的代码为基础。
用于导出汇总数据的自定义属性 数据元素 vudyDP7jUy5 包含汇总数据元素的参考代码,例如 CVC_EIR_AGG_PPL_1ST_DOSE。
用于汇总导出的**类别选项组合**字段包含类别选项组合的参考代码,如**CVC_EIR_0059Y_F**。
建议根据以下 GET 和 POST API 请求传输跟踪器到汇总值:
- 源请求:
.../api/analytics/dataValueSet.json?dimension=dx:"{program indicator uid/s}"&dimension=pe:"{relative period/s}"&dimension=ou:{organisation unit level}&outputIdScheme=ATTRIBUTE:{"自定义属性:vudyDP7jUy5"}。 - 目标请求:
..api/dataValueSets?dataElementIdScheme=CODE&categoryOptionComboIdScheme=CODE&importStrategy=CREATE_AND_UPDATE&mmergeMode=REPLACE&dryRun=false`。
计划指标¶
汇总数据值所需的计划指标包含在计划指标组中 COVAC - 跟踪器汇总 NXBR4r6MwAO
| 计划指标 | 用户标识 | 码 | 出口骨料的 DE | 骨料出口许可证 |
|---|---|---|---|---|
| 接受第一剂治疗的人数(女性 0-59 岁) | RJ6pdxga9Od | CVC_EIR_PPL_1ST_DOSE_0059Y_F | cvc_eir_agg_ppl_1st_dose | 0059Y_F |
| 接受首剂治疗的人数(60 岁以上女性) | x4L0LuEBHhW | CVC_EIR_PPL_1ST_DOSE_60PLUSY_F | cvc_eir_agg_ppl_1st_dose | 60PLUSY_F |
| 接受第一剂治疗的人数(男性 0-59 人) | hqm8znlAzkT | CVC_EIR_PPL_1ST_DOSE_0059Y_M | cvc_eir_agg_ppl_1st_dose | 0059Y_M |
| 接受首剂治疗的人数(60 岁以上男性) | aIIHyDy8AMW` | CVC_EIR_PPL_1ST_DOSE_60PLUSY_M | cvc_eir_agg_ppl_1st_dose | 60PLUSY_M |
| 接受第二、第三或加强剂量的人数(女性,0-59 岁) | xY4T9hHXNji | CVC_EIR_PPL_2ND_DOSE_0059Y_F | cvc_eir_agg_ppl_2nd_dose | 0059Y_F |
| 接受第二、第三或加强剂量的人数(60 岁以上女性) | h9G7i6mQKef | CVC_EIR_PPL_2ND_DOSE_60PLUSY_F | cvc_eir_agg_ppl_2nd_dose | 60PLUSY_F |
| 接受第二、第三或加强剂量的人数(男性 0-59) | MGjwUUNsE60 | CVC_EIR_PPL_2ND_DOSE_0059Y_M | cvc_eir_agg_ppl_2nd_dose | 0059Y_M |
| 接受第二、第三或加强剂量的人数(60 岁以上男性) | qh0kIjHZbP8 | CVC_EIR_PPL_2ND_DOSE_60PLUSY_M | cvc_eir_agg_ppl_2nd_dose | 60PLUSY_M |
| 接种了相应疫苗产品最后一次推荐剂量的人数(女性 0-59 人) | Zp39TSOR8eW | CVC_EIR_PPL_LAST_DOSE_0059Y_F | cvc_eir_agg_ppl_last_dose | 0059Y_F |
| 接种了相应疫苗产品最后一次推荐剂量的人数(60 岁以上女性) | XFUvVgqPukT | cvc_eir_ppl_last_dose_60plusy_f | cvc_eir_agg_ppl_last_dose | 60PLUSY_F |
| 接种了相应疫苗产品最后一次推荐剂量的人数(男性 0-59 人) | FZNIlzPRMmL | CVC_EIR_PPL_LAST_DOSE_0059Y_M | cvc_eir_agg_ppl_last_dose | 0059Y_M |
| 接种了相应疫苗产品最后一次推荐剂量的人数(60 岁以上男性) | zovL7DKBRuK | cvc_eir_ppl_last_dose_60plusy_m | cvc_eir_agg_ppl_last_dose | 60PLUSY_M |
| 基本情况 - 患有以下疾病的人 | Zn0UuSRYyJw | cvc_eir_ppl_under_conditions | cvc_eir_agg_ppl_under_conditions | 默认值 |
这些计划指标是原始软件包的一部分,但由于增加了映射,因此需要更新。
注
如果系统中的原始程序指示符在本地调整过程中进行了修改,请注意一旦导入更新的程序指示符集,所有修改都将被覆盖。 如果您修改过的任何程序指标与上表所列程序指标的 UID 相同,请确保在导入前复制修改过的程序指标。
默认数据维度¶
在 DHIS2 早期版本中,默认数据维度的 UID 是自动生成的。因此,虽然所有 DHIS2 实例都有默认类别选项、数据元素类别、类别组合和类别选项组合,但这些默认值的 UID 可能不同。DHIS2 的后期版本对默认维度的 UID 进行了硬编码,这些 UID 在配置包中使用。
为避免导入元数据时发生冲突,建议搜索并替换整个 .json 文件中所有出现的这些默认对象,将 .json 文件中的 UID 替换为导入该文件的实例中的 UID。表 1 显示了应替换的 UID,以及用于识别现有 UID 的 API 端点
| 目的 | 用户标识 | 应用程序接口端点 |
|---|---|---|
| 类别 | GLevLNI9wkl | .../api/categories.json?filter=name:eq:default。 |
| 类别选项 | xYerKDKCefk | .../api/categoryOptions.json?filter=name:eq:default。 |
| 不 | bjDvmb4bfuf|.../api/categoryCombos.json?filter=name:eq:default`。 | |
| 类别选项组合 | HllvX50cXC0 | .../api/categoryOptionCombos.json?filter=name:eq:default`。 |
使用列出的 API 请求识别实例中默认 dimesions 的 UID,并用实例中的 UID 替换 json 文件中的 UID。
注
请注意,必须使用纯文本编辑器,而不是 Microsoft Word 等文字处理程序来执行搜索和替换操作。
指标类型¶
指标类型是另一种可能造成导入冲突的对象类型,因为某些名称在不同的 DHIS2 数据库中 使用(如 "百分比")。由于指标类型由其因子(包括 "仅分子 "指标的 1)定义,因此它们是明确的,可通过搜索和替换 UID 来替换。这种方法有助于避免潜在的导入冲突,并防止实施者创建重复的指标类型。下表包含可替换的 UID,以及用于识别现有 UID 的 API 端点:
| 目的 | 用户标识 | 应用程序接口端点 |
|---|---|---|
| 仅分母(数字) | CqNPn5KzksS | .../api/indicatorTypes.json?filter=number:eq:true&filter=factor:eq:1`。 |
追踪实体类型¶
与指标类型一样,您的 DHIS2 数据库中可能已有跟踪实体类型。应更改对跟踪实体类型的引用,以反映系统中的情况,从而避免产生重复。下表包含可替换的 UID,以及用于识别现有 UID 的 API 端点:
| 目的 | 用户标识 | 应用程序接口端点 |
|---|---|---|
| 个人 | MCPQUTHX1Ze | .../api/trackedEntityTypes.json?filter=name:eq:Person`。 |
使用根组织单位 UID 进行可视化{ #visualizations-using-root-organisation-unit-uid }¶
分配给特定组织单位级别或组织单位组的可视化、事件报告、报告表和地图都有一个对根(第 1 级)组织单位的引用。此类对象(如果存在于元数据文件中)包含一个占位符 <OU_ROOT_UID>。使用 .json 文件编辑器中的搜索功能可以识别该占位符,并将其替换为目标实例中 1 级组织单位的 UID。
选项代码{ #option-codes }¶
根据 DHIS2 命名规则,元数据代码使用大写字母、下划线和空格。一些可能出现的例外情况在相应的软件包文档中有所说明。 当前版本软件包的元数据对象中包含的所有代码都经过了调整,以符合命名约定。软件包早期版本中使用的代码可能使用小写字符。如果现有实现中的数据值包含小写代码,则必须直接在数据库中更新这些值。
下表列出了元数据包中代码改为大写的所有选项集。在将元数据导入实例之前,请检查现有系统中的选项集是否与软件包 .json 中的选项集一致,并使用相同的大写选项代码。
| 选项集名称 | 选项集 UID |
|---|---|
| COVAC - 妊娠 AEFI | ilxtWultuYP |
| COVAC - 职业 | CNNH0YKxRh9 |
| COVAC - 学期 | kgDmgTYZICP |
| COVAC 疫苗品牌 | UJTnyCB3cyk |
| COVAC - 疫苗制造商 | DtOGtoLbaB5 |
| COVAC - 疫苗名称 | VQo3HkUlMHc |
| 性别 | WDUwjiW2rGH |
| 是/否/未知 | L6eMZDJkCwX |
下表包含使用受影响选项集的元数据元素:
| 元数据对象 | 名称 | 用户标识 |
|---|---|---|
| 数据元素 | COVAC - 妊娠 | BfNZcj99yz4 |
| 数据元素 | COVAC - 妊娠期 | CBAs12YL4g7 |
| 数据元素 | COVAC - 曾感染 COVID | LOU9t0aR0z7 |
| 数据元素 | COVAC - 基本条件 | bCtWZGjSWM8 |
| 数据元素 | COVAC - 疫苗品牌 | rWYryQb3ohn |
| 数据元素 | COVAC - 疫苗生产商 | rpkH9ZPGJcX |
| 数据元素 | COVAC - 疫苗名称 | bbnyNYD1wgS |
| 跟踪实体属性 | COVID - 职业 | LY2bDXpNvS7 |
| 跟踪实体属性 | 性别 | oindugucx72 |
重要**
在导入过程中,现有的选项代码将被更新的大写代码覆盖。 为了更新数据库中现有数据的数据值,必须使用数据库命令更新数据库中存储的值。 在替换值之前,请确保映射现有的旧选项代码和新选项代码。先使用暂存实例,然后再在生产服务器上进行调整。
对于数据元素值,请使用
``SQL
UPDATE programstageinstance
SET eventdatavalues = jsonb_set(eventdatavalues,'{"<affected data element uid>", "value"}', '"<new value>"')
WHERE eventdatavalues @> '{"<affected data element uid>":{"value":"<old value>"}}'::jsonb
AND programstageid=<database_programsatgeid> ;
```
对于跟踪的实体属性值,请使用
``SQL
UPDATE trackedentityattributevalue
SET value =<new value>
WHERE trackedentityattributeid=<affected trackedentityattribute database_id> AND value=<old value> ;
```
示例
要将程序阶段中id=1510410385(示例 id)的现有数据值(数据元素 COVAC - 曾感染 COVID
LOU9t0aR0z7)的选项代码 "yes "替换为 "YES",命令配置如下:``SQL UPDATE programstageinstance SET eventdatavalues = jsonb_set(eventdatavalues,'{"LOU9t0aR0z7", "value"}','"YES"') WHERE eventdatavalues @> '{"LOU9t0aR0z7":{"value":"yes"}}'::jsonb AND programstageid=1510410385; ```
选项代码还用于程序规则表达式、程序指示器等。如果要更新系统中的代码选项,请确保更新了所有受影响的元数据对象中的代码。
选项的排序顺序{ #sort-order-for-options }¶
检查系统中选项的排序顺序 sortOrder 是否与元数据包中选项的排序顺序一致。这仅适用于 json 文件和目标实例包含相同 UID 的选项和选项集时。
导入后,确保选项集中选项的排序顺序从 1 开始,排序顺序值中不应有间隙(如 1、2、3、5、6)。
排序顺序可在维护应用程序中调整。
- 转到适用的选项集
- 打开 "选项 "部分
- 使用 "按名称排序"、"按代码/数值排序 "或 "手动排序"。
导入元数据¶
使用 Import/Export DHIS2 应用程序导入元数据包。建议在尝试实际导入元数据之前使用 "模拟运行 "功能来发现问题。如果 "模拟运行 "报告了任何问题或冲突,请参阅下面的[导入冲突](#处理-导入-冲突)部分。如果 "试运行"/"验证 "导入无误,请尝试导入元数据。如果导入成功且无任何错误,则可以继续配置 模块。在某些情况下,"模拟运行 "时不会显示导入冲突或问题,但在尝试实际导入时会显示。在这种情况下,导入摘要将列出需要解决的任何错误。
处理导入冲突¶
注
如果将软件包导入新的 DHIS2 实例,由于目标数据库中没有元数据,因此不会出现导入冲突。导入元数据后,进入"配置 "部分。
可能会发生多种冲突,但最常见的是配置包中的元数据对象的名称、简称和/或代码已经存在于目标数据库中。这些问题有几种不同的解决方案,各有利弊。例如,哪种方案更合适取决于发生冲突的对象类型。
备选方案1¶
重命名 DHIS2 数据库中存在冲突的现有对象。这种方法的优点是无需修改 .json 文件,而是通过 DHIS2 的用户界面进行更改。这可能更不容易出错。这也意味着配置包保持原样,例如在发布包更新时,这可能是一个优势。在培训材料和文档中也经常引用原始软件包对象。
备选方案2¶
重命名.json文件中存在冲突的对象。这种方法的优点是现有的DHIS2元数据保持不变。当存在培训材料或文档(例如链接到所讨论对象的数据字典的SOP)时,这可能是一个因素,并且不存在通过修改用户熟悉的元数据而使用户感到困惑的风险。
请注意,对于备选项1和2,修改可以简单到在名称中添加一个小的前缀/后缀,以最大程度地减少混乱的风险。
备选3¶
第三种也是更复杂的方法是修改.json文件以重新使用现有的元数据。例如,在某个概念的某个选项集已经存在的情况下(例如“性别”),可以从.json文件中删除该选项集,并且对其UID的所有引用都将替换为数据库中已经存在的相应选项集。这样做的最大优点(不限于直接导入冲突的情况)是避免在数据库中创建重复的元数据。执行这种类型的修改时,需要考虑一些关键因素:
- 它需要有关DHIS2详细元数据结构的专业知识
- 该方法不适用于所有类型的对象。特别地,某些类型的对象具有依赖关系,这种依赖关系以这种方式难以解决,例如与分解有关。
- 将来对配置包的更新将很复杂。
组态¶
成功导入所有元数据后,需要执行一些步骤,模块才能正常运行。
分享中¶
首先,您必须使用 DHIS2 的*共享*功能来配置哪些用户(用户组)应查看与程序相关的元数据和数据,以及谁可以在程序中注册/输入数据。默认情况下,共享配置如下:
- 追踪实体类型
- 程序
- 计划阶段
- 仪表板
- 可视化、地图、事件报告和报告表格
- 数据集
- 表格对象类型和关键字
有关共享的更多信息,请参阅 DHIS2 文档。
软件包包括四个核心用户组:
- COVAC - COVID-19 免疫数据分析
- COVAC - COVID-19 免疫接种数据管理
- COVAC - COVID-19 免疫数据录入
- COVAC - COVID-19 免疫元数据管理
默认情况下,会为这些用户组分配以下权限:
| 目的 | 用户组 | |||
|---|---|---|---|---|
| COVAC - COVID-19 免疫数据分析_ | COVAC - COVID-19 免疫接种数据管理 | COVAC - COVID-19 免疫数据输入 | COVAC - COVID-19 免疫元数据管理_ | |
| 跟踪实体类型 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可采集和查看 | 元数据:可编辑和查看 数据:可查看 |
| 程序 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可采集和查看 | 元数据:可编辑和查看 数据:可查看 |
| 计划阶段_ | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可采集和查看 | 元数据:可编辑和查看 数据:可查看 |
| 仪表盘 | 元数据:可查看 | 元数据:可查看 | 无访问权限 | 元数据:可编辑和查看 |
| 数据集 | 元数据:可查看 数据:可查看 | 元数据:可查看 数据:可采集和查看 | 无访问权限 | 元数据:可编辑和查看 数据:无法访问 |
用户会根据其在系统中的角色被分配到相应的用户组。软件包中其他对象的共享可能会根据设置进行调整。更多信息请参阅 DHIS2 共享文档。
用户角色{ #user-roles }¶
用户将需要用户角色才能参与DHIS2中的各种应用程序。建议以下最低角色:
- 跟踪器数据分析:可以查看事件分析并访问仪表板,事件报告,事件可视化器,数据可视化器,数据透视表,报告和地图。
- 跟踪器数据捕获:可以添加数据值,更新跟踪的实体,跨组织单位搜索跟踪的实体以及访问跟踪器捕获
有关配置用户角色的更多信息,请参阅 DHIS2 文档。
组织单位{ #organisation-units }¶
程序和数据集必须分配给现有层级中的组织单位,以便通过跟踪捕获/捕获应用程序进行访问。
重复的元数据¶
注
本节仅适用于导入已有元数据的 DHIS2 数据库。如果您使用的是新的 DHIS2 实例,请跳过本节,转到调整跟踪程序。 如果您正在使用任何依赖于当前元数据的第三方应用程序,请考虑到此次更新可能会破坏它们。
即使成功导入了元数据而没有任何导入冲突,元数据中也可能存在重复项-数据元素,跟踪的实体属性或已存在的选项集。正如上面有关解决冲突的部分所述,要牢记的一个重要问题是,在DHIS2中更改元数据的决定还需要考虑与现有元数据有不同关联的其他文档和资源。 ,以及通过配置包导入的元数据。因此,解决重复项不仅是“清理数据库”的问题,而且还要确保做到这一点,例如,不破坏与其他系统的集成,使用培训材料的可能性,破坏SOP等。这将非常很大程度上取决于上下文。
需要牢记的重要一点是,DHIS2 有一些工具可以隐藏元数据中潜在重复的一些复杂问题。例如,如果存在重复的选项集,可以通过[共享](#sharing)为用户组隐藏这些选项集。
调整计划{ #adapting-the-program }¶
程序导入后,您可能需要对程序进行某些修改。可以**的本地改编例子包括:
- 向表单添加其他变量。
- 根据国家惯例修改数据元素/选项名称。
- 向变量和/或数据输入表单添加翻译。
- 根据本地案例定义修改程序指标
但是,如果您决定更改或删除任何包含的表格/元数据,强烈建议格外小心。修改可能会破坏功能,例如程序规则和程序指示器。
删除元数据{ #removing-metadata }¶
为了保持实例整洁并避免出错,建议删除实例中不必要的元数据。
原始仪表板 COVAC - COVID-19 疫苗注册表 YtAbckt77l 已从更新软件包中删除,由新仪表板取代:COVAC - 日常监控 `iBWlFCvvtkH
要从系统中删除旧的仪表板,您需要
- 注意仪表板中所有对象的名称/UID。
- 从仪表板中删除所有仪表板项目并保存。
- 删除仪表板。
- 删除原始仪表盘中的所有可视化内容、地图、事件报告和报告表。
注
可以使用 SQL 命令直接从数据库中删除仪表板、仪表板项和所有相关的可视化、地图和报告。