Skip to content

feat: add enrollment dimensions to Event Analytics#22996

Merged
luciano-fiandesio merged 4 commits intomasterfrom
feature/DHIS2-20503-enrollment-dimensions-event-analytics-2
Feb 20, 2026
Merged

feat: add enrollment dimensions to Event Analytics#22996
luciano-fiandesio merged 4 commits intomasterfrom
feature/DHIS2-20503-enrollment-dimensions-event-analytics-2

Conversation

@luciano-fiandesio
Copy link
Contributor

DHIS2-20503: Add enrollment dimensions to Event Analytics

Summary

This PR adds support for enrollment-level dimensions in Event Analytics endpoints:

  • ENROLLMENT_DATE
  • INCIDENT_DATE
  • ENROLLMENT_OU

Endpoints:

  • /api/analytics/events/query
  • /api/analytics/events/aggregate

Changes

  1. ENROLLMENT_DATE and INCIDENT_DATE support as both dimension and filter
  • Supports fixed/relative periods and operator-based date filters.
  • Examples:
    • dimension=ENROLLMENT_DATE:2025
    • dimension=INCIDENT_DATE:THIS_YEAR
    • filter=ENROLLMENT_DATE:GT:2025-01-01
    • filter=INCIDENT_DATE:EQ:NV
  1. ENROLLMENT_OU support as both dimension and filter
  • Supports:
    • direct UIDs
    • USER_ORGUNIT
    • LEVEL-*
    • OU_GROUP-*
  • Uses analytics_rs_orgunitstructure for enrollment OU filtering and name resolution.
  1. Join behavior for ENROLLMENT_OU
  • When ENROLLMENT_OU is used, query SQL adds:
inner join analytics_rs_orgunitstructure as ous
  on ax."enrollmentou" = ous."organisationunituid"
  • Filtering is applied on ous:
    • UID filters via ous."organisationunituid" in (...)
    • Level filters via ous."level" in (...)
  • When ENROLLMENT_OU is a requested dimension, select includes:
ous."organisationunituid" as enrollmentou,
ous."name" as enrollmentouname
  1. Headers
  • Added support for:
    • enrollmentdate
    • incidentdate
    • enrollmentou
    • enrollmentouname
  1. Metadata
  • Adds metadata items/dimensions for:
    • enrollmentdate
    • incidentdate
    • enrollmentou
  • Date field labels use program custom labels when configured.
  1. Validation and security
  • Event analytics validation accepts ENROLLMENT_OU usage.
  • OU constraint handling supports enrollment-OU-based queries correctly.

@luciano-fiandesio luciano-fiandesio added the run-api-analytics-tests Enables analytics e2e tests label Feb 19, 2026
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 20, 2026

@luciano-fiandesio luciano-fiandesio merged commit 4198b4f into master Feb 20, 2026
16 checks passed
@luciano-fiandesio luciano-fiandesio deleted the feature/DHIS2-20503-enrollment-dimensions-event-analytics-2 branch February 20, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-api-analytics-tests Enables analytics e2e tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments