Dhis2 Data Elements
by BLSQ
Extract data elements and data element groups from DHIS2. Use for data element metadata, groups, or category option combos. Routed via dhis2 skill for general DHIS2 requests.
Skill Details
Repository Files
1 file in this skill directory
name: dhis2-data-elements description: Extract data elements and data element groups from DHIS2. Use for data element metadata, groups, or category option combos. Routed via dhis2 skill for general DHIS2 requests.
DHIS2 Data Elements
Extract data element metadata from DHIS2 instances.
Prerequisites: Client setup from dhis2 skill (assumes dhis is initialized)
Get Data Elements
# Get all data elements
data_elements = dhis.meta.data_elements()
# With pagination
data_elements = dhis.meta.data_elements(
page=1,
pageSize=500
)
# With filters
data_elements = dhis.meta.data_elements(
filters=["domainType:eq:AGGREGATE"] # Only aggregate data elements
)
# Custom fields
data_elements = dhis.meta.data_elements(
fields="id,name,shortName,valueType,aggregationType,domainType"
)
Get Data Element Groups
# Get all groups
groups = dhis.meta.data_element_groups()
# With filters
groups = dhis.meta.data_element_groups(
filters=["name:ilike:malaria"]
)
Get Category Option Combos
# Get all category option combos
cocs = dhis.meta.category_option_combos()
# With filters
cocs = dhis.meta.category_option_combos(
filters=["name:ne:default"]
)
DataFrame Helper Methods
Add Data Element Names to Data
# If you have a DataFrame with data element IDs
df = dhis.meta.add_dx_name_column(
dataframe=df,
dx_id_column="dataElement"
)
# Adds 'dataElement_name' column
Add Category Option Combo Names
df = dhis.meta.add_coc_name_column(
dataframe=df,
coc_column="categoryOptionCombo"
)
# Adds 'categoryOptionCombo_name' column
Custom API Endpoint (Alternative)
For endpoints not covered by toolbox methods:
# Get data elements with full details
response = dhis.api.get(
"dataElements",
params={
"fields": "id,name,shortName,code,valueType,aggregationType,"
"categoryCombo[id,name,categoryOptionCombos[id,name]]",
"paging": False
}
)
data_elements = response.get("dataElements", [])
Get Data Element by ID
def get_data_element(dhis, de_id: str) -> dict:
"""Get single data element with full details."""
return dhis.api.get(
f"dataElements/{de_id}",
params={
"fields": "*,categoryCombo[*,categoryOptionCombos[*]],"
"dataElementGroups[id,name]"
}
)
Get Data Elements by Group
def get_data_elements_by_group(dhis, group_id: str) -> list:
"""Get all data elements in a group."""
response = dhis.api.get(
"dataElements",
params={
"fields": "id,name,shortName,valueType",
"filter": f"dataElementGroups.id:eq:{group_id}",
"paging": False
}
)
return response.get("dataElements", [])
Common Filters
| Filter | Description |
|---|---|
domainType:eq:AGGREGATE |
Aggregate data elements |
domainType:eq:TRACKER |
Tracker data elements |
valueType:eq:NUMBER |
Numeric values |
valueType:eq:INTEGER |
Integer values |
name:ilike:malaria |
Name contains |
dataElementGroups.id:eq:xyz |
In specific group |
Value Types
| Type | Description |
|---|---|
NUMBER |
Decimal number |
INTEGER |
Whole number |
INTEGER_POSITIVE |
Positive integer |
INTEGER_ZERO_OR_POSITIVE |
Zero or positive |
TEXT |
Free text |
LONG_TEXT |
Long text |
BOOLEAN |
Yes/No |
TRUE_ONLY |
Only true value |
Output Fields
Common fields to request:
id,name,shortName,code,
valueType,aggregationType,domainType,
categoryCombo[id,name],
dataElementGroups[id,name],
description,formName
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
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Analyzing Financial Statements
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
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.
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.
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.
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.
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.
Xlsx
Spreadsheet toolkit (.xlsx/.csv). Create/edit with formulas/formatting, analyze data, visualization, recalculate formulas, for spreadsheet processing and analysis.
