Skip to content

docs: PI disaggregation categoryCombo note and section cleanup (DHIS2-18745) - #1776

Draft
karolinelien wants to merge 7 commits into
masterfrom
docs/DHIS2-18745-pi-disaggregation-categorycombo-note
Draft

docs: PI disaggregation categoryCombo note and section cleanup (DHIS2-18745)#1776
karolinelien wants to merge 7 commits into
masterfrom
docs/DHIS2-18745-pi-disaggregation-categorycombo-note

Conversation

@karolinelien

Copy link
Copy Markdown
Contributor

Summary

  • Documents that when configuring Program Indicator disaggregation directly via the metadata API, the Program Indicator's own categoryCombo/attributeCombo must also include the mapped Category, or the mapping won't show/be editable in the Maintenance app screen (though it still works in analytics)
  • Cross-checked the rest of the "Setting up new program disaggregation mappings" section against the Maintenance (Preview) app source and fixed several issues:
    • Corrected "Other section" to "Programs section" for where Program Disaggregations is grouped in the sidebar
    • Fixed broken step numbering (duplicated/skipped numbers), a typo, and inconsistent Visualizer/visualization spelling
    • Sized the oversized retina screenshots consistently with the rest of the page
    • Added notes on save-time mapping validation (a warning icon shows for missing/invalid mappings but doesn't block saving) and the aggregate-export ID fields (free-text, unvalidated against the target's Category Combination; alternate COC/AOC fields appear when the combo is left as default)

Test plan

  • Docs build renders the section correctly (headings, numbered list, image sizes)
  • Links (#data_exchange anchor, external JEXL reference) resolve correctly in the built site

AI Assisted

… (DHIS2-18745)

When setting up Program Indicator disaggregation directly via the metadata
API instead of through the Maintenance app, the Program Indicator's own
categoryCombo/attributeCombo must also be set to a Category Combination
containing the mapped category, or the mapping won't display or be
editable in this screen even though it still works in analytics.

AI Assisted
…isaggregation section (DHIS2-18745)

Corrects several issues in the program disaggregation mappings walkthrough
found while cross-checking it against the Maintenance (Preview) app source:
the section is actually grouped under "Programs" in the sidebar, not
"Other". Also fixes broken step numbering, a typo, inconsistent
Visualizer/visualization spelling, sizes the oversized retina screenshots
consistently with the rest of the page, and adds notes on save-time mapping
validation and the aggregate-export ID fields.

AI Assisted
…IS2-18745)

The app was renamed from "Maintenance (Preview)" to "Metadata Management"
(metadata-management-app commit 77821e6, DHIS2-21090), which also changed
its URL slug from maintenance-preview to metadata-management. Updates the
PI disaggregation walkthrough to match.

AI Assisted
@karolinelien
karolinelien marked this pull request as ready for review August 5, 2026 13:32

@DavidCKen DavidCKen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link I highlighted should be relative to the anchor, the wrong format was already in the file. and a lot of the screenshots should be changed to show the MMA not the maintenance app preview, do you want to do that in a combined PR or seperate?

Comment thread src/user/configure-programs-in-the-maintenance-app.md Outdated
… validation (DHIS2-18745)

Expands the existing categoryCombo note after confirming against dhis2-core
(ProgramCategoryMappingValidator / PiDisagInfoInitializer) that neither
completeness nor duplicate-categoryId mappings are checked when a Program or
Program Indicator is created/updated via the API - both only surface at
analytics query time, and a categoryId collision currently crashes with an
unhandled server error rather than a validation message. The Maintenance
(Preview)/Metadata Management screen prevents this; the API does not.

AI Assisted
…(DHIS2-18745)

Per David's review comment on #1776: the target section already exists in
this same book, so the link should be a relative anchor instead of an
external versioned docs.dhis2.org URL.

AI Assisted
@karolinelien

Copy link
Copy Markdown
Contributor Author

Doing this as a combined PR - I'll swap the outdated Maintenance (Preview) screenshots for the current Metadata Management app in this same PR rather than splitting it out.

…anagement app (DHIS2-18745)

Per David's review comment on #1776: the old screenshots showed the
Maintenance (Preview) app's outdated branding/layout. Recaptured all
screens against the public play.im.dhis2.org/dev demo (2.44-SNAPSHOT),
which already has this exact walkthrough configured (Inpatient morbidity
and mortality program, BMI PI, Gender + Morbidity Age disaggregation).
Screenshots are now taken at the README's recommended 1440x900 instead of
the old 2x-retina captures.

Also drops the .center width=60% override on the filter-expression dialog
screenshot in favor of the standard full-width treatment used elsewhere in
this section.

AI Assisted
…live (DHIS2-18745)

The previous screenshot pass used a demo instance where BMI already had a
finished disaggregation mapping configured, so the images didn't match the
doc's step-by-step "empty -> filled" narrative (e.g. showing an already-
selected category combo instead of the "No mappings available" state the
text describes).

Redone against design.im.dhis2.org/release-43, which had no disaggregation
set up on this program at all. Actually walked through the documented
steps: created the missing "Gender and U5y" category combo (the doc's own
text says to do this if not present), added BMI, added both suggested
categories, and filled in the same filter expressions the text describes
(Gender ==/=='Female'/'Male', age </>=5). Screenshots now show the correct
before/after state at each step instead of a pre-finished result.

AI Assisted
@karolinelien
karolinelien marked this pull request as draft August 11, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants