This repository was archived by the owner on Apr 24, 2024. It is now read-only.
Description dhis2.py 2.0.2 -- 2.1.2
from dhis2 import Api
PROGRAM_UID = 'IpHINAT79UW'
def get_data_no_paging(api, params):
result = api.get(f'analytics/events/query/{PROGRAM_UID}', params=params).json()
print(result['rows'][0])
def get_data_paging(api, params):
for page in api.get_paged(f'analytics/events/query/{PROGRAM_UID}', params=params, page_size=100):
print(page['rows'][0])
def main():
api = Api('play.dhis2.org/demo', 'admin', 'district')
# doesn't work with this type of params
#params = [
# ('dimension', 'pe:LAST_12_MONTHS'),
# ('dimension', 'ou:ImspTQPwCqd'),
# ('dimension', 'A03MvHHogjR.a3kGcGDCuk6'),
# ('stage', 'A03MvHHogjR'),
# ('outputType', 'EVENT')
#]
params = {
'dimension': [
'pe:LAST_12_MONTHS',
'ou:ImspTQPwCqd',
'A03MvHHogjR.a3kGcGDCuk6'
],
'stage': 'A03MvHHogjR',
'outputType': 'EVENT'
}
get_data_no_paging(api, params)
get_data_paging(api, params)
if __name__ == '__main__':
main()
results in:
['q0Hcikut16c', 'A03MvHHogjR', '2019-11-12 00:00:00.0', '2020-11-12 01:00:00.0', '2020-11-12 01:00:00.0', '', '0.0', '0.0', 'Ngelehun CHC', 'OU_559', 'DiszpKrYNg8', '5.0']
Traceback (most recent call last):
File "main.py", line 41, in <module>
main()
File "main.py", line 38, in main
get_data_paging(api, params)
File "main.py", line 11, in get_data_paging
for page in api.get_paged(f'analytics/events/query/{PROGRAM_UID}', params=params, page_size=100):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/dhis2/api.py", line 409, in page_generator
page_count = page["pager"]["pageCount"]
KeyError: 'pager'
Reactions are currently unavailable