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 |
|---|---|
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 |
|---|---|---|
/ | 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 |
|---|---|---|
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 |
|---|---|---|
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.