PCA - Program Configuration App

HNQIS Framework changes:

Prior to PCA v3.0.0, the HNQIS Framework programs required a specialized fork of the Android Capture App to display checklist feedback. Since the release of HNQIS 3.0 (integrated in PCA v3.0.0), the specialized fork is no longer required when using v3.4.0+ of the official Android Capture App developed by UiO.

A generic DHIS2 Program Configuration wizard that simplifies creating, editing, and maintaining DHIS2 programs and all related metadata.

License: CC-BY-4.0 | Status: Active


Overview

The Program Configuration App (PCA) is a DHIS2 web application for managing tracker program metadata at scale. It enables administrators and program designers to create or edit Tracker and Event programs with multiple stages from a single centralized interface without needing to pre-create data elements or option sets in separate DHIS2 menus beforehand.

PCA is developed and maintained by BAO Systems in collaboration with PATH and Population Services International (PSI). It is open source under the Creative Commons Attribution 4.0 International (CC-BY-4.0) license and hosted at:
https://github.com/psi-org/Program-Config-App


Compatibility

Component

Version

Component

Version

App Version

3.0.0

DHIS2 Support

2.41.x – 2.43.x

PCA Metadata Package

1.2.1

HNQIS Framework Metadata Package

2.0.1

Build Date

June 29, 2026

Package Manager

Yarn 1.22

Version requirement: PCA v3.0.0+ requires DHIS2 2.41.x or newer. Earlier DHIS2 releases are no longer supported.


Features

Program Management

• Create and edit Tracker and Event programs
• Multi-stage program configuration from one interface
• New program creation wizard
• Program validation and structured error reporting
• Dependency export for all program-related objects

Stage & Data Element Configuration

• Add pre-existing or new Data Elements individually or in bulk
• Drag-and-drop reordering of Data Elements within stages
• Configure render types (Dropdown, Radio Buttons, Checkboxes, etc.)
• Set value types, display labels, and field constraints
• Program rules and conditional logic via scripting engine

Tracked Entity Attributes (TEA)

• Full TEA editor with section management
• Assign attributes to programs individually or in bulk
• Configure attribute sections and display order
• Per-program attribute form configuration

Option Sets

• Create and edit Option Sets inline
• Assign options to Data Elements and Attributes
• Manage option codes, names, and display order

Access Control & Sharing

• Organisation Unit assignment and access controls
• Bulk sharing settings across multiple DHIS2 objects at once
• User and user-group sharing with auto-suggestions
• Visualisation-specific sharing configurations

Import / Export & Backup

• Excel export for Event and Tracker programs
• Excel import for bulk configuration updates
• Program configuration backup and restore
• Metadata backup and dependency export

HNQIS Framework Support

• Full automation of HNQIS clinical quality improvement checklists
• HNQIS Framework metadata management and version control
• Settings and data transfer utilities
• Migration support from HNQIS 1.x programs


App Routing

PCA uses a client-side HashRouter with three top-level routes. On startup, the app validates the DHIS2 server version and checks for required metadata packages before granting access.

 

Module

Description

 

Module

Description

/

Programs List

Program listing, search, backup, sharing settings, organisation units, and HNQIS Framework management

/program/:id

Program Stages

Program stages listing

programStage/:id

Program Stage Sections

Stage editor: stage sections, data elements, and custom logic


Metadata Packages

PCA requires two DHIS2 datastore metadata packages to function. Both are validated at startup and must match the latest version before the app permits normal use.

Package

Purpose

Restriction

Package

Purpose

Restriction

PCA Metadata

Core program configuration objects

Required to access PCA

HNQIS Framework Metadata

HNQIS objects required for checklists usage and management

Required to access HNQIS features


Team & Contact

Name

Role

Organisation

Name

Role

Organisation

James Omutsani

Sponsor

PATH

Rodrigo Gramajo

Sponsor

PSI

Wycliffe Waweru

Sponsor

PSI

Rodolfo Melia

Project Management

BAO Systems

Mario Lopez

Development

BAO Systems

Henry Lopez

QA

BAO Systems

Fernando Gomez

Development

BAO Systems

Daniel Oseni

Development

BAO Systems

Ruth Mwende

Support

PSI


Audience

  • DHIS2 administrator and other staff responsible for the configuration of DHIS2 Programs.

  • DHIS2 program designers and administrators.


Impact

The PCA app should allow more users the flexibility to maintain and update their DHIS2 programs while reducing the need for advanced technical support for small changes. This can help reduce the backlog of support requests and allow more users with some training to engage with DHIS2.


Relevance

The PCA allows the community to rethink how configuration can be approached by reducing barriers to DHIS2 configurations. It is an approach that can become part of core and to inspire conversations for the next generation of the maintenance app.

Content on this space