Get DHIS2 system information including version, database details, and server configuration. Use for version checks or server capabilities. Routed via dhis2 skill for general DHIS2 requests.
Get system information, version details, and server configuration from DHIS2.
Prerequisites: Client setup from dhis2 skill (assumes dhis is initialized)
The system info endpoints provide:
def get_system_info(dhis) -> dict:
"""Get complete system information."""
return dhis.api.get("system/info")
# Usage
info = get_system_info(dhis)
# Key fields
print(f"DHIS2 Version: {info.get('version')}")
print(f"Revision: {info.get('revision')}")
print(f"Build Time: {info.get('buildTime')}")
print(f"Database: {info.get('databaseInfo', {}).get('name')}")
print(f"Server Date: {info.get('serverDate')}")
| Field | Description | Example |
|---|---|---|
version | DHIS2 version | 2.40.2 |
revision | Build revision | abc1234 |
buildTime | When built | 2024-01-15T10:30:00.000 |
serverDate | Current server time | 2024-06-15T14:30:00.000 |
calendar | Calendar system | iso8601, ethiopian |
dateFormat | Date format | yyyy-MM-dd |
contextPath | Server context path | /dhis |
systemId | Unique system ID | OU-abc123 |
db_info = info.get("databaseInfo", {})
print(f"DB Name: {db_info.get('name')}") # e.g., "PostgreSQL"
print(f"DB User: {db_info.get('user')}") # e.g., "dhis"
print(f"DB URL: {db_info.get('url')}") # Connection URL
print(f"Spatial Support: {db_info.get('spatialSupport')}") # True/False
def check_version(dhis, min_version: str = "2.38") -> bool:
"""Check if DHIS2 version meets minimum requirement."""
info = dhis.api.get("system/info")
version = info.get("version", "0.0.0")
# Parse version (handle formats like "2.40.2" or "2.40.2-SNAPSHOT")
version_parts = version.split("-")[0].split(".")
min_parts = min_version.split(".")
for i in range(min(len(version_parts), len(min_parts))):
v = int(version_parts[i])
m = int(min_parts[i])
if v > m:
return True
elif v < m:
return False
return True
# Usage
if check_version(dhis, "2.40"):
print("DHIS2 version is 2.40 or higher")
# Use newer API features