跳转至
For the complete DHIS2 documentation index, see llms.txt.

DHIS2配置以使用Android App

DHIS2 Android 采集应用项目完全由元数据驱动。这意味着应用项目中的项目、数据集、表单、用户访问甚至许多用户界面元素都取决于服务器的配置方式。DHIS2 服务器上适当的元数据和访问配置将确保用户根据其分配的角色和组织单位看到适当的功能。

本节概述了如何为使用 Android 准备 DHIS2 实例,并指出了相关的配置工具和文档资源。为了完整和成功地实施,请阅读详细和更新的 documentation,以获得有关配置 DHIS 2 服务器以与 DHIS 2 Android Capture App 配合使用的所有信息。

用户设置

为确保 Android 采集应用项目为现场用户正常运行,不仅要准备元数据,还要准备用户角色、访问范围和项目配置。本节将介绍配置用户和控制他们在应用项目中查看和操作的基本步骤。

安卓用户需要通过有效凭证和指定角色访问应用项目。与安卓系统兼容的用户应具有专门的用户角色、指定的组织单位以及至少一个项目或数据集的访问权限。

DHIS2 不需要特殊的用户类型来访问安卓系统--标准用户可以进行身份验证,只要授予他们正确的权限,并与他们适当共享元数据即可。

为简化大型部署的设置,可考虑为 Android 用户定义用户组,并通过这些组分配角色和共享访问权限。

1.创建用户角色{ #implementation_guide_dhis2_config_creating_user_role }

在创建用户之前,首先需要定义DHIS 2用户角色。 DHIS 2 Android Capture App不需要封装在用户角色中的任何权限。 DHIS 2程序或数据集的安全性设置为程序或数据集数据访问。

为了解决用户的Web调试问题,建议您创建并分配具有数据捕获功能的用户角色,该角色应包括:

  • 跟踪器捕获应用程序,事件捕获应用程序和/或数据输入应用程序
  • 仪表板(能够登录)
  • 缓存清理器(您将需要清理缓存)

角色应简单明了并针对具体任务。除非必要,避免分配全局管理权限,并在推出前在暂存服务器上测试角色。

当用户输入 TEI 时,即使没有分配给他们特定的权限,他们也可以删除 TEI 和注册信息。这样做的目的是允许用户在输入错误数据(TEI 和/或注册)时进行回滚,从而防止数据到达服务器,并需要另一个具有更高权限的用户来解决问题。

2.创建用户{ #implementation_guide_dhis2_config_creating_user_user }

其次,您应该创建一个用户,为此,您需要添加一些基本详细信息,例如用户名并为其分配角色。

  • 用户名:name.android
  • 示例:belen.android
  • 用户角色分配:分配给您在第一步中创建的角色。

3.分配组织单位{ #implementation_guide_dhis2_config_creating_user_assign }

第三步是将组织单位分配给刚创建的用户。

有三种类型的组织单位分配:

  • 数据捕获: 数据集以及 TEI、注册和活动的项目创建。首次登录时在应用项目中预下载的数据将属于这些组织单位的数据。
    • 预计移动用户不会访问该组织。整个国家的单位等级。组织单位的最大数量很难设置,因为应用项目没有设置限制,而是设备上的资源(内存,处理器)。我们可以说低于 250 个组织单位应该是安全的,但仍然认为这对于移动用例来说是一个非常大的数字。
  • **数据输出:**用于数据分析。不适用于Android。
  • 搜索组织单位单位: 将 TEI 搜索(在线时)扩展到更多的组织单位。单个记录可下载供离线使用。
    • 在配置搜索组织单位时,请确保您的捕获组织单位包含在搜索组织单位中,为此必须同时选择捕获组织单位和搜索组织单位。

视觉配置:了解什么渲染以及为什么

表格布局{ #form-layout }

DHIS2 Android 采集应用项目根据指定项目和数据集的结构显示数据输入屏幕。每个计划阶段(事件)或数据集都显示为一个表单,表单的布局可包括元数据中定义的部分。该项目不支持自定义 HTML 表单,但完全支持基于章节的布局和项目规则(跟踪器和事件项目)的动态行为。

自定义 - 颜色和图标{ #customizations-colors-and-icons }

Android 采集应用项目通过使用图标和颜色支持广泛的可视化自定义。这些元素可在视觉上区分并快速识别项目和表单元素,从而提高可用性。

管理员可以为各种元数据对象指定图标和颜色,包括项目、项目阶段、跟踪实体类型、数据集、数据元素、属性和选项集。这些图标会出现在整个应用项目中,包括主屏幕、数据输入表单、仪表盘和过滤器,以改善导航和理解能力。

内置和自定义图标{ #built-in-and-custom-icons }

DHIS2 实例中的图标库有四百多张图片。从最近的版本开始,管理员还可以直接通过 DHIS2 上传自己的自定义图标(如 .png 或 .jpeg)。虽然这增加了灵活性,但也带来了一些折衷,如更大的元数据有效载荷和潜在的同步延迟。

出于性能方面的考虑,建议将自定义图标的大小保持在较小的范围内(50KB 以下),并仅在可增加明确价值的情况下使用(例如,自定义活动品牌或高度特定的可视化代码)。

元数据分配

以下元数据类型支持 Android 中的颜色和图标分配: * 跟踪实体类型 * 计划和计划阶段 * 数据集 * 数据元素和属性 * 指标和计划指标 * 选项集和选项

各节的渲染模式{ #rendering-modes-for-sections }

对于带有分区的项目阶段,Android 支持三种呈现模式,它们决定了分区内的字段或选项在视觉上的排列方式:

  • 列表:元素以平面列表形式显示。

  • 顺序:通常是指字段或选项在垂直列表中一个接一个地显示,引导用户一步步完成表单。

  • 矩阵:以网格或类似表格的格式排列字段或选项,使视图更加紧凑和具有可比性,这对以行和列形式显示的数据非常有用。

这些都可以在项目阶段设置中使用移动呈现类型字段进行配置。实施者应选择最符合其表单复杂性和流程的呈现模式,同时兼顾清晰度和数据输入速度。

如截图所示,系统管理员可通过设置移动呈现类型,决定呈现各项目阶段部分信息的最佳方式。

通过安卓设置进行高级行为配置{ #advanced-behavior-configuration-via-android-settings }

除了表单布局和视觉效果外,安卓设置网络应用项目(ASWA)还允许您控制应用项目在不同环境和用户角色下的行为方式。这些设置可根据现场实际情况、用户能力和计划复杂程度进行调整。我们鼓励实施者查看这些选项,并根据其工作流程的具体需求加以应用。

一些最具影响力的可配置功能包括

  • 同步限制和频率: 定义同步数据(TEI、事件、数据集)的数量和频率,确保在带宽受限的环境中发挥性能。

  • ** 地图精度阈值:** 控制捕捉坐标前所需的 GPS 精度,这对于移动外联、活动现场制图或物流等用例至关重要。

  • 启用/禁用特定操作: 限制推荐、手动地理定位或仪表板小部件等功能,减少杂乱或执行 SOP。

  • ** 展开/折叠表单部分:** 改进导航功能,尤其是在长条表单中。用户可以一次只关注一个部分,最大限度地减少错误。

  • 仪表板中的快速操作: 可直接从仪表板启用事件创建或 TEI 导航等常用活动的快捷方式。

  • 过滤器: 预定义要在整个应用项目中显示的过滤器。

  • 本地分析: 允许用户根据其设备上的数据查看指标、图表或摘要,支持在断开连接的情况下进行反馈和决策。

有关详细信息,请参阅 Android 设置配置指南

计划规则和指标{ #implementation_guide_dhis2_config_setting_pr }

设置项目规则{ #setting-up-program-rules }

项目规则允许您在 Android 应用项目中嵌入实时逻辑,即使在离线状态下也是如此。它们能自动执行数据验证、默认值、条件显示和其他动态行为,从而大大提高数据质量和用户体验。

主要考虑因素:

  • 规则上下文和优先级: 每条规则都是为特定项目(可选阶段)定义的,并按优先级升序执行。这确保了行为的确定性,尤其是当规则依赖于其他规则的输出时。
  • 变量和表达式的使用: 你可以将规则建立在属性或数据元素值以及内置变量(如 eventDate、orgUnit 或相对日期函数)的基础上。请务必定义您引用的任何自定义变量。

我们建议在配置项目规则的同时测试安卓应用项目,以确保服务器中的更改在应用项目中得到正确反映并正常运行。

配置项目规则的步骤

  1. 定义执行规则的上下文和优先级。

  1. 编写项目规则表达式。管理员必须定义变量,以便能够评估为 TEI 属性或项目阶段数据元素输入的信息。

  1. 定义当项目规则表达式为真时要执行的一个或多个操作

在设置项目规则时,您应了解 DHIS 2 Android 应用项目支持哪些规则。您可以在 用户指南 中查看最新列表。

定义程序指标和图例

项目指标用于 Android Capture App,根据项目事件或数据集中的值显示实时计算结果。这些指标通过显示有意义的摘要,帮助用户解释正在收集的数据。

要在 Android 应用项目中显示项目指示器(事件或跟踪器),请确保在指示器配置中启用了 "在表单中显示 "选项。

要在数据集中显示指标,请确保在维护应用项目的数据集配置过程中分配了指标。

  • 使用图例进行视觉反馈 *

通过图例集,您可以将颜色应用到数字范围,从而轻松地以可视化方式标记关键值,例如:"......":

  • 风险阈值
  • 库存水平
  • 调查得分

安卓系统在以下方面支持图例:

  • 计划指标(在跟踪和活动计划中)
  • 数据元素(在事件项目和数据集中)

您可以在 DHIS2 服务器的 "维护">"其他">"图例 "中创建图例集,然后将其分配给计划指标或数据元素。在应用项目中,图例会以背景颜色变化或状态指示器的形式出现在表单中,为用户提供直接的视觉提示。

您可以在 用户指南 中查看使用项目指示器时支持哪些功能的最新信息。

保留ID

在许多跟踪项目中,当注册一个新的跟踪实体实例(TEI)时,必须生成一个唯一的标识符,如病例 ID、病人编号或凭证代码。DHIS2 使用跟踪实体属性(TEA)的生成值来支持这一点,TEA 遵循服务器管理的预定义模式(如 ANC-#####)。

由于现场用户经常离线工作,Android 应用项目在同步过程中会从服务器下载预加载的保留 ID 池。然后,即使没有连接,也能在本地分配这些 ID。

通过安卓设置网络应用项目 (ASWA) 可以配置为每种被跟踪实体类型预留的 ID 数量。该设置对于确保在低连接性环境下顺利运行至关重要。如果未配置 ASWA,则默认预留 ID 数为 100。

每次用户使用一个值(注册一个跟踪的实体实例)时,该应用程序都会:

  1. 检查是否有足够的剩余值,并在需要时重新填充(如果少于50个值)。
  2. 将第一个可用值分配给跟踪的实体实例,并将其从可用值列表中删除。

每当应用程序同步时,它将:

  1. 删除过期的保留值。
  2. 检查是否有足够的剩余值,并在需要时重新填充(如果少于50个值)。

如果满足以下条件之一,则该值被视为“过期”:

  • “ expiryDate”已过期。默认情况下,服务器将有效期设置为2个月。
  • 如果属性模式取决于时间,即包含段 `CURRENT_DATE(format)` ,应用项目就会根据该模式计算额外的到期日期。

注意事项

当使用自动生成的包含日期的唯一值作为模式的一部分时,这些值的 expiryDate 将与该日期模式相关联,如果模式定义不当,可能会导致意想不到的行为。

示例*:UniqueID 值的配置模式为 CURRENT_DATE(MM)-SEQUENTIAL(###),今天是 1 月 31 日,应用程序将下载 100 个值(从 01-001 到 01-101),以便应用程序脱机工作并拥有足够的值,但明天,即 2 月 1 日,应用程序将没有任何可用值,因为所有值都被标记为过期,因此会显示这样的信息。

在应用程序上,用户还可以检查可用值,然后在设置菜单中重新填充它们。

当应用程序的值用完并且服务器无法提供更多值时,用户将在数据输入表单上收到一条消息,提示没有更多可用值。您应该在服务器端修复该问题。