Dhis2 Organisation Units

by BLSQ

data

Extract organisation units and groups from DHIS2. Use for org unit hierarchy, metadata, levels, or groups. Routed via dhis2 skill for general DHIS2 requests.

Skill Details

Repository Files

1 file in this skill directory


name: dhis2-organisation-units description: Extract organisation units and groups from DHIS2. Use for org unit hierarchy, metadata, levels, or groups. Routed via dhis2 skill for general DHIS2 requests.

DHIS2 Organisation Units

Extract organisation unit metadata from DHIS2 instances.

Prerequisites: Client setup from dhis2 skill (assumes dhis is initialized)

Get Organisation Units

# Get all organisation units
org_units = dhis.meta.organisation_units()

# With pagination
org_units = dhis.meta.organisation_units(
    page=1,
    pageSize=1000
)

# With filters
org_units = dhis.meta.organisation_units(
    filters=["level:eq:2"]  # Only level 2 (districts)
)

# Custom fields
org_units = dhis.meta.organisation_units(
    fields="id,name,level,parent[id,name],geometry"
)

Get Organisation Unit Levels

# Get all levels
levels = dhis.meta.organisation_unit_levels()

# Custom fields
levels = dhis.meta.organisation_unit_levels(
    fields="id,name,level"
)

Get Organisation Unit Groups

# Get all groups
groups = dhis.meta.organisation_unit_groups()

# With filters
groups = dhis.meta.organisation_unit_groups(
    filters=["name:ilike:hospital"]
)

DataFrame Helper Methods

Add Org Unit Names to Data

# If you have a DataFrame with org unit IDs
df = dhis.meta.add_org_unit_name_column(
    dataframe=df,
    org_unit_id_column="orgUnit"
)
# Adds 'orgUnit_name' column

Add Parent Hierarchy

# Add parent columns (level_1_name, level_2_name, etc.)
df = dhis.meta.add_org_unit_parent_columns(
    dataframe=df,
    org_unit_id_column="orgUnit"
)

Custom API Endpoint (Alternative)

For endpoints not covered by toolbox methods:

# Get org units with geometry
response = dhis.api.get(
    "organisationUnits",
    params={
        "fields": "id,name,level,geometry,parent[id,name]",
        "paging": False,
        "filter": "level:le:3"
    }
)
org_units = response.get("organisationUnits", [])

Get Org Unit by ID

def get_org_unit(dhis, org_unit_id: str) -> dict:
    """Get single organisation unit with full details."""
    return dhis.api.get(
        f"organisationUnits/{org_unit_id}",
        params={
            "fields": "*,parent[id,name],children[id,name],ancestors[id,name,level]"
        }
    )

Get Org Units with Coordinates

def get_org_units_with_coordinates(dhis) -> list:
    """Get org units that have coordinates/geometry."""
    response = dhis.api.get(
        "organisationUnits",
        params={
            "fields": "id,name,level,coordinates,geometry",
            "filter": "coordinates:!null",
            "paging": False
        }
    )
    return response.get("organisationUnits", [])

Common Filters

Filter Description
level:eq:2 Exact level
level:le:3 Level 3 or above
name:ilike:hospital Name contains (case-insensitive)
id:in:[id1,id2] Specific IDs
parent.id:eq:abc123 Children of parent
coordinates:!null Has coordinates

Output Fields

Common fields to request:

id,name,shortName,code,level,path,
parent[id,name],
children[id,name],
ancestors[id,name,level],
geometry,coordinates,
openingDate,closedDate

Related Skills

Xlsx

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

data

Clickhouse Io

ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.

datacli

Clickhouse Io

ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.

datacli

Analyzing Financial Statements

This skill calculates key financial ratios and metrics from financial statement data for investment analysis

data

Data Storytelling

Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.

data

Kpi Dashboard Design

Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.

designdata

Dbt Transformation Patterns

Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.

testingdocumenttool

Sql Optimization Patterns

Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.

designdata

Anndata

This skill should be used when working with annotated data matrices in Python, particularly for single-cell genomics analysis, managing experimental measurements with metadata, or handling large-scale biological datasets. Use when tasks involve AnnData objects, h5ad files, single-cell RNA-seq data, or integration with scanpy/scverse tools.

arttooldata

Xlsx

Spreadsheet toolkit (.xlsx/.csv). Create/edit with formulas/formatting, analyze data, visualization, recalculate formulas, for spreadsheet processing and analysis.

tooldata

Skill Information

Category:Data
Last Updated:1/30/2026