Indicator
Contents
Indicator#
Module: spp_indicator
Overview#
Publishable indicators based on CEL variables for dashboards, GIS, and APIs
Purpose#
This module is designed to:
Publish indicators from CEL variables: Link CEL variable computations to named, categorized indicators that can be selectively published to GIS, dashboards, APIs, and reports.
Protect privacy with small cell suppression: Apply k-anonymity-based suppression to prevent re-identification of individuals when indicator counts fall below configurable thresholds.
Configure context-specific presentation: Override indicator labels, formats, grouping, icons, and privacy thresholds per publication context (GIS, dashboard, API, report).
Module Dependencies#
Dependency |
Purpose |
|---|---|
|
Unified metric foundation for indicators and simulations |
|
Computation services for fairness, distribution, breakdow... |
|
Write simple CEL-like expressions to filter records (Open... |
|
Central security definitions for OpenSPP modules |
Key Features#
Indicator Definition#
Each indicator links a CEL variable to a publishable metric with presentation settings.
Field |
Description |
|---|---|
Name |
Technical identifier in snake_case (e.g., |
Label |
Human-readable display label (translatable) |
Variable |
CEL variable that provides the computation (must be aggregate, computed, or field type) |
Format |
Aggregation/display format: Count, Sum, Average, Percentage, Ratio, or Currency |
Category |
Metric category for organizing indicators in displays |
Unit |
Unit of measurement (e.g., people, households, %) |
Publication Channels#
Each indicator can be independently toggled for publication to:
Channel |
Description |
|---|---|
GIS |
Available in GIS/QGIS spatial queries |
Dashboard |
Available in dashboard widgets |
API |
Available in external API responses |
Reports |
Available in reports and exports |
Privacy Protection (k-Anonymity)#
Indicators enforce small cell suppression to protect individual privacy.
Field |
Description |
|---|---|
Minimum Count (k) |
Suppress values when the underlying count is below this threshold (default: 5) |
Suppression Display |
How to show suppressed values: Null/Empty, |
Sensitive Data |
Flag for sensitive attributes (disability, health) warranting higher thresholds |
Context-Specific Configuration#
Each indicator can have per-context overrides for different publication channels.
Field |
Description |
|---|---|
Context |
GIS, Dashboard, API, or Report |
Label Override |
Different label for this context |
Format Override |
Different format for this context |
Minimum Count Override |
Higher or lower privacy threshold per context |
GIS Threshold Mode |
Color threshold calculation: Quartiles, Equal Intervals, Natural Breaks, or Manual |
Dashboard Widget Type |
Widget style: Number, Gauge, or Chart |
Integration#
spp_metric: Inherits the
spp.metric.baseabstract model for shared identity, presentation, and categorization fields.spp_metric_service: Delegates privacy suppression to the
spp.metric.privacyservice for unified k-anonymity enforcement.spp_cel_domain: Sources indicator computations from CEL variables, which define the underlying data queries and expressions.
spp_indicator_studio: Provides the Studio UI for managing indicators (views, menus, and actions).
openspp.org