From 204173eb83e4d3f949c24e2670c8745ec4edb9b4 Mon Sep 17 00:00:00 2001 From: ismay <7355199+ismay@users.noreply.github.com> Date: Wed, 3 Jan 2024 11:23:36 +0100 Subject: [PATCH] feat: incorporate job queue in job list (#571) * feat: add queue actions * chore: update translations * feat: add new queue button * refactor: update table headers to match design * chore: update translations * fix: ignore invalid jobs * refactor: separate table rows by job type * refactor: hardcode queue type for queues * feat: add toggleable row for queued jobs * fix: update job toggle to json patch * refactor: finish naming updates * test: add tests for queue components * style: add slight inset to distinguish expanded rows * style: refine expandable styles * refactor: adjust expandable row styles * refactor: use css module instead of inline styles * fix: use new endpoint to toggle tasks * chore: update caniuse db * test: add new queue test * refactor: update e2e test naming * test: add queue list test * test: add queue row expansion test * refactor: rename switch * test: add queue to filter test * test: add test for queue toggling * test: add test for queue actions * chore: simplify fixture naming * refactor: consolidate to single info link * chore: update translations * refactor: rely on cypress for jobswitch test * refactor: rename to namefilter * refactor: ensure all queries are static * refactor: align terms * chore: update fixtures * refactor: unify naming used in e2e tests * chore: update fixtures * chore: update modal confirmation text --- .../two-unqueued-jobs.json | 0 .../single-cron-user-job.json | 0 .../single-user-job-with-params.json | 0 .../single-user-job.json | 0 .../jobs-two-unqueued-jobs.json | 0 .../queue-two-unqueued-jobs.json | 0 .../queueable-two-unqueued-jobs.json | 0 .../schedule-two-unqueued-jobs.json | 0 .../list/disabled-queue-scheduler.json | 27 ++ .../disabled-user-job-scheduler.json} | 0 .../list/enabled-queue-scheduler.json | 27 ++ .../enabled-user-job-scheduler.json} | 0 .../fixtures/list/list-queues-scheduler.json | 27 ++ .../no-jobs-scheduler.json} | 0 .../list/single-queue-job-configurations.json | 34 ++ .../fixtures/list/single-queue-queues.json | 5 + .../fixtures/list/single-queue-scheduler.json | 27 ++ .../single-system-job-job-configurations.json | 0 .../single-system-job-scheduler.json} | 0 .../single-user-job-job-configurations.json | 0 .../single-user-job-scheduler.json} | 0 .../some-user-and-system-jobs-scheduler.json} | 0 .../some-user-jobs-and-queues-scheduler.json | 84 +++++ .../some-user-jobs-scheduler.json} | 0 .../fixtures/network/41/queue_actions.json | 67 ++++ .../queues_can_be_enabled_and_disabled.json | 35 ++ ...ence.json => queues_should_be_listed.json} | 2 +- .../fixtures/network/41/static_resources.json | 245 +++++++------ cypress/fixtures/network/41/summary.json | 24 +- .../fixtures/network/41/user_job_actions.json | 53 +-- ...sers_should_be_able_to_create_a_queue.json | 67 ++++ ...s_should_be_able_to_create_a_sequence.json | 67 ---- ...e_to_create_jobs_that_take_parameters.json | 32 +- ...ble_to_create_jobs_without_parameters.json | 44 +-- .../users_should_be_able_to_delete_a_job.json | 45 ++- .../users_should_be_able_to_edit_a_queue.json | 35 ++ ...ble_to_edit_jobs_that_take_parameters.json | 45 +-- ..._able_to_edit_jobs_without_parameters.json | 24 +- ...should_be_able_to_insert_cron_presets.json | 8 +- ...able_to_navigate_back_to_the_job_list.json | 327 ----------------- ...le_to_navigate_back_to_the_list_route.json | 332 ++++++++++++++++++ ...able_to_navigate_to_the_documentation.json | 30 +- ...able_to_navigate_to_the_new_job_route.json | 4 +- ...le_to_navigate_to_the_new_queue_route.json | 67 ++++ .../41/users_should_be_able_to_view_jobs.json | 8 +- .../unauthorized-user.json | 0 .../single-system-job.json | 0 .../back-to-all-jobs.feature | 8 +- .../back-to-all-jobs/index.js | 10 +- .../create-parameter-jobs.feature | 4 +- .../create-parameter-jobs/index.js | 4 +- .../create-parameterless-jobs.feature | 4 +- .../create-parameterless-jobs/index.js | 4 +- .../cron-presets.feature | 4 +- .../cron-presets/index.js | 2 +- .../{add-route => add-job}/info-link.feature | 2 +- .../{add-route => add-job}/info-link/index.js | 6 +- .../back-to-all-jobs.feature | 8 +- .../back-to-all-jobs/index.js | 10 +- .../add-queue/create-queue.feature | 10 + .../create-queue}/index.js | 10 +- .../add-sequence/create-sequence.feature | 10 - .../back-to-all-jobs.feature | 8 +- .../back-to-all-jobs/index.js | 12 +- .../cron-presets.feature | 2 +- .../cron-presets/index.js | 4 +- .../delete-button.feature | 2 +- .../delete-button/index.js | 4 +- .../display-jobs.feature | 2 +- .../display-jobs/index.js | 4 +- .../edit-parameter-jobs.feature | 4 +- .../edit-parameter-jobs/index.js | 6 +- .../edit-parameterless-jobs.feature | 4 +- .../edit-parameterless-jobs/index.js | 6 +- .../info-link.feature | 2 +- .../info-link/index.js | 8 +- .../edit-queue/back-to-all-jobs.feature | 14 + .../back-to-all-jobs/index.js | 20 +- .../integration/edit-queue/edit-queue.feature | 10 + .../edit-queue}/index.js | 18 +- .../edit-sequence/back-to-all-jobs.feature | 14 - .../edit-sequence/edit-sequence.feature | 10 - .../list-route/job-toggle/index.js | 48 --- .../integration/list/actions-queue.feature | 18 + .../integration/list/actions-queue/index.js | 58 +++ .../actions-system-job.feature} | 2 +- .../actions-system-job}/index.js | 6 +- .../actions-user-job.feature} | 2 +- .../actions-user-job}/index.js | 6 +- .../filter.feature} | 10 +- .../filter-jobs => list/filter}/index.js | 18 +- .../include-system-jobs.feature | 4 +- .../include-system-jobs/index.js | 6 +- .../{list-route => list}/info-link.feature | 2 +- .../{list-route => list}/info-link/index.js | 6 +- cypress/integration/list/list-queues.feature | 8 + cypress/integration/list/list-queues/index.js | 26 ++ .../list-user-jobs.feature | 4 +- .../list-user-jobs/index.js | 9 +- .../{list-route => list}/new-job.feature | 4 +- .../{list-route => list}/new-job/index.js | 4 +- cypress/integration/list/new-queue.feature | 5 + cypress/integration/list/new-queue/index.js | 12 + .../toggle-job.feature} | 4 +- cypress/integration/list/toggle-job/index.js | 54 +++ cypress/integration/list/toggle-queue.feature | 15 + .../integration/list/toggle-queue/index.js | 54 +++ .../block-unauthorized.feature | 0 .../block-unauthorized/index.js | 2 +- .../view-job/back-to-all-jobs.feature | 6 + .../back-to-all-jobs/index.js | 6 +- .../display-jobs.feature | 2 +- .../display-jobs/index.js | 4 +- .../info-link.feature | 2 +- .../info-link/index.js | 8 +- .../view-route/back-to-all-jobs.feature | 6 - i18n/en.pot | 71 ++-- src/components/InfoLink/InfoLink.js | 22 ++ src/components/InfoLink/InfoLink.module.css | 11 + src/components/InfoLink/index.js | 1 + src/components/JobTable/DeleteQueueAction.js | 41 +++ .../JobTable/DeleteQueueAction.test.js | 21 ++ src/components/JobTable/EditQueueAction.js | 21 ++ .../JobTable/EditQueueAction.test.js | 22 ++ src/components/JobTable/ExpandableRow.js | 30 ++ .../JobTable/ExpandableRow.module.css | 8 + .../JobTable/{Actions.js => JobActions.js} | 8 +- .../{Actions.test.js => JobActions.test.js} | 8 +- src/components/JobTable/JobTable.js | 41 ++- src/components/JobTable/JobTable.test.js | 12 +- src/components/JobTable/JobTableRow.js | 9 +- src/components/JobTable/QueueActions.js | 29 ++ src/components/JobTable/QueueActions.test.js | 9 + src/components/JobTable/QueueTableRow.js | 99 ++++++ .../JobTable/QueueTableRow.module.css | 5 + src/components/JobTable/QueueTableRow.test.js | 29 ++ src/components/Modal/DeleteJobModal.js | 2 +- src/components/Modal/DeleteQueueModal.js | 13 +- src/components/Modal/DiscardFormModal.js | 2 +- src/components/Routes/Routes.js | 4 +- src/components/Store/Store.js | 4 +- src/components/Store/StoreContext.js | 2 +- src/components/Store/hooks.js | 9 +- src/components/Store/hooks.test.js | 14 +- src/components/Store/index.js | 4 +- src/components/Switches/JobSwitch.js | 44 +++ src/components/Switches/JobSwitch.test.js | 16 + src/components/Switches/ToggleJobSwitch.js | 42 --- .../Switches/ToggleJobSwitch.test.js | 55 --- src/components/Switches/index.js | 2 +- .../jobs-and-queues/use-jobs-and-queues.js | 6 +- src/hooks/jobs/use-job-by-id.js | 41 +-- src/hooks/queues/use-queue-by-name.js | 19 +- src/pages/JobAdd/JobAdd.js | 18 +- src/pages/JobAdd/JobAdd.module.css | 12 - .../JobAndQueueList.js} | 55 ++- .../JobAndQueueList.module.css} | 12 - .../JobAndQueueList.test.js} | 12 +- .../JobAndQueueList/filter-jobs-and-queues.js | 14 + .../filter-jobs-and-queues.test.js | 80 +++++ src/pages/JobAndQueueList/index.js | 3 + src/pages/JobEdit/JobEdit.js | 18 +- src/pages/JobEdit/JobEdit.module.css | 12 - src/pages/JobList/filter-jobs.js | 14 - src/pages/JobList/filter-jobs.test.js | 58 --- src/pages/JobList/index.js | 3 - src/pages/JobView/JobView.js | 17 +- src/pages/JobView/JobView.module.css | 12 - src/pages/QueueAdd/QueueAdd.js | 12 +- src/pages/QueueAdd/QueueAdd.module.css | 12 - src/pages/QueueEdit/QueueEdit.js | 12 +- src/pages/QueueEdit/QueueEdit.module.css | 12 - yarn.lock | 13 +- 173 files changed, 2267 insertions(+), 1373 deletions(-) rename cypress/fixtures/{add-sequence => add-queue}/two-unqueued-jobs.json (100%) rename cypress/fixtures/{edit-route => edit-job}/single-cron-user-job.json (100%) rename cypress/fixtures/{edit-route => edit-job}/single-user-job-with-params.json (100%) rename cypress/fixtures/{edit-route => edit-job}/single-user-job.json (100%) rename cypress/fixtures/{edit-sequence => edit-queue}/jobs-two-unqueued-jobs.json (100%) rename cypress/fixtures/{edit-sequence => edit-queue}/queue-two-unqueued-jobs.json (100%) rename cypress/fixtures/{edit-sequence => edit-queue}/queueable-two-unqueued-jobs.json (100%) rename cypress/fixtures/{edit-sequence => edit-queue}/schedule-two-unqueued-jobs.json (100%) create mode 100644 cypress/fixtures/list/disabled-queue-scheduler.json rename cypress/fixtures/{list-route/disabled-user-job.json => list/disabled-user-job-scheduler.json} (100%) create mode 100644 cypress/fixtures/list/enabled-queue-scheduler.json rename cypress/fixtures/{list-route/enabled-user-job.json => list/enabled-user-job-scheduler.json} (100%) create mode 100644 cypress/fixtures/list/list-queues-scheduler.json rename cypress/fixtures/{list-route/no-jobs.json => list/no-jobs-scheduler.json} (100%) create mode 100644 cypress/fixtures/list/single-queue-job-configurations.json create mode 100644 cypress/fixtures/list/single-queue-queues.json create mode 100644 cypress/fixtures/list/single-queue-scheduler.json rename cypress/fixtures/{list-route => list}/single-system-job-job-configurations.json (100%) rename cypress/fixtures/{list-route/single-system-job.json => list/single-system-job-scheduler.json} (100%) rename cypress/fixtures/{list-route => list}/single-user-job-job-configurations.json (100%) rename cypress/fixtures/{list-route/single-user-job.json => list/single-user-job-scheduler.json} (100%) rename cypress/fixtures/{list-route/some-user-and-system-jobs.json => list/some-user-and-system-jobs-scheduler.json} (100%) create mode 100644 cypress/fixtures/list/some-user-jobs-and-queues-scheduler.json rename cypress/fixtures/{list-route/some-user-jobs.json => list/some-user-jobs-scheduler.json} (100%) create mode 100644 cypress/fixtures/network/41/queue_actions.json create mode 100644 cypress/fixtures/network/41/queues_can_be_enabled_and_disabled.json rename cypress/fixtures/network/41/{users_should_be_able_to_edit_a_sequence.json => queues_should_be_listed.json} (95%) create mode 100644 cypress/fixtures/network/41/users_should_be_able_to_create_a_queue.json delete mode 100644 cypress/fixtures/network/41/users_should_be_able_to_create_a_sequence.json create mode 100644 cypress/fixtures/network/41/users_should_be_able_to_edit_a_queue.json delete mode 100644 cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_job_list.json create mode 100644 cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_list_route.json create mode 100644 cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_queue_route.json rename cypress/fixtures/{not-authorized-route => not-authorized}/unauthorized-user.json (100%) rename cypress/fixtures/{view-route => view-job}/single-system-job.json (100%) rename cypress/integration/{add-route => add-job}/back-to-all-jobs.feature (53%) rename cypress/integration/{add-route => add-job}/back-to-all-jobs/index.js (62%) rename cypress/integration/{add-route => add-job}/create-parameter-jobs.feature (91%) rename cypress/integration/{add-route => add-job}/create-parameter-jobs/index.js (98%) rename cypress/integration/{add-route => add-job}/create-parameterless-jobs.feature (85%) rename cypress/integration/{add-route => add-job}/create-parameterless-jobs/index.js (96%) rename cypress/integration/{add-route => add-job}/cron-presets.feature (88%) rename cypress/integration/{add-route => add-job}/cron-presets/index.js (96%) rename cypress/integration/{add-route => add-job}/info-link.feature (74%) rename cypress/integration/{add-route => add-job}/info-link/index.js (72%) rename cypress/integration/{add-sequence => add-queue}/back-to-all-jobs.feature (52%) rename cypress/integration/{add-sequence => add-queue}/back-to-all-jobs/index.js (62%) create mode 100644 cypress/integration/add-queue/create-queue.feature rename cypress/integration/{add-sequence/create-sequence => add-queue/create-queue}/index.js (83%) delete mode 100644 cypress/integration/add-sequence/create-sequence.feature rename cypress/integration/{edit-route => edit-job}/back-to-all-jobs.feature (56%) rename cypress/integration/{edit-route => edit-job}/back-to-all-jobs/index.js (64%) rename cypress/integration/{edit-route => edit-job}/cron-presets.feature (92%) rename cypress/integration/{edit-route => edit-job}/cron-presets/index.js (91%) rename cypress/integration/{edit-route => edit-job}/delete-button.feature (86%) rename cypress/integration/{edit-route => edit-job}/delete-button/index.js (92%) rename cypress/integration/{edit-route => edit-job}/display-jobs.feature (81%) rename cypress/integration/{edit-route => edit-job}/display-jobs/index.js (91%) rename cypress/integration/{edit-route => edit-job}/edit-parameter-jobs.feature (91%) rename cypress/integration/{edit-route => edit-job}/edit-parameter-jobs/index.js (98%) rename cypress/integration/{edit-route => edit-job}/edit-parameterless-jobs.feature (86%) rename cypress/integration/{edit-route => edit-job}/edit-parameterless-jobs/index.js (94%) rename cypress/integration/{edit-route => edit-job}/info-link.feature (78%) rename cypress/integration/{edit-route => edit-job}/info-link/index.js (72%) create mode 100644 cypress/integration/edit-queue/back-to-all-jobs.feature rename cypress/integration/{edit-sequence => edit-queue}/back-to-all-jobs/index.js (57%) create mode 100644 cypress/integration/edit-queue/edit-queue.feature rename cypress/integration/{edit-sequence/edit-sequence => edit-queue/edit-queue}/index.js (76%) delete mode 100644 cypress/integration/edit-sequence/back-to-all-jobs.feature delete mode 100644 cypress/integration/edit-sequence/edit-sequence.feature delete mode 100644 cypress/integration/list-route/job-toggle/index.js create mode 100644 cypress/integration/list/actions-queue.feature create mode 100644 cypress/integration/list/actions-queue/index.js rename cypress/integration/{list-route/system-job-actions.feature => list/actions-system-job.feature} (86%) rename cypress/integration/{list-route/system-job-actions => list/actions-system-job}/index.js (84%) rename cypress/integration/{list-route/user-job-actions.feature => list/actions-user-job.feature} (94%) rename cypress/integration/{list-route/user-job-actions => list/actions-user-job}/index.js (93%) rename cypress/integration/{list-route/filter-jobs.feature => list/filter.feature} (55%) rename cypress/integration/{list-route/filter-jobs => list/filter}/index.js (66%) rename cypress/integration/{list-route => list}/include-system-jobs.feature (84%) rename cypress/integration/{list-route => list}/include-system-jobs/index.js (89%) rename cypress/integration/{list-route => list}/info-link.feature (74%) rename cypress/integration/{list-route => list}/info-link/index.js (71%) create mode 100644 cypress/integration/list/list-queues.feature create mode 100644 cypress/integration/list/list-queues/index.js rename cypress/integration/{list-route => list}/list-user-jobs.feature (75%) rename cypress/integration/{list-route => list}/list-user-jobs/index.js (77%) rename cypress/integration/{list-route => list}/new-job.feature (51%) rename cypress/integration/{list-route => list}/new-job/index.js (72%) create mode 100644 cypress/integration/list/new-queue.feature create mode 100644 cypress/integration/list/new-queue/index.js rename cypress/integration/{list-route/job-toggle.feature => list/toggle-job.feature} (82%) create mode 100644 cypress/integration/list/toggle-job/index.js create mode 100644 cypress/integration/list/toggle-queue.feature create mode 100644 cypress/integration/list/toggle-queue/index.js rename cypress/integration/{not-authorized-route => not-authorized}/block-unauthorized.feature (100%) rename cypress/integration/{not-authorized-route => not-authorized}/block-unauthorized/index.js (88%) create mode 100644 cypress/integration/view-job/back-to-all-jobs.feature rename cypress/integration/{view-route => view-job}/back-to-all-jobs/index.js (73%) rename cypress/integration/{view-route => view-job}/display-jobs.feature (82%) rename cypress/integration/{view-route => view-job}/display-jobs/index.js (91%) rename cypress/integration/{view-route => view-job}/info-link.feature (78%) rename cypress/integration/{view-route => view-job}/info-link/index.js (73%) delete mode 100644 cypress/integration/view-route/back-to-all-jobs.feature create mode 100644 src/components/InfoLink/InfoLink.js create mode 100644 src/components/InfoLink/InfoLink.module.css create mode 100644 src/components/InfoLink/index.js create mode 100644 src/components/JobTable/DeleteQueueAction.js create mode 100644 src/components/JobTable/DeleteQueueAction.test.js create mode 100644 src/components/JobTable/EditQueueAction.js create mode 100644 src/components/JobTable/EditQueueAction.test.js create mode 100644 src/components/JobTable/ExpandableRow.js create mode 100644 src/components/JobTable/ExpandableRow.module.css rename src/components/JobTable/{Actions.js => JobActions.js} (87%) rename src/components/JobTable/{Actions.test.js => JobActions.test.js} (50%) create mode 100644 src/components/JobTable/QueueActions.js create mode 100644 src/components/JobTable/QueueActions.test.js create mode 100644 src/components/JobTable/QueueTableRow.js create mode 100644 src/components/JobTable/QueueTableRow.module.css create mode 100644 src/components/JobTable/QueueTableRow.test.js create mode 100644 src/components/Switches/JobSwitch.js create mode 100644 src/components/Switches/JobSwitch.test.js delete mode 100644 src/components/Switches/ToggleJobSwitch.js delete mode 100644 src/components/Switches/ToggleJobSwitch.test.js rename src/pages/{JobList/JobList.js => JobAndQueueList/JobAndQueueList.js} (58%) rename src/pages/{JobList/JobList.module.css => JobAndQueueList/JobAndQueueList.module.css} (71%) rename src/pages/{JobList/JobList.test.js => JobAndQueueList/JobAndQueueList.test.js} (81%) create mode 100644 src/pages/JobAndQueueList/filter-jobs-and-queues.js create mode 100644 src/pages/JobAndQueueList/filter-jobs-and-queues.test.js create mode 100644 src/pages/JobAndQueueList/index.js delete mode 100644 src/pages/JobList/filter-jobs.js delete mode 100644 src/pages/JobList/filter-jobs.test.js delete mode 100644 src/pages/JobList/index.js diff --git a/cypress/fixtures/add-sequence/two-unqueued-jobs.json b/cypress/fixtures/add-queue/two-unqueued-jobs.json similarity index 100% rename from cypress/fixtures/add-sequence/two-unqueued-jobs.json rename to cypress/fixtures/add-queue/two-unqueued-jobs.json diff --git a/cypress/fixtures/edit-route/single-cron-user-job.json b/cypress/fixtures/edit-job/single-cron-user-job.json similarity index 100% rename from cypress/fixtures/edit-route/single-cron-user-job.json rename to cypress/fixtures/edit-job/single-cron-user-job.json diff --git a/cypress/fixtures/edit-route/single-user-job-with-params.json b/cypress/fixtures/edit-job/single-user-job-with-params.json similarity index 100% rename from cypress/fixtures/edit-route/single-user-job-with-params.json rename to cypress/fixtures/edit-job/single-user-job-with-params.json diff --git a/cypress/fixtures/edit-route/single-user-job.json b/cypress/fixtures/edit-job/single-user-job.json similarity index 100% rename from cypress/fixtures/edit-route/single-user-job.json rename to cypress/fixtures/edit-job/single-user-job.json diff --git a/cypress/fixtures/edit-sequence/jobs-two-unqueued-jobs.json b/cypress/fixtures/edit-queue/jobs-two-unqueued-jobs.json similarity index 100% rename from cypress/fixtures/edit-sequence/jobs-two-unqueued-jobs.json rename to cypress/fixtures/edit-queue/jobs-two-unqueued-jobs.json diff --git a/cypress/fixtures/edit-sequence/queue-two-unqueued-jobs.json b/cypress/fixtures/edit-queue/queue-two-unqueued-jobs.json similarity index 100% rename from cypress/fixtures/edit-sequence/queue-two-unqueued-jobs.json rename to cypress/fixtures/edit-queue/queue-two-unqueued-jobs.json diff --git a/cypress/fixtures/edit-sequence/queueable-two-unqueued-jobs.json b/cypress/fixtures/edit-queue/queueable-two-unqueued-jobs.json similarity index 100% rename from cypress/fixtures/edit-sequence/queueable-two-unqueued-jobs.json rename to cypress/fixtures/edit-queue/queueable-two-unqueued-jobs.json diff --git a/cypress/fixtures/edit-sequence/schedule-two-unqueued-jobs.json b/cypress/fixtures/edit-queue/schedule-two-unqueued-jobs.json similarity index 100% rename from cypress/fixtures/edit-sequence/schedule-two-unqueued-jobs.json rename to cypress/fixtures/edit-queue/schedule-two-unqueued-jobs.json diff --git a/cypress/fixtures/list/disabled-queue-scheduler.json b/cypress/fixtures/list/disabled-queue-scheduler.json new file mode 100644 index 000000000..5835e7dbd --- /dev/null +++ b/cypress/fixtures/list/disabled-queue-scheduler.json @@ -0,0 +1,27 @@ +[ + { + "name": "Queue 1", + "type": "Sequence", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED", + "enabled": false, + "configurable": true, + "sequence": [ + { + "id": "uvUPBToQHD9", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED" + }, + { + "id": "PPgVeqiSXpz", + "name": "Job 2", + "type": "DISABLE_INACTIVE_USERS", + "status": "SCHEDULED" + } + ] + } +] diff --git a/cypress/fixtures/list-route/disabled-user-job.json b/cypress/fixtures/list/disabled-user-job-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/disabled-user-job.json rename to cypress/fixtures/list/disabled-user-job-scheduler.json diff --git a/cypress/fixtures/list/enabled-queue-scheduler.json b/cypress/fixtures/list/enabled-queue-scheduler.json new file mode 100644 index 000000000..76b28da31 --- /dev/null +++ b/cypress/fixtures/list/enabled-queue-scheduler.json @@ -0,0 +1,27 @@ +[ + { + "name": "Queue 1", + "type": "Sequence", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "uvUPBToQHD9", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED" + }, + { + "id": "PPgVeqiSXpz", + "name": "Job 2", + "type": "DISABLE_INACTIVE_USERS", + "status": "SCHEDULED" + } + ] + } +] diff --git a/cypress/fixtures/list-route/enabled-user-job.json b/cypress/fixtures/list/enabled-user-job-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/enabled-user-job.json rename to cypress/fixtures/list/enabled-user-job-scheduler.json diff --git a/cypress/fixtures/list/list-queues-scheduler.json b/cypress/fixtures/list/list-queues-scheduler.json new file mode 100644 index 000000000..a3f5574fb --- /dev/null +++ b/cypress/fixtures/list/list-queues-scheduler.json @@ -0,0 +1,27 @@ +[ + { + "name": "Queue", + "type": "Sequence", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "uvUPBToQHD9", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED" + }, + { + "id": "PPgVeqiSXpz", + "name": "Job 2", + "type": "DISABLE_INACTIVE_USERS", + "status": "SCHEDULED" + } + ] + } +] diff --git a/cypress/fixtures/list-route/no-jobs.json b/cypress/fixtures/list/no-jobs-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/no-jobs.json rename to cypress/fixtures/list/no-jobs-scheduler.json diff --git a/cypress/fixtures/list/single-queue-job-configurations.json b/cypress/fixtures/list/single-queue-job-configurations.json new file mode 100644 index 000000000..4dec628bf --- /dev/null +++ b/cypress/fixtures/list/single-queue-job-configurations.json @@ -0,0 +1,34 @@ +{ + "pager": { + "page": 1, + "total": 11, + "pageSize": 50, + "pageCount": 1 + }, + "jobConfigurations": [ + { + "name": "Job 1", + "created": "2023-11-16T13:20:38.208", + "jobType": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "jobParameters": { + "type": "REPORT" + }, + "lastExecutedStatus": "NOT_STARTED", + "configurable": true, + "id": "uvUPBToQHD9" + }, + { + "name": "Job 2", + "created": "2023-11-16T13:20:48.433", + "jobType": "DISABLE_INACTIVE_USERS", + "jobParameters": { + "inactiveMonths": 1, + "reminderDaysBefore": 2 + }, + "lastExecutedStatus": "NOT_STARTED", + "configurable": true, + "id": "PPgVeqiSXpz" + } + ] +} diff --git a/cypress/fixtures/list/single-queue-queues.json b/cypress/fixtures/list/single-queue-queues.json new file mode 100644 index 000000000..81a18c53f --- /dev/null +++ b/cypress/fixtures/list/single-queue-queues.json @@ -0,0 +1,5 @@ +{ + "name": "Queue", + "cronExpression": "0 0 3 ? * MON", + "sequence": ["uvUPBToQHD9", "PPgVeqiSXpz"] +} diff --git a/cypress/fixtures/list/single-queue-scheduler.json b/cypress/fixtures/list/single-queue-scheduler.json new file mode 100644 index 000000000..a3f5574fb --- /dev/null +++ b/cypress/fixtures/list/single-queue-scheduler.json @@ -0,0 +1,27 @@ +[ + { + "name": "Queue", + "type": "Sequence", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "uvUPBToQHD9", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED" + }, + { + "id": "PPgVeqiSXpz", + "name": "Job 2", + "type": "DISABLE_INACTIVE_USERS", + "status": "SCHEDULED" + } + ] + } +] diff --git a/cypress/fixtures/list-route/single-system-job-job-configurations.json b/cypress/fixtures/list/single-system-job-job-configurations.json similarity index 100% rename from cypress/fixtures/list-route/single-system-job-job-configurations.json rename to cypress/fixtures/list/single-system-job-job-configurations.json diff --git a/cypress/fixtures/list-route/single-system-job.json b/cypress/fixtures/list/single-system-job-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/single-system-job.json rename to cypress/fixtures/list/single-system-job-scheduler.json diff --git a/cypress/fixtures/list-route/single-user-job-job-configurations.json b/cypress/fixtures/list/single-user-job-job-configurations.json similarity index 100% rename from cypress/fixtures/list-route/single-user-job-job-configurations.json rename to cypress/fixtures/list/single-user-job-job-configurations.json diff --git a/cypress/fixtures/list-route/single-user-job.json b/cypress/fixtures/list/single-user-job-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/single-user-job.json rename to cypress/fixtures/list/single-user-job-scheduler.json diff --git a/cypress/fixtures/list-route/some-user-and-system-jobs.json b/cypress/fixtures/list/some-user-and-system-jobs-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/some-user-and-system-jobs.json rename to cypress/fixtures/list/some-user-and-system-jobs-scheduler.json diff --git a/cypress/fixtures/list/some-user-jobs-and-queues-scheduler.json b/cypress/fixtures/list/some-user-jobs-and-queues-scheduler.json new file mode 100644 index 000000000..273dc2f41 --- /dev/null +++ b/cypress/fixtures/list/some-user-jobs-and-queues-scheduler.json @@ -0,0 +1,84 @@ +[ + { + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "lnWRZN67iDU", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED" + } + ] + }, + { + "name": "Job 2", + "type": "MONITORING", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "HEUQRVwkSaB", + "name": "Job 2", + "type": "MONITORING", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED" + } + ] + }, + { + "name": "Job 3", + "type": "DISABLE_INACTIVE_USERS", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "thARpL8RTbe", + "name": "Job 3", + "type": "DISABLE_INACTIVE_USERS", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2021-03-01T03:00:00.000", + "status": "SCHEDULED" + } + ] + }, + { + "name": "Queue 1", + "type": "Sequence", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED", + "enabled": true, + "configurable": true, + "sequence": [ + { + "id": "uvUPBToQHD9", + "name": "Job 1", + "type": "DATA_INTEGRITY", + "cronExpression": "0 0 3 ? * MON", + "nextExecutionTime": "2023-11-20T03:00:00.000", + "status": "SCHEDULED" + }, + { + "id": "PPgVeqiSXpz", + "name": "Job 2", + "type": "DISABLE_INACTIVE_USERS", + "status": "SCHEDULED" + } + ] + } +] diff --git a/cypress/fixtures/list-route/some-user-jobs.json b/cypress/fixtures/list/some-user-jobs-scheduler.json similarity index 100% rename from cypress/fixtures/list-route/some-user-jobs.json rename to cypress/fixtures/list/some-user-jobs-scheduler.json diff --git a/cypress/fixtures/network/41/queue_actions.json b/cypress/fixtures/network/41/queue_actions.json new file mode 100644 index 000000000..a1e380dd7 --- /dev/null +++ b/cypress/fixtures/network/41/queue_actions.json @@ -0,0 +1,67 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Queue actions", + "static": false, + "count": 3, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/scheduler/queueable", + "featureName": "Queue actions", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 183, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/queues_can_be_enabled_and_disabled.json b/cypress/fixtures/network/41/queues_can_be_enabled_and_disabled.json new file mode 100644 index 000000000..bc4525275 --- /dev/null +++ b/cypress/fixtures/network/41/queues_can_be_enabled_and_disabled.json @@ -0,0 +1,35 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Queues can be enabled and disabled", + "static": false, + "count": 2, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_edit_a_sequence.json b/cypress/fixtures/network/41/queues_should_be_listed.json similarity index 95% rename from cypress/fixtures/network/41/users_should_be_able_to_edit_a_sequence.json rename to cypress/fixtures/network/41/queues_should_be_listed.json index 9e4b2db80..32f3718a6 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_edit_a_sequence.json +++ b/cypress/fixtures/network/41/queues_should_be_listed.json @@ -1,7 +1,7 @@ [ { "path": "/api/41/systemSettings/helpPageLink", - "featureName": "Users should be able to edit a sequence", + "featureName": "Queues should be listed", "static": false, "count": 1, "nonDeterministic": false, diff --git a/cypress/fixtures/network/41/static_resources.json b/cypress/fixtures/network/41/static_resources.json index 95e931781..f3b34961f 100644 --- a/cypress/fixtures/network/41/static_resources.json +++ b/cypress/fixtures/network/41/static_resources.json @@ -3,7 +3,7 @@ "path": "/api/system/info", "featureName": null, "static": true, - "count": 65, + "count": 72, "nonDeterministic": true, "method": "GET", "requestBody": "", @@ -17,73 +17,80 @@ }, "statusCode": 200, "responseBody": [ - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:40.731\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 29 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:42.075\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 31 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:46.853\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 35 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:49.521\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:51.878\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 40 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:53.858\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 42 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:55.766\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 44 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:03:57.680\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 46 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:00.083\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 49 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:02.882\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 51 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:04.884\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"11 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:11.070\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:13.213\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 2 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:15.049\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 4 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:17.207\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 6 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:22.479\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 11 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:24.309\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 13 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:29.837\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 18 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:34.283\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 23 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:35.449\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 24 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:40.112\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 29 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:46.754\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 35 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:48.333\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 37 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:53.799\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 42 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:04:55.474\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 44 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:00.748\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 49 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:02.327\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 51 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:06.836\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"12 m, 55 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:11.674\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:14.926\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 3 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:18.079\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 7 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:20.503\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 9 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:23.011\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 12 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:25.457\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 14 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:28.472\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 17 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:31.853\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 20 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:34.514\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 23 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:41.968\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 30 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:44.489\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 33 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:46.785\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 35 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:49.071\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:54.736\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 43 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:05:59.656\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 48 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:00.984\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 49 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:05.972\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"13 m, 54 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:12.067\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 1 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:13.574\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 2 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:18.439\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 7 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:20.603\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 9 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:25.831\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 14 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:30.669\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 19 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:32.391\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 21 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:36.967\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 25 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:38.399\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 27 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:42.853\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 31 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:47.701\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 36 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:52.750\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 41 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:54.433\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 43 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:55.757\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 44 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:57.347\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 46 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:06:59.623\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 48 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:07:04.690\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:07:09.130\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"14 m, 58 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:07:13.937\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"15 m, 2 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", - "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-08-01T15:07:18.633\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-08-01T14:52:11.004\",\"intervalSinceLastAnalyticsTableSuccess\":\"15 m, 7 s\",\"lastAnalyticsTableRuntime\":\"00:06:58.260\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"version\":\"2.41-SNAPSHOT\",\"revision\":\"a25f5ea\",\"buildTime\":\"2023-08-01T13:22:06.000\",\"databaseInfo\":{\"spatialSupport\":true},\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}" + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:12:50.075\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 30 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 2 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:12:50.075\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:12:51.305\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 31 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 3 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:12:51.306\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:12:55.902\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 36 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 8 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:12:55.902\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:12:58.587\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 10 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:12:58.587\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:00.865\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 40 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 12 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:00.865\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:02.819\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 42 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 14 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:02.819\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:05.199\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 45 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 17 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:05.200\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:07.094\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 47 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 19 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:07.094\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:10.234\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 50 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 22 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:10.234\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:13.080\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 25 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:13.080\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:15.157\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 48 m, 55 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 27 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:15.157\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:21.338\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 1 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 33 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:21.338\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:23.636\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 3 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 35 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:23.636\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:26.243\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 6 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 38 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:26.243\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:28.086\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 8 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 40 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:28.087\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:33.257\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 13 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 45 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:33.257\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:35.297\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 15 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 47 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:35.298\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:40.782\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 20 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 52 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:40.782\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:45.127\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 25 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 57 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:45.127\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:46.273\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 26 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 17 m, 58 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:46.274\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:50.970\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 31 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 3 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:50.970\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:56.834\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 36 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 8 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:56.834\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:13:58.331\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 10 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:13:58.331\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:03.817\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 43 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 15 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:03.818\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:06.319\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 46 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 18 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:06.319\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:11.836\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 51 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 23 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:11.836\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:13.341\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 25 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:13.341\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:18.726\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 49 m, 58 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 30 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:18.726\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:23.639\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 3 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 35 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:23.639\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:26.851\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 6 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 38 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:26.851\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:29.936\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 10 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 42 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:29.937\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:32.392\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 12 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 44 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:32.392\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:34.881\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 15 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 46 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:34.881\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:37.296\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 17 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 49 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:37.296\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:40.261\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 20 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 52 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:40.261\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:44.569\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 24 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 56 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:44.569\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:47.065\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 27 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 18 m, 59 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:47.065\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:53.870\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 34 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 5 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:53.870\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:56.389\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 36 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 8 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:56.389\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:14:58.631\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 10 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:14:58.632\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:00.900\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 41 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 12 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:00.900\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:06.485\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 46 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 18 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:06.485\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:11.603\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 51 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 23 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:11.604\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:13.378\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 25 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:13.378\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:18.914\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 50 m, 59 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 31 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:18.914\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:25.706\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 5 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 37 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:25.706\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:27.397\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 7 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 39 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:27.397\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:28.865\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 8 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 40 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:28.865\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:33.690\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 13 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 45 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:33.691\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:38.571\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 18 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 50 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:38.571\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:40.164\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 20 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 52 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:40.164\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:41.467\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 21 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 53 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:41.467\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:43.228\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 23 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 55 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:43.228\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:44.479\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 24 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 19 m, 56 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:44.479\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:49.697\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 29 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 1 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:49.697\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:51.436\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 31 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 3 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:51.436\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:56.722\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 36 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 8 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:56.722\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:15:58.407\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 38 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 10 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:15:58.407\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:03.829\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 43 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 15 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:03.829\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:08.583\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 48 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 20 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:08.584\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:13.206\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 53 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 25 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:13.206\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:14.544\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 54 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 26 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:14.544\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:18.882\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 51 m, 59 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 30 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:18.882\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:23.623\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 3 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 35 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:23.623\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:28.188\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 8 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 40 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:28.189\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:29.575\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 9 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 41 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:29.575\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:34.003\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 14 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 46 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:34.003\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:35.429\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 15 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 47 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:35.429\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:39.936\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 20 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 52 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:39.936\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:44.284\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 24 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 20 m, 56 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:44.285\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:48.779\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 28 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 21 m\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:48.779\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}", + "{\"contextPath\":\"https://debug.dhis2.org/dev\",\"userAgent\":\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/9.5.1 Chrome/94.0.4606.81 Electron/15.3.4 Safari/537.36\",\"calendar\":\"iso8601\",\"dateFormat\":\"yyyy-mm-dd\",\"serverDate\":\"2023-12-06T15:16:53.537\",\"serverTimeZoneId\":\"Etc/UTC\",\"serverTimeZoneDisplayName\":\"Coordinated Universal Time\",\"lastAnalyticsTableSuccess\":\"2023-11-30T13:24:19.869\",\"intervalSinceLastAnalyticsTableSuccess\":\"145 h, 52 m, 33 s\",\"lastAnalyticsTableRuntime\":\"00:12:16.972\",\"lastSystemMonitoringSuccess\":\"2019-03-26T17:07:15.418\",\"lastAnalyticsTablePartitionSuccess\":\"2023-12-05T14:55:47.902\",\"intervalSinceLastAnalyticsTablePartitionSuccess\":\"24 h, 21 m, 5 s\",\"lastAnalyticsTablePartitionRuntime\":\"00:00:50.046\",\"databaseInfo\":{\"spatialSupport\":true,\"time\":\"2023-12-06T15:16:53.537\"},\"version\":\"2.41-SNAPSHOT\",\"revision\":\"235c236\",\"buildTime\":\"2023-12-05T19:42:38.000\",\"encryption\":false,\"emailConfigured\":false,\"redisEnabled\":false,\"systemId\":\"eed3d451-4ff5-4193-b951-ffcc68954299\",\"systemName\":\"DHIS 2 Demo - Sierra Leone\",\"instanceBaseUrl\":\"https://debug.dhis2.org/dev\",\"isMetadataVersionEnabled\":true}" ], - "responseSize": 883, + "responseSize": 1156, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -101,14 +108,15 @@ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71 ] }, { "path": "/api/41/userSettings", "featureName": null, "static": true, - "count": 65, + "count": 72, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -141,7 +149,7 @@ "path": "/api/41/me?fields=id", "featureName": null, "static": true, - "count": 64, + "count": 71, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -173,7 +181,7 @@ "path": "/api/41/systemSettings/applicationTitle", "featureName": null, "static": true, - "count": 65, + "count": 72, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -203,10 +211,10 @@ } }, { - "path": "/api/41/me?fields=authorities,avatar,email,name,settings", + "path": "/api/41/me/dashboard", "featureName": null, "static": true, - "count": 64, + "count": 72, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -219,8 +227,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"]}", - "responseSize": 11522, + "responseBody": "{\"unreadInterpretations\":41,\"unreadMessageConversations\":199}", + "responseSize": 61, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -230,15 +238,16 @@ "access-control-allow-origin": "http://localhost:3000", "vary": "Origin", "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, no-store, max-age=0, must-revalidate", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } }, { - "path": "/dhis-web-commons/menu/getModules.action", + "path": "/api/41/me?fields=authorities,avatar,email,name,settings", "featureName": null, "static": true, - "count": 65, + "count": 71, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -251,8 +260,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"modules\":[{\"name\":\"dhis-web-dashboard\",\"namespace\":\"/dhis-web-dashboard\",\"defaultAction\":\"../dhis-web-dashboard/index.action\",\"displayName\":\"Dashboard\",\"icon\":\"../icons/dhis-web-dashboard.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-visualizer\",\"namespace\":\"/dhis-web-data-visualizer\",\"defaultAction\":\"../dhis-web-data-visualizer/index.action\",\"displayName\":\"Data Visualizer\",\"icon\":\"../icons/dhis-web-data-visualizer.png\",\"description\":\"\"},{\"name\":\"line-listing\",\"namespace\":\"line-listing\",\"defaultAction\":\"/apps/line-listing/index.html\",\"displayName\":\"Line Listing\",\"icon\":\"/apps/line-listing/dhis2-app-icon.png\",\"description\":\"DHIS2 Line Listing\"},{\"name\":\"dhis-web-maps\",\"namespace\":\"/dhis-web-maps\",\"defaultAction\":\"../dhis-web-maps/index.action\",\"displayName\":\"Maps\",\"icon\":\"../icons/dhis-web-maps.png\",\"description\":\"\"},{\"name\":\"dhis-web-settings\",\"namespace\":\"/dhis-web-settings\",\"defaultAction\":\"../dhis-web-settings/index.action\",\"displayName\":\"System Settings\",\"icon\":\"../icons/dhis-web-settings.png\",\"description\":\"\"},{\"name\":\"dhis-web-maintenance\",\"namespace\":\"/dhis-web-maintenance\",\"defaultAction\":\"../dhis-web-maintenance/index.action\",\"displayName\":\"Maintenance\",\"icon\":\"../icons/dhis-web-maintenance.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-administration\",\"namespace\":\"/dhis-web-data-administration\",\"defaultAction\":\"../dhis-web-data-administration/index.action\",\"displayName\":\"Data Administration\",\"icon\":\"../icons/dhis-web-data-administration.png\",\"description\":\"\"},{\"name\":\"dhis-web-app-management\",\"namespace\":\"/dhis-web-app-management\",\"defaultAction\":\"../dhis-web-app-management/index.action\",\"displayName\":\"App Management\",\"icon\":\"../icons/dhis-web-app-management.png\",\"description\":\"\"},{\"name\":\"dhis-web-event-reports\",\"namespace\":\"/dhis-web-event-reports\",\"defaultAction\":\"../dhis-web-event-reports/index.action\",\"displayName\":\"Event Reports\",\"icon\":\"../icons/dhis-web-event-reports.png\",\"description\":\"\"},{\"name\":\"dhis-web-event-visualizer\",\"namespace\":\"/dhis-web-event-visualizer\",\"defaultAction\":\"../dhis-web-event-visualizer/index.action\",\"displayName\":\"Event Visualizer\",\"icon\":\"../icons/dhis-web-event-visualizer.png\",\"description\":\"\"},{\"name\":\"dhis-web-dataentry\",\"namespace\":\"/dhis-web-dataentry\",\"defaultAction\":\"../dhis-web-dataentry/index.action\",\"displayName\":\"Data Entry\",\"icon\":\"../icons/dhis-web-dataentry.png\",\"description\":\"\"},{\"name\":\"dhis-web-tracker-capture\",\"namespace\":\"/dhis-web-tracker-capture\",\"defaultAction\":\"../dhis-web-tracker-capture/index.action\",\"displayName\":\"Tracker Capture\",\"icon\":\"../icons/dhis-web-tracker-capture.png\",\"description\":\"\"},{\"name\":\"dhis-web-scheduler\",\"namespace\":\"/dhis-web-scheduler\",\"defaultAction\":\"../dhis-web-scheduler/index.action\",\"displayName\":\"Scheduler\",\"icon\":\"../icons/dhis-web-scheduler.png\",\"description\":\"\"},{\"name\":\"dhis-web-usage-analytics\",\"namespace\":\"/dhis-web-usage-analytics\",\"defaultAction\":\"../dhis-web-usage-analytics/index.action\",\"displayName\":\"Usage Analytics\",\"icon\":\"../icons/dhis-web-usage-analytics.png\",\"description\":\"\"},{\"name\":\"dhis-web-interpretation\",\"namespace\":\"/dhis-web-interpretation\",\"defaultAction\":\"../dhis-web-interpretation/index.action\",\"displayName\":\"Interpretations\",\"icon\":\"../icons/dhis-web-interpretation.png\",\"description\":\"\"},{\"name\":\"dhis-web-datastore\",\"namespace\":\"/dhis-web-datastore\",\"defaultAction\":\"../dhis-web-datastore/index.action\",\"displayName\":\"Datastore Management\",\"icon\":\"../icons/dhis-web-datastore.png\",\"description\":\"\"},{\"name\":\"dhis-web-cache-cleaner\",\"namespace\":\"/dhis-web-cache-cleaner\",\"defaultAction\":\"../dhis-web-cache-cleaner/index.action\",\"displayName\":\"Browser Cache Cleaner\",\"icon\":\"../icons/dhis-web-cache-cleaner.png\",\"description\":\"\"},{\"name\":\"dhis-web-translations\",\"namespace\":\"/dhis-web-translations\",\"defaultAction\":\"../dhis-web-translations/index.action\",\"displayName\":\"Translations\",\"icon\":\"../icons/dhis-web-translations.png\",\"description\":\"\"},{\"name\":\"dhis-web-capture\",\"namespace\":\"/dhis-web-capture\",\"defaultAction\":\"../dhis-web-capture/index.action\",\"displayName\":\"Capture\",\"icon\":\"../icons/dhis-web-capture.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-quality\",\"namespace\":\"/dhis-web-data-quality\",\"defaultAction\":\"../dhis-web-data-quality/index.action\",\"displayName\":\"Data Quality\",\"icon\":\"../icons/dhis-web-data-quality.png\",\"description\":\"\"},{\"name\":\"dhis-web-user\",\"namespace\":\"/dhis-web-user\",\"defaultAction\":\"../dhis-web-user/index.action\",\"displayName\":\"Users\",\"icon\":\"../icons/dhis-web-user.png\",\"description\":\"\"},{\"name\":\"dhis-web-approval\",\"namespace\":\"/dhis-web-approval\",\"defaultAction\":\"../dhis-web-approval/index.action\",\"displayName\":\"Data Approval\",\"icon\":\"../icons/dhis-web-approval.png\",\"description\":\"\"},{\"name\":\"dhis-web-import-export\",\"namespace\":\"/dhis-web-import-export\",\"defaultAction\":\"../dhis-web-import-export/index.action\",\"displayName\":\"Import/Export\",\"icon\":\"../icons/dhis-web-import-export.png\",\"description\":\"\"},{\"name\":\"dhis-web-menu-management\",\"namespace\":\"/dhis-web-menu-management\",\"defaultAction\":\"../dhis-web-menu-management/index.action\",\"displayName\":\"Menu Management\",\"icon\":\"../icons/dhis-web-menu-management.png\",\"description\":\"\"},{\"name\":\"dhis-web-reports\",\"namespace\":\"/dhis-web-reports\",\"defaultAction\":\"../dhis-web-reports/index.action\",\"displayName\":\"Reports\",\"icon\":\"../icons/dhis-web-reports.png\",\"description\":\"\"},{\"name\":\"dhis-web-sms-configuration\",\"namespace\":\"/dhis-web-sms-configuration\",\"defaultAction\":\"../dhis-web-sms-configuration/index.action\",\"displayName\":\"SMS Configuration\",\"icon\":\"../icons/dhis-web-sms-configuration.png\",\"description\":\"\"},{\"name\":\"plugin-demo\",\"namespace\":\"plugin-demo\",\"defaultAction\":\"/apps/plugin-demo/index.html\",\"displayName\":\"plugin-demo\",\"icon\":\"/apps/plugin-demo/dhis2-app-icon.png\",\"description\":\"\"},{\"name\":\"android-settings-app\",\"namespace\":\"android-settings-app\",\"defaultAction\":\"/apps/android-settings-app/index.html\",\"displayName\":\"Android Settings\",\"icon\":\"/apps/android-settings-app/dhis2-app-icon.png\",\"description\":\"\"},{\"name\":\"Tracker Bulk Actions\",\"namespace\":\"Tracker Bulk Actions\",\"defaultAction\":\"/apps/Tracker-Bulk-Actions/index.html\",\"displayName\":\"Tracker Bulk Actions\",\"icon\":\"/apps/Tracker-Bulk-Actions/dhis2-app-icon.png\",\"description\":\"Tracker Bulk Actions\"},{\"name\":\"data-exchange\",\"namespace\":\"data-exchange\",\"defaultAction\":\"/apps/data-exchange/index.html\",\"displayName\":\"Data Exchange\",\"icon\":\"/apps/data-exchange/dhis2-app-icon.png\",\"description\":\"\"}]}", - "responseSize": 6771, + "responseBody": "{\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"]}", + "responseSize": 11522, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -262,16 +271,15 @@ "access-control-allow-origin": "http://localhost:3000", "vary": "Origin", "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, no-store, max-age=0, must-revalidate", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } }, { - "path": "/api/41/me/dashboard", + "path": "/dhis-web-commons/menu/getModules.action", "featureName": null, "static": true, - "count": 65, + "count": 72, "nonDeterministic": false, "method": "GET", "requestBody": "", @@ -284,8 +292,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"unreadInterpretations\":41,\"unreadMessageConversations\":189}", - "responseSize": 61, + "responseBody": "{\"modules\":[{\"name\":\"dhis-web-dashboard\",\"namespace\":\"/dhis-web-dashboard\",\"defaultAction\":\"../dhis-web-dashboard/index.action\",\"displayName\":\"Dashboard\",\"icon\":\"../icons/dhis-web-dashboard.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-visualizer\",\"namespace\":\"/dhis-web-data-visualizer\",\"defaultAction\":\"../dhis-web-data-visualizer/index.action\",\"displayName\":\"Data Visualizer\",\"icon\":\"../icons/dhis-web-data-visualizer.png\",\"description\":\"\"},{\"name\":\"line-listing\",\"namespace\":\"line-listing\",\"defaultAction\":\"/apps/line-listing/index.html\",\"displayName\":\"Line Listing\",\"icon\":\"/apps/line-listing/dhis2-app-icon.png\",\"description\":\"DHIS2 Line Listing\"},{\"name\":\"dhis-web-maps\",\"namespace\":\"/dhis-web-maps\",\"defaultAction\":\"../dhis-web-maps/index.action\",\"displayName\":\"Maps\",\"icon\":\"../icons/dhis-web-maps.png\",\"description\":\"\"},{\"name\":\"dhis-web-settings\",\"namespace\":\"/dhis-web-settings\",\"defaultAction\":\"../dhis-web-settings/index.action\",\"displayName\":\"System Settings\",\"icon\":\"../icons/dhis-web-settings.png\",\"description\":\"\"},{\"name\":\"dhis-web-maintenance\",\"namespace\":\"/dhis-web-maintenance\",\"defaultAction\":\"../dhis-web-maintenance/index.action\",\"displayName\":\"Maintenance\",\"icon\":\"../icons/dhis-web-maintenance.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-administration\",\"namespace\":\"/dhis-web-data-administration\",\"defaultAction\":\"../dhis-web-data-administration/index.action\",\"displayName\":\"Data Administration\",\"icon\":\"../icons/dhis-web-data-administration.png\",\"description\":\"\"},{\"name\":\"dhis-web-app-management\",\"namespace\":\"/dhis-web-app-management\",\"defaultAction\":\"../dhis-web-app-management/index.action\",\"displayName\":\"App Management\",\"icon\":\"../icons/dhis-web-app-management.png\",\"description\":\"\"},{\"name\":\"dhis-web-event-reports\",\"namespace\":\"/dhis-web-event-reports\",\"defaultAction\":\"../dhis-web-event-reports/index.action\",\"displayName\":\"Event Reports\",\"icon\":\"../icons/dhis-web-event-reports.png\",\"description\":\"\"},{\"name\":\"dhis-web-event-visualizer\",\"namespace\":\"/dhis-web-event-visualizer\",\"defaultAction\":\"../dhis-web-event-visualizer/index.action\",\"displayName\":\"Event Visualizer\",\"icon\":\"../icons/dhis-web-event-visualizer.png\",\"description\":\"\"},{\"name\":\"dhis-web-dataentry\",\"namespace\":\"/dhis-web-dataentry\",\"defaultAction\":\"../dhis-web-dataentry/index.action\",\"displayName\":\"Data Entry\",\"icon\":\"../icons/dhis-web-dataentry.png\",\"description\":\"\"},{\"name\":\"dhis-web-tracker-capture\",\"namespace\":\"/dhis-web-tracker-capture\",\"defaultAction\":\"../dhis-web-tracker-capture/index.action\",\"displayName\":\"Tracker Capture\",\"icon\":\"../icons/dhis-web-tracker-capture.png\",\"description\":\"\"},{\"name\":\"dhis-web-scheduler\",\"namespace\":\"/dhis-web-scheduler\",\"defaultAction\":\"../dhis-web-scheduler/index.action\",\"displayName\":\"Scheduler\",\"icon\":\"../icons/dhis-web-scheduler.png\",\"description\":\"\"},{\"name\":\"dhis-web-usage-analytics\",\"namespace\":\"/dhis-web-usage-analytics\",\"defaultAction\":\"../dhis-web-usage-analytics/index.action\",\"displayName\":\"Usage Analytics\",\"icon\":\"../icons/dhis-web-usage-analytics.png\",\"description\":\"\"},{\"name\":\"dhis-web-interpretation\",\"namespace\":\"/dhis-web-interpretation\",\"defaultAction\":\"../dhis-web-interpretation/index.action\",\"displayName\":\"Interpretations\",\"icon\":\"../icons/dhis-web-interpretation.png\",\"description\":\"\"},{\"name\":\"dhis-web-datastore\",\"namespace\":\"/dhis-web-datastore\",\"defaultAction\":\"../dhis-web-datastore/index.action\",\"displayName\":\"Datastore Management\",\"icon\":\"../icons/dhis-web-datastore.png\",\"description\":\"\"},{\"name\":\"dhis-web-cache-cleaner\",\"namespace\":\"/dhis-web-cache-cleaner\",\"defaultAction\":\"../dhis-web-cache-cleaner/index.action\",\"displayName\":\"Browser Cache Cleaner\",\"icon\":\"../icons/dhis-web-cache-cleaner.png\",\"description\":\"\"},{\"name\":\"dhis-web-translations\",\"namespace\":\"/dhis-web-translations\",\"defaultAction\":\"../dhis-web-translations/index.action\",\"displayName\":\"Translations\",\"icon\":\"../icons/dhis-web-translations.png\",\"description\":\"\"},{\"name\":\"dhis-web-capture\",\"namespace\":\"/dhis-web-capture\",\"defaultAction\":\"../dhis-web-capture/index.action\",\"displayName\":\"Capture\",\"icon\":\"../icons/dhis-web-capture.png\",\"description\":\"\"},{\"name\":\"dhis-web-data-quality\",\"namespace\":\"/dhis-web-data-quality\",\"defaultAction\":\"../dhis-web-data-quality/index.action\",\"displayName\":\"Data Quality\",\"icon\":\"../icons/dhis-web-data-quality.png\",\"description\":\"\"},{\"name\":\"dhis-web-user\",\"namespace\":\"/dhis-web-user\",\"defaultAction\":\"../dhis-web-user/index.action\",\"displayName\":\"Users\",\"icon\":\"../icons/dhis-web-user.png\",\"description\":\"\"},{\"name\":\"dhis-web-approval\",\"namespace\":\"/dhis-web-approval\",\"defaultAction\":\"../dhis-web-approval/index.action\",\"displayName\":\"Data Approval\",\"icon\":\"../icons/dhis-web-approval.png\",\"description\":\"\"},{\"name\":\"dhis-web-import-export\",\"namespace\":\"/dhis-web-import-export\",\"defaultAction\":\"../dhis-web-import-export/index.action\",\"displayName\":\"Import/Export\",\"icon\":\"../icons/dhis-web-import-export.png\",\"description\":\"\"},{\"name\":\"dhis-web-menu-management\",\"namespace\":\"/dhis-web-menu-management\",\"defaultAction\":\"../dhis-web-menu-management/index.action\",\"displayName\":\"Menu Management\",\"icon\":\"../icons/dhis-web-menu-management.png\",\"description\":\"\"},{\"name\":\"dhis-web-reports\",\"namespace\":\"/dhis-web-reports\",\"defaultAction\":\"../dhis-web-reports/index.action\",\"displayName\":\"Reports\",\"icon\":\"../icons/dhis-web-reports.png\",\"description\":\"\"},{\"name\":\"dhis-web-sms-configuration\",\"namespace\":\"/dhis-web-sms-configuration\",\"defaultAction\":\"../dhis-web-sms-configuration/index.action\",\"displayName\":\"SMS Configuration\",\"icon\":\"../icons/dhis-web-sms-configuration.png\",\"description\":\"\"},{\"name\":\"Microplanning\",\"namespace\":\"Microplanning\",\"defaultAction\":\"/apps/Microplanning/index.html\",\"displayName\":\"Microplanning\",\"icon\":\"/apps/Microplanning/dhis2-app-icon.png\",\"description\":\"\"}]}", + "responseSize": 5918, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -304,7 +312,7 @@ "path": "/api/41/me", "featureName": null, "static": true, - "count": 64, + "count": 71, "nonDeterministic": true, "method": "GET", "requestBody": "", @@ -318,34 +326,37 @@ }, "statusCode": 200, "responseBody": [ - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:03:39.563\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:03:39.560\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:03:45.855\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:03:45.850\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:10.064\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:10.062\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:21.566\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:21.563\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:28.808\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:28.804\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:33.336\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:33.333\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:39.090\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:39.087\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:45.832\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:45.830\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:52.865\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:52.863\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:04:59.813\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:04:59.811\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:05.829\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:05.827\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:10.739\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:10.737\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:40.974\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:40.972\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:42.992\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:42.990\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:53.723\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:53.721\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:05:58.680\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:05:58.677\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:04.904\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:04.901\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:11.047\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:11.045\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:17.454\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:17.451\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:24.807\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:24.804\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:29.656\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:29.654\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:35.967\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:35.964\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:41.820\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:41.818\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:46.686\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:46.682\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:06:51.731\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:06:51.729\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:07:08.112\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:07:08.110\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:07:12.866\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:07:12.864\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", - "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-08-01T15:07:17.625\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"IpHINAT79UW\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\"],\"authorities\":[\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\",\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-08-01T15:07:17.623\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}" + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:12:49.028\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:12:49.027\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:12:54.984\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:12:54.982\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:20.410\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:20.409\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:32.375\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:32.374\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:39.812\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:39.811\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:44.263\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:44.262\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:50.042\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:50.041\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:13:55.767\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:13:55.766\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:14:02.871\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:14:02.870\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:14:10.905\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:14:10.904\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:14:17.756\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:14:17.755\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:14:22.709\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:14:22.708\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:14:52.921\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:14:52.920\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:05.522\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:05.521\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:10.678\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:10.677\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:17.805\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:17.804\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:24.757\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:24.756\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:32.681\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:32.680\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:37.591\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:37.590\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:48.767\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:48.766\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:15:55.774\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:15:55.773\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:02.832\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:02.831\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:07.614\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:07.613\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:12.246\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:12.245\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:17.936\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:17.935\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:22.633\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:22.632\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:27.251\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:27.250\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:33.062\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:33.061\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:43.311\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:43.310\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:47.811\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:47.810\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}", + "{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"surname\":\"Traore\",\"firstName\":\"John\",\"employer\":\"DHIS\",\"languages\":\"English\",\"gender\":\"gender_male\",\"jobTitle\":\"Super user\",\"created\":\"2013-04-18T17:15:08.407\",\"lastUpdated\":\"2023-12-06T15:16:52.549\",\"dataViewOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"favorites\":[],\"userGroups\":[{\"id\":\"Kk12LkEWtXp\"},{\"id\":\"M1Qre0247G3\"},{\"id\":\"NTC8GjJ7p8P\"},{\"id\":\"B6JNeAQ6akX\"},{\"id\":\"wl5cDMuUhmF\"},{\"id\":\"QYrzIjSfI8z\"},{\"id\":\"lFHP5lLkzVr\"},{\"id\":\"jvrEwEJ2yZn\"},{\"id\":\"vAvEltyXGbD\"},{\"id\":\"w900PX10L7O\"},{\"id\":\"GogLpGmkL0g\"},{\"id\":\"vRoAruMnNpB\"},{\"id\":\"z1gNAf2zUxZ\"},{\"id\":\"gXpmQO6eEOo\"},{\"id\":\"tH0GcNZZ1vW\"},{\"id\":\"H9XnHoWRKCg\"}],\"translations\":[],\"teiSearchOrganisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"organisationUnits\":[{\"id\":\"ImspTQPwCqd\"}],\"displayName\":\"John Traore\",\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"name\":\"John Traore\",\"email\":\"dummy@dhis2.org\",\"introduction\":\"I am the super user of DHIS 2\",\"birthday\":\"1971-04-08T00:00:00.000\",\"nationality\":\"Sierra Leone\",\"education\":\"Master of super using\",\"interests\":\"Football, swimming, singing, dancing\",\"whatsApp\":\"+123123123123\",\"facebookMessenger\":\"john.traore\",\"skype\":\"john.traore\",\"telegram\":\"john.traore\",\"twitter\":\"john.traore\",\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}],\"settings\":{\"keyMessageSmsNotification\":false,\"keyCurrentStyle\":\"light_blue/light_blue.css\",\"keyTrackerDashboardLayout\":\"{\\\"IpHINAT79UW\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"IpHINAT79UW\\\"},\\\"ur1Edk5Oe2n\\\":{\\\"widgets\\\":[{\\\"title\\\":\\\"enrollment\\\",\\\"view\\\":\\\"components/enrollment/enrollment.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"indicators\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"dataentry\\\",\\\"view\\\":\\\"components/dataentry/dataentry.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"report\\\",\\\"view\\\":\\\"components/report/tei-report.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"current_selections\\\",\\\"view\\\":\\\"components/selected/selected.html\\\",\\\"show\\\":false,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":0},{\\\"title\\\":\\\"feedback\\\",\\\"view\\\":\\\"components/rulebound/rulebound.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":1},{\\\"title\\\":\\\"profile\\\",\\\"view\\\":\\\"components/profile/profile.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":2},{\\\"title\\\":\\\"relationships\\\",\\\"view\\\":\\\"components/relationship/relationship.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":3},{\\\"title\\\":\\\"notes\\\",\\\"view\\\":\\\"components/notes/notes.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":4},{\\\"title\\\":\\\"messaging\\\",\\\"view\\\":\\\"components/messaging/messaging.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"smallerWidget\\\",\\\"order\\\":5},{\\\"title\\\":\\\"dataentryTabular\\\",\\\"view\\\":\\\"components/dataentry/dataentry-tabular-layout.html\\\",\\\"show\\\":true,\\\"expand\\\":true,\\\"parent\\\":\\\"biggerWidget\\\",\\\"order\\\":3}],\\\"program\\\":\\\"ur1Edk5Oe2n\\\"}}\",\"keyStyle\":\"light_blue/light_blue.css\",\"keyUiLocale\":\"en\",\"keyAnalysisDisplayProperty\":\"name\",\"keyMessageEmailNotification\":false},\"programs\":[\"uy2gU8kT1jF\",\"ur1Edk5Oe2n\",\"MoUd5BTQ3lY\",\"lxAQ7Zs9VYR\",\"kla3mAPgvCH\",\"qDkgAbB5Jlk\",\"VBqh0ynB2wv\",\"bMcwwoVnbSR\",\"q04UBOqq3rp\",\"eBAyeGv0exc\",\"M3xtLkYBlKI\",\"fDd25txQckK\",\"WSGAb5XwJ3Y\",\"J1QQtmzqhJz\",\"IpHINAT79UW\"],\"authorities\":[\"M_dhis-web-visualizer\",\"M_dhis-web-event-capture\",\"M_dhis-web-dataentry\",\"F_UNCOMPLETE_EVENT\",\"M_dhis-web-sms-configuration\",\"F_TRACKED_ENTITY_MANAGEMENT\",\"F_LEGEND_SET_DELETE\",\"F_REPORT_DELETE\",\"F_DATAELEMENT_MINMAX_DELETE\",\"F_MAP_EXTERNAL\",\"M_dhis-web-dashboard\",\"F_MANAGE_TICKETS\",\"F_LEGEND_ADD\",\"F_RELATIONSHIP_DELETE\",\"M_dhis-web-sms\",\"F_OPTIONSET_PUBLIC_ADD\",\"M_dhis-web-interpretation\",\"F_INDICATOR_PRIVATE_ADD\",\"F_SQLVIEW_PUBLIC_ADD\",\"F_FRED_DELETE\",\"F_LEGEND_SET_PRIVATE_ADD\",\"F_VALIDATIONCRITERIA_ADD\",\"F_LOCALE_ADD\",\"F_PROGRAM_VALIDATION\",\"F_VALIDATIONRULEGROUP_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_DELETE\",\"F_ANONYMOUS_DATA_ENTRY\",\"M_dhis-web-reports\",\"F_DATASET_DELETE\",\"F_CATEGORY_OPTION_GROUP_SET_PUBLIC_ADD\",\"F_CATEGORY_OPTION_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_LIST\",\"F_RELATIONSHIPTYPE_DELETE\",\"M_dhis-web-pivot\",\"F_PROGRAM_INSTANCE_MANAGEMENT\",\"F_EVENT_VISUALIZATION_EXTERNAL\",\"F_LOCALE_DELETE\",\"F_PERFORM_MAINTENANCE\",\"F_REPORT_PRIVATE_ADD\",\"F_DATASET_PRIVATE_ADD\",\"F_INDICATOR_DELETE\",\"F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS\",\"F_ORGUNITGROUPSET_DELETE\",\"F_EXPORT_DATA\",\"M_dhis-web-light\",\"F_INDICATOR_PUBLIC_ADD\",\"F_PROGRAM_TRACKING_LIST\",\"F_EXPORT_EVENTS\",\"F_DATAELEMENT_DELETE\",\"F_EVENTREPORT_PUBLIC_ADD\",\"F_ORGUNITGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_PUBLIC_ADD\",\"M_dhis-web-app-management\",\"F_ENROLLMENT_CASCADE_DELETE\",\"M_dhis-web-tracker-capture\",\"F_OPTIONGROUPSET_PRIVATE_ADD\",\"F_USERROLE_PRIVATE_ADD\",\"M_dhis-web-maps\",\"F_PERFORM_ANALYTICS_EXPLAIN\",\"F_MINMAX_DATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_PRIVATE_ADD\",\"F_OPTIONGROUP_PUBLIC_ADD\",\"F_SYSTEM_SETTING\",\"F_VISUALIZATION_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_PUBLIC_ADD\",\"F_PREDICTOR_RUN\",\"F_VALIDATIONCRITERIA_DELETE\",\"F_DATAELEMENT_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PRIVATE_ADD\",\"F_USERROLE_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW\",\"F_ORGANISATIONUNIT_DELETE\",\"M_dhis-web-capture\",\"F_VALIDATIONRULEGROUP_PUBLIC_ADD\",\"F_ATTRIBUTE_PRIVATE_ADD\",\"F_CATEGORY_OPTION_GROUP_SET_PRIVATE_ADD\",\"F_APPROVE_DATA\",\"M_dhis-web-data-visualizer\",\"F_DATA_MART_ADMIN\",\"F_INDICATORTYPE_DELETE\",\"M_dhis-web-translations\",\"F_DATAELEMENTGROUPSET_DELETE\",\"F_DATAELEMENT_PUBLIC_ADD\",\"M_Data_Table\",\"F_EXTERNAL_MAP_LAYER_DELETE\",\"F_PROGRAM_PRIVATE_ADD\",\"F_MOBILE_DELETE_SMS\",\"F_ORGANISATIONUNITLEVEL_UPDATE\",\"M_dhis-web-event-reports\",\"F_ADD_TRACKED_ENTITY_FORM\",\"M_dhis-web-scheduler\",\"F_PROGRAMDATAELEMENT_ADD\",\"F_CATEGORY_OPTION_GROUP_DELETE\",\"F_VIEW_EVENT_ANALYTICS\",\"F_INDICATORGROUP_PUBLIC_ADD\",\"F_PROGRAM_INDICATOR_GROUP_DELETE\",\"M_dhis-web-maintenance-settings\",\"F_USERROLE_LIST\",\"F_PROGRAM_DASHBOARD_CONFIG_ADMIN\",\"F_MOBILE_SENDSMS\",\"M_dhis-web-event-visualizer\",\"F_PROGRAMSTAGE_ADD\",\"F_TRACKED_ENTITY_UPDATE\",\"F_USER_DELETE_WITHIN_MANAGED_GROUP\",\"F_OPTIONGROUP_PRIVATE_ADD\",\"F_DOCUMENT_EXTERNAL\",\"M_dhis-web-data-administration\",\"F_DATAELEMENTGROUP_PUBLIC_ADD\",\"F_USER_DELETE\",\"F_DATAELEMENTGROUPSET_PUBLIC_ADD\",\"F_TRACKED_ENTITY_INSTANCE_DASHBOARD\",\"F_TRACKED_ENTITY_ADD\",\"F_OPTIONGROUP_DELETE\",\"F_USERGROUP_DELETE\",\"F_REPORT_PUBLIC_ADD\",\"F_PROGRAM_PUBLIC_ADD\",\"F_SCHEDULING_CASE_AGGREGATE_QUERY_BUILDER\",\"F_PROGRAM_INDICATOR_PRIVATE_ADD\",\"F_MAP_PUBLIC_ADD\",\"F_EVENTREPORT_EXTERNAL\",\"M_dhis-web-maintenance-program\",\"M_dhis-web-validationrule\",\"F_SQLVIEW_EXTERNAL\",\"F_RELATIONSHIPTYPE_PUBLIC_ADD\",\"F_VIEW_DATABROWSER\",\"F_PROGRAM_RULE_UPDATE\",\"F_COLOR_SET_ADD\",\"F_RELATIONSHIP_MANAGEMENT\",\"F_TRACKED_ENTITY_FORM_DELETE\",\"M_dhis-web-maintenance-dataset\",\"M_dhis-web-mobile\",\"F_INDICATORGROUP_DELETE\",\"F_EXTERNAL_MAP_LAYER_PUBLIC_ADD\",\"F_USER_VIEW\",\"F_PROGRAM_INDICATOR_PUBLIC_ADD\",\"F_PROGRAMSTAGE_DELETE\",\"F_ORGUNITGROUP_PRIVATE_ADD\",\"F_INDICATORTYPE_ADD\",\"F_ANALYTICSTABLEHOOK_DELETE\",\"F_USERGROUP_PUBLIC_ADD\",\"M_dhis-web-import-export\",\"F_CONSTANT_DELETE\",\"M_Easy_Visualization\",\"F_PROGRAM_TRACKING_MANAGEMENT\",\"F_INDICATORGROUPSET_PRIVATE_ADD\",\"F_CATEGORY_OPTION_PUBLIC_ADD\",\"F_VALIDATIONRULE_PUBLIC_ADD\",\"F_PROGRAM_INSTANCE_DELETE\",\"F_EVENTCHART_PUBLIC_ADD\",\"F_OPTIONSET_MANAGEMENT\",\"F_SECTION_DELETE\",\"F_EVENTCHART_EXTERNAL\",\"F_SQLVIEW_EXECUTE\",\"F_VALIDATIONRULE_DELETE\",\"F_NAME_BASED_DATA_ENTRY\",\"F_EXTERNALFILERESOURCE_ADD\",\"M_dhis-web-reporting\",\"F_USER_ADD\",\"F_FRED_UPDATE\",\"F_RUN_VALIDATION\",\"M_dhis-web-maintenance-mobile\",\"F_OPTIONSET_PRIVATE_ADD\",\"M_User_Administration\",\"F_PUSH_ANALYSIS_DELETE\",\"F_DATASET_PUBLIC_ADD\",\"F_LEGEND_SET_PUBLIC_ADD\",\"F_USER_ADD_WITHIN_MANAGED_GROUP\",\"F_TRACKED_ENTITY_COMMENT_DELETE\",\"M_dhis-web-caseentry\",\"F_PROGRAMSTAGE_SECTION_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_DELETE\",\"F_GIS_ADMIN\",\"F_DATAELEMENTGROUP_PRIVATE_ADD\",\"F_DATAELEMENTGROUP_DELETE\",\"F_PREDICTOR_ADD\",\"F_PROGRAM_TRACKING_SEARCH\",\"M_dhis-web-mapping\",\"F_SECTION_ADD\",\"F_OPTIONGROUPSET_DELETE\",\"F_PROGRAM_INDICATOR_DELETE\",\"F_ATTRIBUTE_DELETE\",\"F_TRACKED_ENTITY_COMMENT_ADD\",\"F_TRACKED_ENTITY_ATTRIBUTE_PRIVATE_ADD\",\"F_PROGRAM_RULE_MANAGEMENT\",\"F_GENERATE_BENEFICIARY_TABULAR_REPORT\",\"F_DATAVALUE_ADD\",\"M_dhis-web-data-quality\",\"F_LEGEND_DELETE\",\"F_SCHEDULING_SEND_MESSAGE\",\"F_VALIDATIONRULEGROUP_DELETE\",\"M_dhis-web-messaging\",\"F_ORGANISATIONUNIT_MOVE\",\"F_COLOR_DELETE\",\"F_USERGROUP_MANAGING_RELATIONSHIPS_ADD\",\"F_DASHBOARD_PUBLIC_ADD\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_ADD\",\"F_PROGRAM_RULE_ADD\",\"F_PROGRAMSTAGE_SECTION_MANAGEMENT\",\"F_PROGRAM_TRACKED_ENTITY_ATTRIBUTE_GROUP_DELETE\",\"F_CONSTANT_MANAGEMENT\",\"F_CATEGORY_PRIVATE_ADD\",\"M_dhis-web-maintenance-appmanager\",\"F_EDIT_EXPIRED\",\"F_TRACKED_ENTITY_ATTRIBUTE_PUBLIC_ADD\",\"F_ACTIVITY_PLAN\",\"F_ORGUNITGROUP_DELETE\",\"M_dhis-web-maintenance-user\",\"F_SQLVIEW_PRIVATE_ADD\",\"M_dhis-web-settings\",\"M_dhis-web-usage-analytics\",\"F_DOCUMENT_DELETE\",\"F_GENERATE_PROGRAM_SUMMARY_REPORT\",\"F_IGNORE_TRACKER_REQUIRED_VALUE_VALIDATION\",\"F_METADATA_IMPORT\",\"F_REPORT_EXTERNAL\",\"F_IMPORT_DATA\",\"F_CONSTANT_ADD\",\"F_SEND_MESSAGE\",\"F_INDICATORGROUP_PRIVATE_ADD\",\"F_SEND_EMAIL\",\"F_TRACKED_ENTITY_INSTANCE_CHANGE_LOCATION\",\"F_ORGANISATIONUNIT_ADD\",\"F_TRACKED_ENTITY_INSTANCE_MANAGEMENT\",\"F_CATEGORY_COMBO_PRIVATE_ADD\",\"M_dhis-web-approval\",\"F_SCHEDULING_ADMIN\",\"F_USERROLE_PUBLIC_ADD\",\"F_REPLICATE_USER\",\"M_Custom_Js_Css\",\"F_PUSH_ANALYSIS_ADD\",\"F_CATEGORY_PUBLIC_ADD\",\"F_PROGRAM_STAGE_INSTANCE_DELETE\",\"F_RELATIONSHIP_ADD\",\"M_Social_Media_Video\",\"F_METADATA_MANAGE\",\"F_PREDICTORGROUP_ADD\",\"M_dhis-web-maintenance\",\"F_ORGUNITGROUP_PUBLIC_ADD\",\"F_IMPORT_EVENTS\",\"F_PREDICTOR_DELETE\",\"F_PREDICTORGROUP_DELETE\",\"F_VALIDATIONRULE_PRIVATE_ADD\",\"M_dhis-web-user\",\"F_OAUTH2_CLIENT_MANAGE\",\"F_PROGRAM_INDICATOR_GROUP_PRIVATE_ADD\",\"F_APPROVE_DATA_LOWER_LEVELS\",\"F_PROGRAM_STAGE_INSTANCE_SEARCH\",\"M_dhis-web-datastore\",\"F_VISUALIZATION_EXTERNAL\",\"F_FRED_CREATE\",\"F_SINGLE_EVENT_DATA_ENTRY\",\"F_COLOR_ADD\",\"M_dhis-web-maintenance-organisationunit\",\"F_CATEGORY_DELETE\",\"M_bna_widget\",\"F_SQLVIEW_DELETE\",\"F_ACCEPT_DATA_LOWER_LEVELS\",\"F_TRACKED_ENTITY_DELETE\",\"F_PROGRAM_INDICATOR_MANAGEMENT\",\"F_TEI_CASCADE_DELETE\",\"F_ORGUNITGROUPSET_PUBLIC_ADD\",\"F_GENERATE_MIN_MAX_VALUES\",\"F_DATAELEMENT_MINMAX_ADD\",\"F_INDICATORGROUPSET_PUBLIC_ADD\",\"M_Web_Portal\",\"F_DATAELEMENTGROUPSET_PRIVATE_ADD\",\"F_TRACKED_ENTITY_INSTANCE_HISTORY\",\"M_dhis-web-maintenance-datadictionary\",\"F_USER_GROUPS_READ_ONLY_ADD_MEMBERS\",\"M_InterpretationsTest\",\"F_COLOR_SET_DELETE\",\"F_ACCESS_TRACKED_ENTITY_ATTRIBUTES\",\"F_PROGRAM_DELETE\",\"F_PROGRAM_RULE_DELETE\",\"F_OPTIONSET_DELETE\",\"F_ATTRIBUTE_PUBLIC_ADD\",\"F_INSERT_CUSTOM_JS_CSS\",\"F_OPTIONGROUPSET_PUBLIC_ADD\",\"F_PROGRAMSTAGE_SECTION_DELETE\",\"F_EVENT_VISUALIZATION_PUBLIC_ADD\",\"F_ANALYTICSTABLEHOOK_ADD\",\"F_MOBILE_SETTINGS\",\"F_INDICATORGROUPSET_DELETE\",\"F_VIEW_UNAPPROVED_DATA\",\"F_DOCUMENT_PRIVATE_ADD\",\"F_GENERATE_STATISTICAL_PROGRAM_REPORT\",\"F_METADATA_EXPORT\",\"F_PROGRAMDATAELEMENT_DELETE\",\"F_DOCUMENT_PUBLIC_ADD\",\"F_CATEGORY_COMBO_DELETE\",\"M_dhis-web-cache-cleaner\",\"M_dhis-web-menu-management\",\"F_EXTERNAL_MAP_LAYER_PRIVATE_ADD\",\"F_CATEGORY_COMBO_PUBLIC_ADD\",\"M_dhis-web-importexport\"],\"dataSets\":[\"Nyh6laLdBEJ\",\"j38YW1Am7he\",\"aLpVgfXiz0f\",\"YFTk3VdO9av\",\"Rl58JxmKJo2\",\"eZDhcZi6FLP\",\"N4fIX1HL3TQ\",\"EDzMBk0RRji\",\"TuL8IOPzpHh\",\"ce7DSxx5H2I\",\"EKWVBc5C0ms\",\"PLq9sJluXvc\",\"rsyjyJmYD4J\",\"ULowA8V3ucd\",\"QX4ZTUbOt3a\",\"pBOMPrpg1QX\",\"OsPTWNqq26W\",\"V8MHeZHIrcP\",\"YZhd4nu3mzY\",\"Y8gAn9DfAGU\",\"vc6nF5yZsPR\",\"Lpw6GcnTrmS\",\"lyLU2wR22tC\",\"VTdjfLXXmoi\",\"SF8FDSqw30D\",\"BfMAe6Itzgt\"],\"userCredentials\":{\"id\":\"xE7jOejl9FI\",\"username\":\"admin\",\"externalAuth\":false,\"twoFA\":false,\"cogsDimensionConstraints\":[],\"catDimensionConstraints\":[],\"previousPasswords\":[],\"lastLogin\":\"2023-12-06T15:16:52.548\",\"selfRegistered\":false,\"invitation\":false,\"disabled\":false,\"access\":{\"manage\":true,\"externalize\":false,\"write\":true,\"read\":true,\"update\":true,\"delete\":true},\"sharing\":{\"external\":false,\"users\":{},\"userGroups\":{}},\"userRoles\":[{\"id\":\"UYXOT4A7JMI\"},{\"id\":\"Ufph3mGRmMo\"},{\"id\":\"Euq3XfEIEbx\"},{\"id\":\"cUlTcejWree\"},{\"id\":\"aNk5AyC7ydy\"},{\"id\":\"TMK9CMZ2V98\"},{\"id\":\"Ql6Gew7eaX6\"},{\"id\":\"Pqoy4DLOdMK\"},{\"id\":\"DRdaVRtwmG5\"},{\"id\":\"jRWSNIHdKww\"},{\"id\":\"txB7vu1w2Pr\"},{\"id\":\"xJZBzAHI88H\"},{\"id\":\"XS0dNzuZmfH\"}]},\"patTokens\":[]}" ], "responseSize": 14364, "responseHeaders": { @@ -362,16 +373,16 @@ }, "responseLookup": [ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, - 8, 9, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 13, 13, 13, 14, - 15, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22, 23, 24, 24, 24, - 24, 24, 25, 26, 27 + 8, 9, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, + 14, 14, 15, 16, 16, 16, 17, 18, 18, 18, 18, 18, 19, 19, 20, 20, 21, + 22, 23, 23, 24, 25, 26, 26, 27, 27, 28, 29, 30 ] }, { "path": "/api/41/staticContent/logo_banner", "featureName": null, "static": true, - "count": 65, + "count": 72, "nonDeterministic": false, "method": "GET", "requestBody": "", diff --git a/cypress/fixtures/network/41/summary.json b/cypress/fixtures/network/41/summary.json index 8256832ff..85ee2fc50 100644 --- a/cypress/fixtures/network/41/summary.json +++ b/cypress/fixtures/network/41/summary.json @@ -1,29 +1,33 @@ { - "count": 951, - "totalResponseSize": 1022634, - "duplicates": 840, - "nonDeterministicResponses": 91, + "count": 1020, + "totalResponseSize": 1075052, + "duplicates": 904, + "nonDeterministicResponses": 107, "apiVersion": "41", "fixtureFiles": [ "static_resources.json", - "users_should_be_able_to_navigate_back_to_the_job_list.json", + "users_should_be_able_to_navigate_back_to_the_list_route.json", "users_should_be_able_to_create_jobs_that_take_parameters.json", "users_should_be_able_to_create_jobs_without_parameters.json", "users_should_be_able_to_insert_cron_presets.json", "users_should_be_able_to_navigate_to_the_documentation.json", - "users_should_be_able_to_create_a_sequence.json", + "users_should_be_able_to_create_a_queue.json", "users_should_be_able_to_delete_a_job.json", "users_should_be_able_to_view_jobs.json", "users_should_be_able_to_edit_jobs_that_take_parameters.json", "users_should_be_able_to_edit_jobs_without_parameters.json", - "users_should_be_able_to_edit_a_sequence.json", + "users_should_be_able_to_edit_a_queue.json", + "queue_actions.json", + "system_job_actions.json", + "user_job_actions.json", "jobs_can_be_filtered.json", "system_job_visibility_can_be_toggled.json", - "user_jobs_can_be_enabled_and_disabled.json", + "queues_should_be_listed.json", "all_user_defined_jobs_should_be_listed.json", "users_should_be_able_to_navigate_to_the_new_job_route.json", - "system_job_actions.json", - "user_job_actions.json", + "users_should_be_able_to_navigate_to_the_new_queue_route.json", + "user_jobs_can_be_enabled_and_disabled.json", + "queues_can_be_enabled_and_disabled.json", "users_that_are_not_authorized_should_be_denied_access.json", "users_should_be_able_to_view_system_jobs.json" ] diff --git a/cypress/fixtures/network/41/user_job_actions.json b/cypress/fixtures/network/41/user_job_actions.json index 323de34da..47e6e5076 100644 --- a/cypress/fixtures/network/41/user_job_actions.json +++ b/cypress/fixtures/network/41/user_job_actions.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -130,7 +130,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "User job actions", "static": false, "count": 1, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "User job actions", "static": false, "count": 1, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -293,38 +293,5 @@ "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } - }, - { - "path": "/api/41/jobConfigurations/lnWRZN67iDU", - "featureName": "User job actions", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "DELETE", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 404, - "responseBody": "{\"httpStatus\":\"Not Found\",\"httpStatusCode\":404,\"status\":\"ERROR\",\"message\":\"JobConfiguration with id lnWRZN67iDU could not be found.\",\"errorCode\":\"E1005\"}", - "responseSize": 153, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } } ] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_create_a_queue.json b/cypress/fixtures/network/41/users_should_be_able_to_create_a_queue.json new file mode 100644 index 000000000..0d12e3837 --- /dev/null +++ b/cypress/fixtures/network/41/users_should_be_able_to_create_a_queue.json @@ -0,0 +1,67 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Users should be able to create a queue", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/scheduler", + "featureName": "Users should be able to create a queue", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_create_a_sequence.json b/cypress/fixtures/network/41/users_should_be_able_to_create_a_sequence.json deleted file mode 100644 index 5c545c812..000000000 --- a/cypress/fixtures/network/41/users_should_be_able_to_create_a_sequence.json +++ /dev/null @@ -1,67 +0,0 @@ -[ - { - "path": "/api/41/systemSettings/helpPageLink", - "featureName": "Users should be able to create a sequence", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", - "responseSize": 99, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/scheduler", - "featureName": "Users should be able to create a sequence", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - } -] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_that_take_parameters.json b/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_that_take_parameters.json index b0599a1b9..d2b7c4e21 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_that_take_parameters.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_that_take_parameters.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -130,7 +130,7 @@ } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "Users should be able to create jobs that take parameters", "static": false, "count": 5, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "Users should be able to create jobs that take parameters", "static": false, "count": 5, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -265,7 +265,7 @@ "featureName": "Users should be able to create jobs that take parameters", "static": false, "count": 9, - "nonDeterministic": false, + "nonDeterministic": true, "method": "GET", "requestBody": "", "requestHeaders": { @@ -277,8 +277,11 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": [ + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]" + ], + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -290,6 +293,7 @@ "access-control-expose-headers": "ETag, Location", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" - } + }, + "responseLookup": [0, 1, 1, 1, 1] } ] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_without_parameters.json b/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_without_parameters.json index 1d9d648eb..ffaafa33a 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_without_parameters.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_create_jobs_without_parameters.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -97,7 +97,7 @@ } }, { - "path": "/api/41/validationRuleGroups?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "Users should be able to create jobs without parameters", "static": false, "count": 1, @@ -113,8 +113,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", - "responseSize": 628, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -130,7 +130,7 @@ } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/validationRuleGroups?paging=false", "featureName": "Users should be able to create jobs without parameters", "static": false, "count": 1, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", + "responseSize": 628, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/predictorGroups?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "Users should be able to create jobs without parameters", "static": false, "count": 1, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictorGroups\":[]}", - "responseSize": 22, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -196,7 +196,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/predictorGroups?paging=false", "featureName": "Users should be able to create jobs without parameters", "static": false, "count": 1, @@ -212,8 +212,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"predictorGroups\":[]}", + "responseSize": 22, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -265,7 +265,7 @@ "featureName": "Users should be able to create jobs without parameters", "static": false, "count": 4, - "nonDeterministic": false, + "nonDeterministic": true, "method": "GET", "requestBody": "", "requestHeaders": { @@ -277,8 +277,11 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": [ + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:48.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:48.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]" + ], + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -290,6 +293,7 @@ "access-control-expose-headers": "ETag, Location", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" - } + }, + "responseLookup": [0, 1] } ] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_delete_a_job.json b/cypress/fixtures/network/41/users_should_be_able_to_delete_a_job.json index 274f1efe3..15bbd9e97 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_delete_a_job.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_delete_a_job.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -65,7 +65,7 @@ } }, { - "path": "/api/41/analytics/tableTypes", + "path": "/api/41/predictorGroups?paging=false", "featureName": "Users should be able to delete a job", "static": false, "count": 2, @@ -81,8 +81,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"]", - "responseSize": 219, + "responseBody": "{\"predictorGroups\":[]}", + "responseSize": 22, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -92,12 +92,13 @@ "access-control-allow-origin": "http://localhost:3000", "vary": "Origin", "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } }, { - "path": "/api/41/predictorGroups?paging=false", + "path": "/api/41/analytics/tableTypes", "featureName": "Users should be able to delete a job", "static": false, "count": 2, @@ -113,8 +114,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictorGroups\":[]}", - "responseSize": 22, + "responseBody": "[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"]", + "responseSize": 219, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -124,13 +125,12 @@ "access-control-allow-origin": "http://localhost:3000", "vary": "Origin", "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/validationRuleGroups?paging=false", "featureName": "Users should be able to delete a job", "static": false, "count": 2, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", + "responseSize": 628, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/validationRuleGroups?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "Users should be able to delete a job", "static": false, "count": 2, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", - "responseSize": 628, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -261,12 +261,12 @@ } }, { - "path": "/api/41/jobConfigurations/lnWRZN67iDU", + "path": "/api/41/scheduler", "featureName": "Users should be able to delete a job", "static": false, "count": 1, "nonDeterministic": false, - "method": "DELETE", + "method": "GET", "requestBody": "", "requestHeaders": { "host": "debug.dhis2.org", @@ -276,9 +276,9 @@ "sec-fetch-site": "cross-site", "sec-fetch-mode": "cors" }, - "statusCode": 404, - "responseBody": "{\"httpStatus\":\"Not Found\",\"httpStatusCode\":404,\"status\":\"ERROR\",\"message\":\"JobConfiguration with id lnWRZN67iDU could not be found.\",\"errorCode\":\"E1005\"}", - "responseSize": 153, + "statusCode": 200, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -288,7 +288,6 @@ "access-control-allow-origin": "http://localhost:3000", "vary": "Origin", "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" } diff --git a/cypress/fixtures/network/41/users_should_be_able_to_edit_a_queue.json b/cypress/fixtures/network/41/users_should_be_able_to_edit_a_queue.json new file mode 100644 index 000000000..d4865db47 --- /dev/null +++ b/cypress/fixtures/network/41/users_should_be_able_to_edit_a_queue.json @@ -0,0 +1,35 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Users should be able to edit a queue", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_that_take_parameters.json b/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_that_take_parameters.json index 57503e4f6..830939d3a 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_that_take_parameters.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_that_take_parameters.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -97,7 +97,7 @@ } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/predictorGroups?paging=false", "featureName": "Users should be able to edit jobs that take parameters", "static": false, "count": 14, @@ -113,8 +113,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"predictorGroups\":[]}", + "responseSize": 22, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -130,7 +130,7 @@ } }, { - "path": "/api/41/validationRuleGroups?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "Users should be able to edit jobs that take parameters", "static": false, "count": 14, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", - "responseSize": 628, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/predictorGroups?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "Users should be able to edit jobs that take parameters", "static": false, "count": 14, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictorGroups\":[]}", - "responseSize": 22, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -196,7 +196,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/validationRuleGroups?paging=false", "featureName": "Users should be able to edit jobs that take parameters", "static": false, "count": 14, @@ -212,8 +212,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", + "responseSize": 628, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -265,7 +265,7 @@ "featureName": "Users should be able to edit jobs that take parameters", "static": false, "count": 9, - "nonDeterministic": false, + "nonDeterministic": true, "method": "GET", "requestBody": "", "requestHeaders": { @@ -277,8 +277,12 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": [ + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:48.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:48.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:15:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:15:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]" + ], + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -290,6 +294,7 @@ "access-control-expose-headers": "ETag, Location", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block" - } + }, + "responseLookup": [0, 1, 1, 1, 1, 1, 1, 1, 2] } ] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_without_parameters.json b/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_without_parameters.json index 8ba57c18c..7dd221c77 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_without_parameters.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_edit_jobs_without_parameters.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -130,7 +130,7 @@ } }, { - "path": "/api/41/validationRuleGroups?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "Users should be able to edit jobs without parameters", "static": false, "count": 5, @@ -146,8 +146,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", - "responseSize": 628, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -196,7 +196,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/validationRuleGroups?paging=false", "featureName": "Users should be able to edit jobs without parameters", "static": false, "count": 5, @@ -212,8 +212,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", + "responseSize": 628, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -277,8 +277,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:15:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:15:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", diff --git a/cypress/fixtures/network/41/users_should_be_able_to_insert_cron_presets.json b/cypress/fixtures/network/41/users_should_be_able_to_insert_cron_presets.json index bf6ca9f42..f51d4ea94 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_insert_cron_presets.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_insert_cron_presets.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", diff --git a/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_job_list.json b/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_job_list.json deleted file mode 100644 index 156ca4b5f..000000000 --- a/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_job_list.json +++ /dev/null @@ -1,327 +0,0 @@ -[ - { - "path": "/api/41/systemSettings/helpPageLink", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 9, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", - "responseSize": 99, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/jobConfigurations/jobTypes?fields=*&paging=false", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 4, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/scheduler", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 3, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/scheduler/queueable", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 4, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "[{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 436, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/analytics/tableTypes", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"]", - "responseSize": 219, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/pushAnalysis?paging=false", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/validationRuleGroups?paging=false", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", - "responseSize": 628, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/predictors?paging=false", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/predictorGroups?paging=false", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "{\"predictorGroups\":[]}", - "responseSize": 22, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "cache-control": "no-cache, private", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - }, - { - "path": "/api/41/dataIntegrity", - "featureName": "Users should be able to navigate back to the job list", - "static": false, - "count": 1, - "nonDeterministic": false, - "method": "GET", - "requestBody": "", - "requestHeaders": { - "host": "debug.dhis2.org", - "connection": "keep-alive", - "accept": "application/json", - "origin": "http://localhost:3000", - "sec-fetch-site": "cross-site", - "sec-fetch-mode": "cors" - }, - "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, - "responseHeaders": { - "server": "nginx/1.23.0", - "content-type": "application/json;charset=UTF-8", - "transfer-encoding": "chunked", - "connection": "keep-alive", - "access-control-allow-credentials": "true", - "access-control-allow-origin": "http://localhost:3000", - "vary": "Origin", - "access-control-expose-headers": "ETag, Location", - "x-content-type-options": "nosniff", - "x-xss-protection": "1; mode=block" - } - } -] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_list_route.json b/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_list_route.json new file mode 100644 index 000000000..c4192882c --- /dev/null +++ b/cypress/fixtures/network/41/users_should_be_able_to_navigate_back_to_the_list_route.json @@ -0,0 +1,332 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 9, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/jobConfigurations/jobTypes?fields=*&paging=false", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 4, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/scheduler", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 3, + "nonDeterministic": true, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": [ + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:48.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:13:48.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:14:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]" + ], + "responseSize": 4222, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + }, + "responseLookup": [0, 1, 2] + }, + { + "path": "/api/41/scheduler/queueable", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 2, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 183, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/analytics/tableTypes", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"]", + "responseSize": 219, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/validationRuleGroups?paging=false", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"validationRuleGroups\":[{\"displayName\":\"ANC\",\"id\":\"UP1lctvalPn\"},{\"displayName\":\"Commodities\",\"id\":\"xcpl667ccfF\"},{\"displayName\":\"Critical event\",\"id\":\"xWtt9c443Lt\"},{\"displayName\":\"District stock\",\"id\":\"mEtdbIDDhix\"},{\"displayName\":\"Epidemic disease outbreak\",\"id\":\"y2yQIm79VTW\"},{\"displayName\":\"Facility Stock\",\"id\":\"SqyI8HKqI4g\"},{\"displayName\":\"Immunisation\",\"id\":\"UiOSY1iIdub\"},{\"displayName\":\"Infectious disease outbreak\",\"id\":\"WUZXEFdn1PX\"},{\"displayName\":\"Malaria\",\"id\":\"zlaSof6qLqF\"},{\"displayName\":\"Population\",\"id\":\"D3bItmtBpsW\"},{\"displayName\":\"TB\",\"id\":\"IMF6p1MqoHl\"},{\"displayName\":\"Testing\",\"id\":\"nMDkAJXsmlR\"}]}", + "responseSize": 628, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/pushAnalysis?paging=false", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/predictorGroups?paging=false", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"predictorGroups\":[]}", + "responseSize": 22, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/predictors?paging=false", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/dataIntegrity", + "featureName": "Users should be able to navigate back to the list route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_documentation.json b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_documentation.json index 839d91ec5..03d10ae06 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_documentation.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_documentation.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -97,7 +97,7 @@ } }, { - "path": "/api/41/predictorGroups?paging=false", + "path": "/api/41/pushAnalysis?paging=false", "featureName": "Users should be able to navigate to the documentation", "static": false, "count": 1, @@ -113,8 +113,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictorGroups\":[]}", - "responseSize": 22, + "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", + "responseSize": 98, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -163,7 +163,7 @@ } }, { - "path": "/api/41/predictors?paging=false", + "path": "/api/41/predictorGroups?paging=false", "featureName": "Users should be able to navigate to the documentation", "static": false, "count": 1, @@ -179,8 +179,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", - "responseSize": 80, + "responseBody": "{\"predictorGroups\":[]}", + "responseSize": 22, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -196,7 +196,7 @@ } }, { - "path": "/api/41/pushAnalysis?paging=false", + "path": "/api/41/predictors?paging=false", "featureName": "Users should be able to navigate to the documentation", "static": false, "count": 1, @@ -212,8 +212,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"pushAnalysis\":[{\"displayName\":\"Immunization Key Indicators Monthly Report\",\"id\":\"jtcMAKhWwnc\"}]}", - "responseSize": 98, + "responseBody": "{\"predictors\":[{\"displayName\":\"Malaria Outbreak Threshold\",\"id\":\"tEK1OEqS4O1\"}]}", + "responseSize": 80, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -277,8 +277,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:08.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:08.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", diff --git a/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_job_route.json b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_job_route.json index 836175f02..4f8627203 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_job_route.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_job_route.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"OQ9KeLgqy20\",\"name\":\"Remove lock exceptions older than 6 months\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-08-02T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-08-02T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-08-02T07:00:00.000\",\"status\":\"SCHEDULED\"}]}]", - "responseSize": 3724, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", diff --git a/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_queue_route.json b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_queue_route.json new file mode 100644 index 000000000..6e64457f0 --- /dev/null +++ b/cypress/fixtures/network/41/users_should_be_able_to_navigate_to_the_new_queue_route.json @@ -0,0 +1,67 @@ +[ + { + "path": "/api/41/systemSettings/helpPageLink", + "featureName": "Users should be able to navigate to the new queue route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "{\"helpPageLink\":\"https://dhis2.github.io/dhis2-docs/master/en/user/html/dhis2_user_manual_en.html\"}", + "responseSize": 99, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "cache-control": "no-cache, private", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + }, + { + "path": "/api/41/scheduler", + "featureName": "Users should be able to navigate to the new queue route", + "static": false, + "count": 1, + "nonDeterministic": false, + "method": "GET", + "requestBody": "", + "requestHeaders": { + "host": "debug.dhis2.org", + "connection": "keep-alive", + "accept": "application/json", + "origin": "http://localhost:3000", + "sec-fetch-site": "cross-site", + "sec-fetch-mode": "cors" + }, + "statusCode": 200, + "responseBody": "[{\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:28.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"DHIS2rocks1\",\"name\":\"Housekeeping\",\"type\":\"HOUSEKEEPING\",\"delay\":20,\"nextExecutionTime\":\"2023-12-06T15:16:28.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"fUWM1At1TUx\",\"name\":\"User account expiry alert\",\"type\":\"ACCOUNT_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"pd6O228pqr0\",\"name\":\"File resource clean up\",\"type\":\"FILE_RESOURCE_CLEANUP\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"BFa3jDsbtdO\",\"name\":\"Data statistics\",\"type\":\"DATA_STATISTICS\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"YvAwAmrqAtN\",\"name\":\"Dataset notification\",\"type\":\"DATA_SET_NOTIFICATION\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"uwWCT2BMmlq\",\"name\":\"Remove expired or used reserved values\",\"type\":\"REMOVE_USED_OR_EXPIRED_RESERVED_VALUES\",\"cronExpression\":\"0 0 2 ? * *\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"sHMedQF7VYa\",\"name\":\"Credentials expiry alert\",\"type\":\"CREDENTIALS_EXPIRY_ALERT\",\"cronExpression\":\"0 0 2 * * ?\",\"nextExecutionTime\":\"2023-12-07T02:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"vt21671bgno\",\"name\":\"System version update check notification\",\"type\":\"SYSTEM_VERSION_UPDATE_CHECK\",\"cronExpression\":\"44 8 3 ? * *\",\"nextExecutionTime\":\"2023-12-07T03:08:44.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":false,\"sequence\":[{\"id\":\"Js3vHn2AVuG\",\"name\":\"Validation result notification\",\"type\":\"VALIDATION_RESULTS_NOTIFICATION\",\"cronExpression\":\"0 0 7 * * ?\",\"nextExecutionTime\":\"2023-12-07T07:00:00.000\",\"status\":\"SCHEDULED\"}]},{\"name\":\"1\",\"type\":\"Sequence\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\",\"enabled\":true,\"configurable\":true,\"sequence\":[{\"id\":\"l16DJ7V3Zsc\",\"name\":\" asdfasdf\",\"type\":\"LOCK_EXCEPTION_CLEANUP\",\"cronExpression\":\"0 0 3 ? * MON\",\"nextExecutionTime\":\"2023-12-11T03:00:00.000\",\"status\":\"SCHEDULED\"},{\"id\":\"YVFUK28IP6w\",\"name\":\"2\",\"type\":\"DISABLE_INACTIVE_USERS\",\"status\":\"DISABLED\"}]},{\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\",\"enabled\":false,\"configurable\":true,\"sequence\":[{\"id\":\"sHmTcgoa5vB\",\"name\":\"1\",\"type\":\"DATA_INTEGRITY\",\"status\":\"DISABLED\"}]}]", + "responseSize": 4222, + "responseHeaders": { + "server": "nginx/1.23.0", + "content-type": "application/json;charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "access-control-allow-credentials": "true", + "access-control-allow-origin": "http://localhost:3000", + "vary": "Origin", + "access-control-expose-headers": "ETag, Location", + "x-content-type-options": "nosniff", + "x-xss-protection": "1; mode=block" + } + } +] diff --git a/cypress/fixtures/network/41/users_should_be_able_to_view_jobs.json b/cypress/fixtures/network/41/users_should_be_able_to_view_jobs.json index 725069de3..132f461be 100644 --- a/cypress/fixtures/network/41/users_should_be_able_to_view_jobs.json +++ b/cypress/fixtures/network/41/users_should_be_able_to_view_jobs.json @@ -49,8 +49,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", - "responseSize": 26553, + "responseBody": "{\"jobTypes\":[{\"name\":\"Data integrity\",\"jobType\":\"DATA_INTEGRITY\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"org.hisp.dhis.scheduling.parameters.DataIntegrityJobParameters$DataIntegrityReportType\",\"name\":\"type\",\"fieldName\":\"Type\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"REPORT\",\"SUMMARY\",\"DETAILS\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data integrity details\",\"jobType\":\"DATA_INTEGRITY_DETAILS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"checks\",\"fieldName\":\"Checks\",\"persisted\":false,\"collectionName\":\"checks\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/dataIntegrity\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Resource table\",\"jobType\":\"RESOURCE_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Analytics table\",\"jobType\":\"ANALYTICS_TABLE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"skipPrograms\",\"fieldName\":\"Skip programs\",\"persisted\":false,\"collectionName\":\"skipPrograms\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/programs\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipResourceTables\",\"fieldName\":\"Skip resource tables\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Continuous analytics table\",\"jobType\":\"CONTINUOUS_ANALYTICS_TABLE\",\"schedulingType\":\"FIXED_DELAY\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"fullUpdateHourOfDay\",\"fieldName\":\"Full update hour of day\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"lastYears\",\"fieldName\":\"Last years\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.Set\",\"itemKlass\":\"org.hisp.dhis.analytics.AnalyticsTableType\",\"name\":\"skipTableTypes\",\"fieldName\":\"Skip table types\",\"persisted\":false,\"collectionName\":\"skipTableTypes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"DATA_VALUE\",\"COMPLETENESS\",\"COMPLETENESS_TARGET\",\"ORG_UNIT_TARGET\",\"EVENT\",\"ENROLLMENT\",\"OWNERSHIP\",\"VALIDATION_RESULT\",\"TRACKED_ENTITY_INSTANCE_EVENTS\",\"TRACKED_ENTITY_INSTANCE_ENROLLMENTS\",\"TRACKED_ENTITY_INSTANCE\"],\"relativeApiEndpoint\":\"/api/analytics/tableTypes\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipOutliers\",\"fieldName\":\"Skip outliers\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Data sync\",\"jobType\":\"DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker programs data sync\",\"jobType\":\"TRACKER_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Event programs data sync\",\"jobType\":\"EVENT_PROGRAMS_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"pageSize\",\"fieldName\":\"Page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Meta data sync\",\"jobType\":\"META_DATA_SYNC\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"trackerProgramPageSize\",\"fieldName\":\"Tracker program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":20,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"eventProgramPageSize\",\"fieldName\":\"Event program page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":60,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"dataValuesPageSize\",\"fieldName\":\"Data values page size\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":10000,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Aggregate data exchange\",\"jobType\":\"AGGREGATE_DATA_EXCHANGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"dataExchangeIds\",\"fieldName\":\"Data exchange ids\",\"persisted\":false,\"collectionName\":\"dataExchangeIds\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/aggregateDataExchanges\",\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Send scheduled message\",\"jobType\":\"SEND_SCHEDULED_MESSAGE\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Program notifications\",\"jobType\":\"PROGRAM_NOTIFICATIONS\",\"schedulingType\":\"CRON\",\"jobParameters\":[]},{\"name\":\"Monitoring\",\"jobType\":\"MONITORING\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"validationRuleGroups\",\"fieldName\":\"Validation rule groups\",\"persisted\":false,\"collectionName\":\"validationRuleGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/validationRuleGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"sendNotifications\",\"fieldName\":\"Send notifications\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"persistResults\",\"fieldName\":\"Persist results\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Push analysis\",\"jobType\":\"PUSH_ANALYSIS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"pushAnalysis\",\"fieldName\":\"Push analysis\",\"persisted\":false,\"collectionName\":\"pushAnalysis\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/pushAnalysis\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Tracker search optimization\",\"jobType\":\"TRACKER_SEARCH_OPTIMIZATION\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.Set\",\"itemKlass\":\"java.lang.String\",\"name\":\"attributes\",\"fieldName\":\"Attributes\",\"persisted\":false,\"collectionName\":\"attributes\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/trackedEntityAttributes/indexable\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"skipIndexDeletion\",\"fieldName\":\"Skip index deletion\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Predictor\",\"jobType\":\"PREDICTOR\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"relativeStart\",\"fieldName\":\"Relative start\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"relativeEnd\",\"fieldName\":\"Relative end\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictors\",\"fieldName\":\"Predictors\",\"persisted\":false,\"collectionName\":\"predictors\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictors\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"predictorGroups\",\"fieldName\":\"Predictor groups\",\"persisted\":false,\"collectionName\":\"predictorGroups\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"relativeApiEndpoint\":\"/api/predictorGroups\",\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Materialized sql view update\",\"jobType\":\"MATERIALIZED_SQL_VIEW_UPDATE\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.util.List\",\"itemKlass\":\"java.lang.String\",\"name\":\"sqlViews\",\"fieldName\":\"Sql views\",\"persisted\":false,\"collectionName\":\"sqlViews\",\"attribute\":false,\"simple\":false,\"collection\":true,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":true,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":[],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Disable inactive users\",\"jobType\":\"DISABLE_INACTIVE_USERS\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"inactiveMonths\",\"fieldName\":\"Inactive months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":0,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"reminderDaysBefore\",\"fieldName\":\"Reminder days before\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Test\",\"jobType\":\"TEST\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Long\",\"name\":\"waitMillis\",\"fieldName\":\"Wait millis\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"stages\",\"fieldName\":\"Stages\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtStage\",\"fieldName\":\"Fail at stage\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"items\",\"fieldName\":\"Items\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Integer\",\"name\":\"failAtItem\",\"fieldName\":\"Fail at item\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Long\",\"name\":\"itemDuration\",\"fieldName\":\"Item duration\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.String\",\"name\":\"failWithMessage\",\"fieldName\":\"Fail with message\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"failWithException\",\"fieldName\":\"Fail with exception\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"org.hisp.dhis.scheduling.JobProgress$FailurePolicy\",\"name\":\"failWithPolicy\",\"fieldName\":\"Fail with policy\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"constants\":[\"PARENT\",\"FAIL\",\"SKIP_STAGE\",\"SKIP_ITEM\",\"SKIP_ITEM_OUTLIER\"],\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false},{\"klass\":\"java.lang.Boolean\",\"name\":\"runStagesParallel\",\"fieldName\":\"Run stages parallel\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"defaultValue\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]},{\"name\":\"Lock exception cleanup\",\"jobType\":\"LOCK_EXCEPTION_CLEANUP\",\"schedulingType\":\"CRON\",\"jobParameters\":[{\"klass\":\"java.lang.Integer\",\"name\":\"expiresAfterMonths\",\"fieldName\":\"Expires after months\",\"persisted\":false,\"attribute\":false,\"simple\":false,\"collection\":false,\"ordered\":false,\"owner\":false,\"identifiableObject\":false,\"nameableObject\":false,\"embeddedObject\":false,\"analyticalObject\":false,\"readable\":false,\"writable\":false,\"unique\":false,\"required\":false,\"manyToMany\":false,\"oneToOne\":false,\"manyToOne\":false,\"oneToMany\":false,\"translatable\":false,\"gistPreferences\":{\"included\":\"AUTO\",\"transformation\":\"AUTO\"},\"propertyTransformer\":false}]}]}", + "responseSize": 28368, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", @@ -245,8 +245,8 @@ "sec-fetch-mode": "cors" }, "statusCode": 200, - "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OIG\"},{\"name\":\"data_elements_without_groups\",\"displayName\":\"Data elements lacking groups\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data element groups\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWG\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OGSEG\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCBI\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CNO\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANA\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IDT\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNA\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONC\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DSNATOU\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNI\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"ING\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSS\"},{\"name\":\"org_units_without_groups\",\"displayName\":\"Organisation units lacking groups\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are not connected to at least one group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWG\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"code\":\"DEEGM\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONCBP\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"code\":\"ITD\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSE\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CONC\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OO\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":false,\"code\":\"IWIF\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CODC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUWCR\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWDE\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUVEGS\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"code\":\"MNVOY\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IED\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"COEGM\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":false,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWA\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMR\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWILSE\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWSI\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"code\":\"IGS\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PSSED\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWIE\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"code\":\"UGS\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAWDPT\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWG\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"COCD\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"code\":\"OSU\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CNC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEVEGS\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"code\":\"CSCO\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"code\":\"VNVOY\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OMS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAA\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEATDSWDPT\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEANG\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"COSWCC\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"ONI\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRAWS\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"code\":\"VRGS\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CCU\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"code\":\"COGS\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"code\":\"DE\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"code\":\"IWG\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OGS\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRWP\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"code\":\"CUCC\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"code\":\"IGSS\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":false,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"code\":\"PIGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"code\":\"PRNE\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"code\":\"DEAND\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":false,\"code\":\"PIWE\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"code\":\"PDP\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"code\":\"OUBO\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"code\":\"CWC\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"code\":\"DNVOY\"}]", - "responseSize": 67659, + "responseBody": "[{\"name\":\"orgunits_invalid_geometry\",\"displayName\":\"Organisation units with invalid geometry.\",\"section\":\"Organisation units\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Organisation units with invalid geometry.\",\"introduction\":\"DHIS2 uses the PostGIS database extension to manage the geographical information associated\\nwith organisation units. There are various reasons why geometries may be considered to be\\ninvalid including self-inclusions, self-intersections, and sliver polygons. Please see the\\nPostGIS documentation for a more in-depth discussion on this topic.\\n\\nInvalid geometry is not always a problem and may be able to be ignored, however, it has been observed in certain systems\\nthat this can lead to problems in analytics. If you are experiencing issues when generating analytics\\ntables, and see errors related to invalid geometries, you will need to either remove the invalid geometry,\\nor fix it.\",\"recommendation\":\"Update the geometry of the affected organisation units to a valid geometry. It may be possible to use the PostGIS function `ST_MakeValid` to automatically fix the problem. However, in other cases the geometry may need to be edited in a GIS tool, and then updated again in DHIS2.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OIG\"},{\"name\":\"program_indicators_with_invalid_expressions\",\"displayName\":\"Program indicators with invalid expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have an invalid expression\",\"recommendation\":\"Check that the expression evaluates to a number\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIE\"},{\"name\":\"orgunit_group_sets_excess_groups\",\"displayName\":\"Organisation units which belong to multiple groups in a group set.\",\"section\":\"Organisation units\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Organisation units which belong to multiple groups in a group set.\",\"introduction\":\"Organisation units should belong to exactly one group within each organisation unit group set of which they are a member. If the organisation unit belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the organisation units in the details list to exactly one group within each group set membership.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGSEG\"},{\"name\":\"program_rule_actions_without_notification\",\"displayName\":\"Program rule with actions lacking a notification template\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires a notification template but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWN\"},{\"name\":\"indicator_no_analysis\",\"displayName\":\"Indicators not used in analytical objects.\",\"section\":\"Indicators\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Indicators not used in analytical objects.\",\"introduction\":\"Indicators should be used to produce some type of analytical output (charts, maps, pivot tables). Note: indicators used in datasets to provide feedback during data entry are not counted as being used in analytical objects.\",\"recommendation\":\"Indicators that are not routinely being used for analysis should be reviewed to determine if they are useful and needed. If these are meant to be used for routine review, then associated outputs should be created using them. If these indicators are not going to be used for any type of information review, and are not used in data sets for feedback during data entry, consideration should be made to delete them.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"INA\"},{\"name\":\"user_groups_scarce\",\"displayName\":\"User groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"User groups should have at least two members.\",\"introduction\":\"Generally, user groups should contain two or more users.\",\"recommendation\":\"Considering removing user groups with less than two users, or alternatively, add additional users to the group to make it more useful.\",\"issuesIdType\":\"userGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"UGS\"},{\"name\":\"validation_rules_missing_value_strategy_null\",\"displayName\":\"All validation rule expressions should have a missing value strategy.\",\"section\":\"Validation rules\",\"sectionOrder\":1,\"severity\":\"SEVERE\",\"description\":\"All validation rule expressions should have a missing value strategy.\",\"introduction\":\"Validation rules are composed of a left and right side expression. In certain systems the missing value strategy may not be defined. This may lead to an exception during validation rule analysis. The affected validation rules should be corrected to with an appropriate missing value strategy.\",\"recommendation\":\"Using the results of the the details SQL view, identify the affected validation rules and which side of the rule the missing value strategy has not been specified. Using the maintenance app, make the appropriate corrections and save the rule.\",\"issuesIdType\":\"validationRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRMVSN\"},{\"name\":\"category_combos_being_invalid\",\"displayName\":\"Invalid Category-combos\",\"section\":\"Categories\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all category-combos that are invalid\",\"recommendation\":\"Make sure the category combo is assigned to at least one category and that all categories have category options \",\"issuesIdType\":\"categoryCombos\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"CCBI\"},{\"name\":\"data_elements_aggregate_with_different_period_types\",\"displayName\":\"Aggregate data elements which belong to datasets with different period types.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Aggregate data elements which belong to datasets with different period types.\",\"introduction\":\"Data elements should not belong to datasets with different period types.\",\"recommendation\":\"If you need to collect data with different period types (e.g. weekly and monthly) you should use different data elements for each period type. In general, it is not recommended to collect data with different frequencies, since in general, data collected at higher frequencies (e.g. weekly) can be aggregated to data with lower frequencies (e.g yearly).\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAWDPT\"},{\"name\":\"data_elements_in_data_set_not_in_form\",\"displayName\":\"Data sets with data elements not in data entry form\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that have data elements which are neither a member of the set's data entry form nor a member of the sets section\",\"recommendation\":\"Either remove the data elements in question or make them a member of the set's form or section\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEIDSNIF\"},{\"name\":\"categories_no_options\",\"displayName\":\"Categories with no category options\",\"section\":\"Categories\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Categories with no category options\",\"introduction\":\"Categories should always have at least one category option.\",\"recommendation\":\"Any categories without category options should either be removed from the system if they are not in use. Otherwise, appropriate category options should be added to the category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNO\"},{\"name\":\"validation_rules_without_groups\",\"displayName\":\"Validation rules lacking groups\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that are not member of at least one validation rule group\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWG\"},{\"name\":\"data_elements_aggregate_no_analysis\",\"displayName\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not used in any favourites (directly or through indicators)\",\"introduction\":\"All aggregate data elements that are captured in DHIS2 should be used to produce some type of analysis output (charts, maps, tables). This can be by using them directly in an output, or by having them contribute to an indicator calculation that is used an output.\",\"recommendation\":\"Data elements that are not routinely being reviewed in analysis, either directly or indirectly through indicators, should be reviewed to determine if they still need to be collected. If these are meant to be used in routine review, then associated outputs should be created using them. If these data elements are not going to be used for any type of information review, consideration should be made to either archive them or delete them.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANA\"},{\"name\":\"category_option_combos_disjoint\",\"displayName\":\"Category option combinations with disjoint associations.\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with disjoint associations.\",\"introduction\":\"Under certain circumstances, category option combinations may exist in the system, but not have any direct association with category options which are associated with their category combination. This situation usually occurs when category options have been added to a category and then the category is added to a category combination. New category option combinations are created in the system at this point. If any of the category options are then removed in one of the underlying categories, a so-called disjoint category option combination may result. This is a category option combination which has no direct association with any category options in any of the categories associated with the category combination.\",\"recommendation\":\"The disjoint category option combinations should be removed from the system if possible. However, if any data is associated with the category option combination, a determination will need to be made in regards of how to deal with this data.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COCD\"},{\"name\":\"indicators_duplicated_terms\",\"displayName\":\"Indicators with the same terms.\",\"section\":\"Indicators\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Indicators with the same terms.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check attempts to identify indicators with the same formulas, regardless of the order of their their terms. Suppose you have an indicator which calculates total ANC attendance: ANC Total = ANC1 + ANC2 + ANC3 Suppose then another indicator exists in the system, which has been defined as: ANC Totals = ANC3 + ANC2 + ANC1 These two indicators are equivalent, and will produce the same result, and are thus considered to be duplicated.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Considered deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IDT\"},{\"name\":\"options_sets_unused\",\"displayName\":\"Option sets which are not used\",\"section\":\"Option sets\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Option sets which are not used\",\"introduction\":\"Option sets should be used for some purpose. The may be used by data elements, comments, attributes, or tracked entity attributes.\",\"recommendation\":\"Consider deleting unused option sets, or alternatively, ensure that they have been properly assigned.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSU\"},{\"name\":\"program_rules_no_action\",\"displayName\":\"Program rules with no action.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Program rules with no action.\",\"introduction\":\"All program rules should have an action.\",\"recommendation\":\"Using the DHIS2 user interface, assign an action to each of the program rules which is missing one. Alternatively, if the program rule is not in use, then consider removing it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNA\"},{\"name\":\"catoptioncombos_no_catcombo\",\"displayName\":\"Category options combinations with no category combination.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"WARNING\",\"description\":\"Category options combinations with no category combination.\",\"introduction\":\"All category option combinations should be associated with a category combo. In certain cases, when category combinations are deleted,the linkage between a category option combination and a category combination may become corrupted.\",\"recommendation\":\"Check if any data is associated with the category option combination in question. Likely, the data should either be deleted or migrated to a valid category option combination. Any data which is associated with any of these category option combinations will not be available through either the data entry modules or any of the analytical apps.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CNC\"},{\"name\":\"orgunits_compulsory_group_count\",\"displayName\":\"Organisation units that are not in all compulsory orgunit group sets\",\"section\":\"Organisation units\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Orgunits that are not in all compulsory orgunit group sets\",\"introduction\":\"If any organisation unit groups have been marked as compulsory, each and every organisation unit should belong to exactly one group within each compulsory organisation unit group set. Assume we have created a group set called \\\"Ownership\\\" with two groups \\\"Public\\\" and \\\"Private\\\". Each and every organisation unit contained in the hierarchy must belong to either Public or Private (but not both). When organisation unit are not part of a group set, results in the analytics apps will not be correct if the organisation unit group set is used for aggregation.\",\"recommendation\":\"For each of the organisation units identified in the details query, you should assign the appropriate organisation unit group within the group set. Alternatively, if the group set should not be compulsory, you should change this attribute.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OCGC\"},{\"name\":\"orgunits_no_coordinates\",\"displayName\":\"Organisation units with no coordinates.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"WARNING\",\"description\":\"Organisation units with no coordinates.\",\"introduction\":\"Ideally, all organisation units contained in the DHIS2 hierarchy should have a valid\\nset of coordinates. Usually for all organisation units above the facility level,\\nthese coordinates should be a polygon which provides the boundary of the organisation\\nunit. For facilities, these are usually represented as point coordinates.\\n\\nThere can obviously be exceptions to this rule. Mobile health facilities may not have\\na fixed location. Community health workers or wards below the facility level\\nmay also not have a defined or definable coordinate.\\n\\nThis check is intended to allow you to review all organisation units which do\\nnot have any coordinates and make a determination as to whether they should be updated.\",\"recommendation\":\"Where appropriate, update the geometry of each organisation unit with a valid geometry.\\nYou may need to contact the appropriate local government office to obtain a copy\\nof district boundaries, commonly referred to as \\\"shape files\\\". Another possibility\\nis to use freely available boundary files from GADM (https://gadm.org)\\n\\nIf facilities are missing coordinates, it may be possible to obtain these from\\nthe facility staff using their smart phone to get the coordinates. Images\\nfrom Google Maps can also often be used to estimate the position of a facility,\\nassuming that you have good enough resolution and local knowledge of where\\nit is located.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONC\"},{\"name\":\"data_elements_violating_exclusive_group_sets\",\"displayName\":\"Data elements with conflicting exclusive group sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are a members of more than one exclusive data element set belonging to the same data element group set\",\"recommendation\":\"Either remove the data element from all but one exclusive group set or consider if the set really should be an exclusive group set\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEVEGS\"},{\"name\":\"data_sets_not_assigned_to_org_units\",\"displayName\":\"Data sets not assigned to organisation units\",\"section\":\"Data Sets\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data sets that are not assigned to any organisation units\",\"issuesIdType\":\"dataSets\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DSNATOU\"},{\"name\":\"categories_same_category_options\",\"displayName\":\"Categories with the same category options\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Categories with the same category options\",\"introduction\":\"Categories with the exact same category options should be considered to be merged. Categories with the exact same category options may be easily confused by users in analysis. The details view will provide a list of categories which have the exact same category options. For each duplicated category a number in parentheses such as (1) will indicate which categories belong to duplicated groups.\",\"recommendation\":\"If category combinations have already been created with duplicative categories,\\nit is recommended that you do not take any action, but rather ensure\\nthat users understand that there may be two category combinations which are duplicative.\\n\\nIf you choose to merge the duplicative category combinations, you would need to \\nremap all category option combinations from the category combo which you wish to \\nremove, to the one which you wish to keep. \\n\\nIf one of the categories is not in use in any category combination, it should\\nconsider to be removed from the system.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CSCO\"},{\"name\":\"dashboards_no_items\",\"displayName\":\"Dashboards with no items.\",\"section\":\"Dashboards\",\"sectionOrder\":4,\"severity\":\"INFO\",\"description\":\"Dashboards with no items.\",\"introduction\":\"All dashboards should have content on them. Dashboards without any content do not serve any purpose, and can make it more difficult to find relevant dashboards with content.\",\"recommendation\":\"Dashboards without content that have not been modified in the last 14 days should be considered for deletion.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNI\"},{\"name\":\"visualizations_not_viewed_one_year\",\"displayName\":\"Visualizations which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Visualizations which have not been viewed in the past 12 months\",\"introduction\":\"Visualizations should be regularly viewed in the system. In many cases, users may create charts for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to charts being difficult to find in the visualization app.\",\"recommendation\":\"Unused charts can be removed directly using the data visualization app by a user with sufficient authority. If charts are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"visualizations\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VNVOY\"},{\"name\":\"orgunits_same_name_and_parent\",\"displayName\":\"Organisation units should not have the same name and parent.\",\"section\":\"Organisation units\",\"sectionOrder\":12,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have the same name and parent.\",\"introduction\":\"Organisation units may have exactly the same name. This may become confusing to users, particularly if the organisation unit has the same name and same parent. This can easily lead to data entry or analysis mistakes as users have no way to distinguish between the two organisation units.\",\"recommendation\":\"Rename identically named organisation units which share the same parent using the maintenance app.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSNAP\"},{\"name\":\"indicators_not_grouped\",\"displayName\":\"Indicators not in any groups.\",\"section\":\"Indicators\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicators not in any groups.\",\"introduction\":\"All indicators should be in an indicator group. This allows users to find the indicators more easily in analysis apps and also contributes to having more complete indicators group sets. Maintenance operations can also be made more efficient by applying bulk settings (ex. sharing, filtering) to all indicators within an indicator group.\",\"recommendation\":\"Indicators that are not in a indicator group should be added to a relevant indicator group. If the indicators are not needed, they should be deleted.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ING\"},{\"name\":\"categories_one_default_category_option\",\"displayName\":\"Only one default category option should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option with UID \\\"xYerKDKCefk\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option or move all references to category option \\\"xYerKDKCefk\\\" and then remove the unused conflicting category option.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCO\"},{\"name\":\"orgunits_multiple_spaces\",\"displayName\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have multiple spaces in their names or shortnames.\",\"introduction\":\"Names and/or shortnames of organisation units should not contain multiple spaces. They are superfluous and may complicate the location of organisation units when they are searched.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the multiple spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMS\"},{\"name\":\"category_option_group_sets_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option group sets should be composed of at least two category option groups.\",\"recommendation\":\"Considering removing groups with zero or one category option groups, or alternatively, add additional category option groups to the group set to make it more useful.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSS\"},{\"name\":\"data_elements_aggregate_abandoned\",\"displayName\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements that have not been changed in last 100 days and do not have any data values.\",\"introduction\":\"Data elements are considered to be abandoned when they have not been edited in at least 100 days and do not have any data values associated with them. Often, these are the result of new or changed configurations that have been abandoned at some point.\",\"recommendation\":\"Data elements that have no data associated with them and which there are no plans to start using for data collection should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAA\"},{\"name\":\"data_elements_excess_groupset_membership\",\"displayName\":\"Data elements which belong to multiple groups in a group set.\",\"section\":\"data_elements\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Data elements which belong to multiple groups in a group set.\",\"introduction\":\"Data elements should belong to exactly one group within each data element group set of which they are a member. If the data element belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the data elements in the details list to exactly one data element group within each group set.\",\"issuesIdType\":\"data_elements_aggregate\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEEGM\"},{\"name\":\"data_elements_aggregate_no_groups\",\"displayName\":\"Aggregate data elements not in any data element groups.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements not in any data element groups.\",\"introduction\":\"All data elements should be in a data element group. This allows users to find the data elements more easily in analysis\\n apps and also contributes to having more complete data element group sets.\\n Maintenance operations can also be made more efficient by applying\\n bulk settings (ex. sharing) to all data elements within a data element group.\",\"recommendation\":\"Data elements that are not in a data element group should be added to a relevant data element group. If the data elements are not needed, they should be deleted.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEANG\"},{\"name\":\"data_elements_assigned_to_data_sets_with_different_period_types\",\"displayName\":\"Data elements assigned to data sets with different period type\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that are assigned to at least one data set that has a different period type\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEATDSWDPT\"},{\"name\":\"category_options_shared_within_category_combo\",\"displayName\":\"Category combinations with categories which share the same category options.\",\"section\":\"Categories\",\"sectionOrder\":7,\"severity\":\"SEVERE\",\"description\":\"Category combinations with categories which share the same category options.\",\"introduction\":\"As a general rule, category options should be reused where possible between categories. The exception to this rule however, is when you have a category combo with multiple categories, and within those categories, a category option is shared. As a simple example, lets say you have a category called \\\"Sex\\\" with options \\\"Male\\\"\\\", \\\"Female\\\" and \\\"Unknown\\\". There is also a second category called \\\"Age\\\" with options \\\"<15\\\", \\\"15+\\\", and \\\"Unknown\\\". A category combination called \\\"Age/Sex\\\" is then created with these two categories, which share the option \\\"Unknown\\\". This situation should be avoided, as it creates issues when analyzing data.\",\"recommendation\":\"The recommended approach to dealing with this situation is to create a new category combination, using two new categories. Using the example from the introduction, you should create two new category options called \\\"Unknown age\\\" and \\\"Unknown sex\\\". A new category combination can then be created with these new categories, which do not share category options. All data which is potentially associated with the old category combinations, would need to be reassigned to the new category option combinations. Any analytical objects which use the categories to be removed would also need to be updated.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COSWCC\"},{\"name\":\"data_element_groups_scarce\",\"displayName\":\"Data element groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Data element groups should have at least two members.\",\"introduction\":\"All data element groups should be composed of at least two data elements.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"dataElementGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEGS\"},{\"name\":\"orgunits_not_contained_by_parent\",\"displayName\":\"Organisation units with point coordinates should be contained by their parent.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Organisation units with point coordinates should be contained by their parent.\",\"introduction\":\"Facilities are often represented as points in the DHIS2 hierarchy. Their parent organisation units geometry should contain all facilities which have been associated with them.\",\"recommendation\":\"Often boundary files are simplified when they are uploaded into DHIS2. This process may result in\\nfacilities which are located close to the border of a given district to fall outside of the district\\nwhen the boundary is simplified. This is considered to be more of a cosmetic problem for most DHIS2\\ninstallations, but could become an issue if any geospatial analysis is attempted using the\\nboundaries and point coordinates.\\n\\nIn cases where the facility falls outside of its parent's boundary\\nyou should confirm that the coordinates are correct. If the location is close to the boundary, you\\nmay want to reconsider how the boundary files have been simplified. Otherwise, if the location of\\nthe facility is completely incorrect, it should be rectified.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONCBP\"},{\"name\":\"orgunits_null_island\",\"displayName\":\"Organisation units located within 100 km of Null Island (0,0).\",\"section\":\"Organisation units\",\"sectionOrder\":6,\"severity\":\"SEVERE\",\"description\":\"Organisation units located within 100 km of Null Island (0,0).\",\"introduction\":\"A common problem when importing coordinates is the inclusion of coordinates situated around the point of [Null Island](https://en.wikipedia.org/wiki/Null_Island). This is the point on the Earth's surface where the Prime Meridian and Equator intersect with a latitude of 0 and a longitude of 0. The point also happens to be situated currently in the middle of the ocean. This query identifies any points located within 100 km of the point having latitude and longitude equal to zero.\",\"recommendation\":\"Update the coordinates of the affected organization unit to the correct location.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ONI\"},{\"name\":\"program_rules_message_no_template\",\"displayName\":\"Program rules actions which should send or schedule a message without a message template.\",\"section\":\"Program rules\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Program rules actions which should send or schedule a message without a message template.\",\"introduction\":\"Program rule actions of type \\\"Send message\\\" or \\\"Schedule message\\\" should have an associated message template.\",\"recommendation\":\"Using the DHIS2 user interface, assign a message template to each of the program rule actions which send or schedule messages but which does not have an association with a message template.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRMNT\"},{\"name\":\"indicators_with_invalid_denominator\",\"displayName\":\"Indicators with invalid denominator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"List all indicators where the denominator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWID\"},{\"name\":\"indicator_types_duplicated\",\"displayName\":\"Indicator types with the same factor.\",\"section\":\"Indicators\",\"sectionOrder\":5,\"severity\":\"WARNING\",\"description\":\"Indicator types with the same factor.\",\"introduction\":\"Indicators can be assigned a factor which is multiplied by the indicator's value. For example, if you create a percentage based indicator, you can assign the indicator a factor of 100, which would be multiplied by the actual value of the indicator calculated by DHIS2. In general, having multiple indicator types with the same factor is not recommended. It is duplicative, and may lead to confusion.\",\"recommendation\":\"Duplicated indicator types should consider to be removed from the system. Consider choosing one of the duplicated indicator types as the one to keep, and then update all indicators which share the same factor to this indicator type. The duplicated indicator types can then be removed from the system.\",\"issuesIdType\":\"indicatorTypes\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"ITD\"},{\"name\":\"program_rule_actions_without_section\",\"displayName\":\"Program rules with actions lacking a program stage section\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a section but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWS\"},{\"name\":\"options_sets_empty\",\"displayName\":\"Empty option sets\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Empty option sets\",\"introduction\":\"All option sets should generally include at least two items. Empty option sets serve no purpose.\",\"recommendation\":\"Options should either be added to the option set, or the option set should be deleted.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSE\"},{\"name\":\"periods_3y_future\",\"displayName\":\"Periods which are more than three years in the future.\",\"section\":\"Periods\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Periods which are more than three years in the future.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\nfar future. Different data entry clients may not properly validate for periods\\nwhich are in the future, and thus any periods in the future should be reviewed.\\nIn some cases, data may be valid for future dates, e.g. targets which are set for the\\nnext fiscal year.\",\"recommendation\":\"If any periods exist in the system in the future, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\\n\\nIn many cases, clients may mean to transmit\\ndata for January 2021, but due to data entry errors, January 2031 is selected. Thus,\\nany data in the far future should be investigated to ensure it does not result\\nfrom data entry errors.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"P3F\"},{\"name\":\"orgunits_trailing_spaces\",\"displayName\":\"Organisation units should not have trailing spaces.\",\"section\":\"Organisation units\",\"sectionOrder\":4,\"severity\":\"WARNING\",\"description\":\"Organisation units should not have trailing spaces.\",\"introduction\":\"Trailing spaces in organisation units are superfluous.\",\"recommendation\":\"If the number of affected organisation units is small, the easiest remedy is to correct them directly from the user interface. Another possible option would be to replace all of the trailing spaces using SQL.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OTS\"},{\"name\":\"validation_rule_groups_scarce\",\"displayName\":\"Validation rule should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Validation rule should have at least two members.\",\"introduction\":\"Generally validation rule groups should be composed of multiple validation rules.\",\"recommendation\":\"Considering removing groups which are empty or which have a single member. Alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"validationRuleGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"VRGS\"},{\"name\":\"category_options_no_categories\",\"displayName\":\"Category options with no categories.\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Category options with no categories.\",\"introduction\":\"All category options should belong to at least one category.\",\"recommendation\":\"Category options which are not part of any category should be removed or alternatively should be added to an appropriate category.\",\"issuesIdType\":\"categoryOptions\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CONC\"},{\"name\":\"indicators_with_invalid_numerator\",\"displayName\":\"Indicators with invalid numerator\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators where the numerator expression is not valid\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIN\"},{\"name\":\"categories_one_default_category_combo\",\"displayName\":\"Only one default category combo should exist\",\"section\":\"Categories\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category combo should exist\",\"introduction\":\"There should only exist one category combo with name and code \\\"default\\\".\",\"recommendation\":\"Only the category combo with UID \\\"bjDvmb4bfuf\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category combo or move all references to category combo \\\"bjDvmb4bfuf\\\" and then remove the unused conflicting category combo.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCC\"},{\"name\":\"data_elements_without_data_sets\",\"displayName\":\"Data elements lacking data Sets\",\"section\":\"Data Elements\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all data elements that have no data sets\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"DEWDS\"},{\"name\":\"category_combos_unused\",\"displayName\":\"Category combinations not used by other metadata objects\",\"section\":\"Categories\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Category combinations not used by other metadata objects\",\"introduction\":\"Category combinations which are unused in any datasets, data elements, programs or data approval workflows may be safe to delete. In some cases, category combinations may be created, but never actually used for anything. This may lead to situations where users and implementers are confused about which category combination should actually be used. In general, it should be safe to delete unused category combinations, except in situations where existing data has been associated with them.\",\"recommendation\":\"Check to see if any data is associated with the category combination before attempting to delete it. Category combinations which are not currently used in any metadata objects may still be valid for legacy reasons, but they should be reviewed to be sure they are still needed. Otherwise, it should be safe to remove them from the system.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CCU\"},{\"name\":\"orgunits_orphaned\",\"displayName\":\"Orphaned organisation units.\",\"section\":\"Organisation units\",\"sectionOrder\":9,\"severity\":\"CRITICAL\",\"description\":\"Orphaned organisation units.\",\"introduction\":\"Orphaned organisation units are those which have neither parents nor any children. This means that they have no relationship to the main organisation unit hierarchy. These may be created by faulty metadata imports or direct manipulation of the database.\",\"recommendation\":\"The orphaned organisation units should be assigned a parent or removed from the system. It is recommended to use the DHIS2 API for this task if possible. If this is not possible, then they may need to be removed through direct SQL on the DHIS2 database.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OO\"},{\"name\":\"category_option_groups_scarce\",\"displayName\":\"Category option groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Category option groups should have at least two members.\",\"introduction\":\"Generally, category option groups should be composed of at least two category options. There can however be legitimate cases when a single category option is part of a group, especially in cases where there is a direct mapping between age bands and category options.\",\"recommendation\":\"Considering removing groups with zero or one category options, or alternatively, add additional category options to the group to make it more useful.\",\"issuesIdType\":\"categoryOptionGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGS\"},{\"name\":\"indicators_with_identical_formulas\",\"displayName\":\"Indicators with identical formulas\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that have the identical formulas with at least one other indicator\",\"recommendation\":\"Check if the same indicator should be used everywhere and remove duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWIF\"},{\"name\":\"datasets_empty\",\"displayName\":\"Datasets with no data elements.\",\"section\":\"Data sets\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Datasets with no data elements.\",\"introduction\":\"All datasets should have data elements assigned to them.\",\"recommendation\":\"Remove empty datasets, or alternatively, assign data elements to them.\",\"issuesIdType\":\"dataSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DE\"},{\"name\":\"orgunit_groups_scarce\",\"displayName\":\"Organisation unit groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Organisation unit groups should have at least two members.\",\"introduction\":\"Generally, organisation unit groups should be composed of multiple organisation units.\",\"recommendation\":\"Considering removing groups with zero or one organisation units, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OGS\"},{\"name\":\"indicators_without_groups\",\"displayName\":\"Indicators lacking groups\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that do not have at least one group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IWG\"},{\"name\":\"program_rules_without_priority\",\"displayName\":\"Program rules lacking a priority setting\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules with action type \\\"assign\\\" where the rule priority is not yet set\",\"recommendation\":\"Set a priority for the program rule(s)\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWP\"},{\"name\":\"program_indicators_with_invalid_filters\",\"displayName\":\"Program indicators with invalid filter\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators with invalid filter expression\",\"recommendation\":\"Check that the expression evaluates to true/false\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWIF\"},{\"name\":\"program_rules_without_condition\",\"displayName\":\"Program rules lacking a condition\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that have no condition yet\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWC\"},{\"name\":\"categories_one_default_category\",\"displayName\":\"Only one default category should exist\",\"section\":\"Categories\",\"sectionOrder\":2,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category should exist\",\"introduction\":\"There should only exist one category with name and code \\\"default\\\".\",\"recommendation\":\"Only the category with UID \\\"GLevLNI9wkl\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category or move all references to category \\\"GLevLNI9wkl\\\" and then remove the unused conflicting category.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODC\"},{\"name\":\"categories_unique_category_combo\",\"displayName\":\"Different category combinations should not have the exact same combination of categories.\",\"section\":\"Categories\",\"sectionOrder\":8,\"severity\":\"SEVERE\",\"description\":\"Different category combinations should not have the exact same combination of categories.\",\"introduction\":\"Category combinations should be a unique combination of categories. If two or more category combinations contain the exact same set of categories, this would be considered to be duplicative and potentially confusing to users.\",\"recommendation\":\"One category combo is kept, all references are updated to use this combo and other combos are removed.\",\"issuesIdType\":\"categoryCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CUCC\"},{\"name\":\"org_units_with_cyclic_references\",\"displayName\":\"Organisation units with cyclic references\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that have a conflicting parent hierarchy definition so that two organisation units become parent of each other or in other words they form a circular reference\",\"recommendation\":\"One of the organisation units must be setup wrongly and needs to be corrected so that a non-circular tree connects the two\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUWCR\"},{\"name\":\"indicator_group_sets_scarce\",\"displayName\":\"Indicator groups sets should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups sets should have at least two members.\",\"introduction\":\"All indicator group set should be composed of at least two indicators groups.\",\"recommendation\":\"Considering removing indicator group sets with less than two indicator groups, or alternatively, add additional indicator groups to the indicator group set to make it more useful.\",\"issuesIdType\":\"indicatorGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGSS\"},{\"name\":\"program_rule_variables_without_data_element\",\"displayName\":\"Program rule variables lacking a data element\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring a data element source but that is not yet linked to a data element\",\"recommendation\":\"Assign a data element to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWDE\"},{\"name\":\"validation_rules_with_invalid_right_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a right side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWIRSE\"},{\"name\":\"data_elements_aggregate_aggregation_operator\",\"displayName\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Non-numeric data elements which have an aggregation operator other than NONE.\",\"introduction\":\"Data elements which are not numeric (text, dates, etc) should have an aggregation operator set to NONE. Data elements which are able to be aggregated (numbers, integers, etc) should have an aggregation operator set to something other than NONE, most often SUM.\",\"recommendation\":\"Open the affected data elements in the Maintenance App and change their aggregation type to an appropriate type. Alternatively, these can be altered via the API.\",\"issuesIdType\":\"dataElements\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DEAAO\"},{\"name\":\"org_unit_groups_without_group_sets\",\"displayName\":\"Organisation unit groups lacking group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation unit groups that aren't member of at least one organisation unit group set\",\"issuesIdType\":\"organisationUnitGroups\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUGWGS\"},{\"name\":\"program_rule_variables_without_attribute\",\"displayName\":\"Program rule variables lacking an attribute\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rule variables requiring an attribute source but that is not yet linked to an attribute\",\"recommendation\":\"Assign an attribute to the variable in question or consider if the variable is not needed\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRVWA\"},{\"name\":\"program_indicator_groups_scarce\",\"displayName\":\"Program indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Program indicator groups should have at least two members.\",\"introduction\":\"Program indicator groups should generally be composed of two or more program indicators.\",\"recommendation\":\"Considering removing groups with a single member, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"programIndicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PIGS\"},{\"name\":\"org_units_violating_exclusive_group_sets\",\"displayName\":\"Organisation units with conflicting exclusive group sets\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that are members of multiple exclusive organisation unit groups\",\"recommendation\":\"Remove the organisation unit from all but one exclusive organisation unit group\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUVEGS\"},{\"name\":\"program_rules_no_expression\",\"displayName\":\"Program rules with no expression.\",\"section\":\"Program rules\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Program rules with no expression.\",\"introduction\":\"All program rules should have an expression. Expressions are used by program rules to determine when they should be triggered. Program rules with no expression have no purpose.\",\"recommendation\":\"Using the DHIS2 user interface, assign an expression to each of the program rules which is missing one. Otherwise, if it is safe to delete the program rule with no expression, it is recommended to remove it.\",\"issuesIdType\":\"programRules\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PRNE\"},{\"name\":\"program_rule_actions_without_data_object\",\"displayName\":\"Program rules with actions lacking a data object\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program rules connected to an action of a type that requires either a data element or an attribute but is not connected either\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWDO\"},{\"name\":\"orgunits_openingdate_gt_closeddate\",\"displayName\":\"Organisation units which have an opening date later than the closed date.\",\"section\":\"Organisation units\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Organisation units which have an opening date later than the closed date.\",\"introduction\":\"If a closing date has been defined for an organisation unit, it should always be after the opening date (if one has been defined).\",\"recommendation\":\"Alter either the opening or closing date of all affected organisation units so that the closing date is after the opening date.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OOGC\"},{\"name\":\"categories_one_default_category_option_combo\",\"displayName\":\"Only one default category option combo should exist\",\"section\":\"Categories\",\"sectionOrder\":4,\"severity\":\"SEVERE\",\"description\":\"Only one \\\"default\\\" category option combo should exist\",\"introduction\":\"There should only exist one category option with name and code \\\"default\\\".\",\"recommendation\":\"Only the category option combo with UID \\\"HllvX50cXC0\\\" should be named \\\"default\\\" and have code \\\"default\\\". Either rename the conflicting category option combo or move all references to category option combo \\\"HllvX50cXC0\\\" and then remove the unused conflicting category option combo.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CODCOC\"},{\"name\":\"category_option_group_sets_incomplete\",\"displayName\":\"Category option group sets which do not contain all category options.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category option group sets which which do not contain all category options.\",\"introduction\":\"Category option group sets are composed of multiple category option groups, which are in turn composed of various category options. Category option group sets are often used to group related category options together for analytical purposes. Categories are also composed of category options. In general, but not always, category option group sets should contain all category options of related categories. Suppose we have the following two age categories. \\nAge coarse: <15, 15+ Age fine: <1, 1-10, 10-14,15-19,20-24,25-29,30-34,35-39,40-44,45+\\nIn many cases, related data elements may be disaggregated differently. This may be to differences in the way in which the data is collected, or as is often the case, the disaggregation has changed over time. If we wish to analyze data for two different data elements (one of which uses Age coarse and the other Age fine), we can create a category option group set consisting of two category option groups which should consist of the following category options from above. \\n<15: <15, <1, 1-10, 10-14 15+: 15+, 15-19,20-24,25-29,30-34,35-39,40-44,45+\\nSuppose that we happen to omit the category option \\\"<1\\\" from the \\\"<15\\\" category option group. This would result in potential aggregation errors in when using this category option group set in any analytical objects. The details of this metadata check would return the UID and name of the category option group set. The category and category option would also be provided. Using the previous example, we would see \\\"Age fine:{<1}\\\" in the metadata check details section, to indicate that the <1 category option which is part of the \\\"Age fine\\\" category, is missing from the category option group set.\\nThere may exist specific analytical reasons why specific category options are omitted from a category option group set. However,these should usually be special cases. This metadata check will identify cases where category option group sets appear to be incomplete, however you should carefully review any groups which appear in the details. \\nThis check may also produce a number of issues which may at first glance appear to be false positives. In some cases, category options may be added to a category by mistake. When category option group sets are created, this extraneous option may be omitted and thus appear as missing from the group set. \\nAnother observed situation is where an option like \\\"Unknown\\\" is used across unrelated categories. Suppose you have two categories \\\"Age (<15, 15+, Unknown)\\\" and \\\"Sex (Male,Female,Unknown)\\\". Similar to above, we create category option group sets like: \\n<15: <15 15+: 15+ Unknown: Unknown\\nThis metadata check will report that \\\"Male\\\" and \\\"Female\\\" are missing from the group set. This is because the same \\\"Unknown\\\" option is shared between two different, unrelated categories. It is recommended that if this situation occurs, that you create two separate \\\"Unknown\\\" category options like \\\"Unknown sex\\\" and \\\"Unknown age\\\".\",\"recommendation\":\"Using the maintenance app, assign the missing category options to an appropriate category option group within the affected category option group set.\",\"issuesIdType\":\"categoryOptionGroupSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COGSI\"},{\"name\":\"maps_not_viewed_one_year\",\"displayName\":\"Maps which have not been viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":1,\"severity\":\"WARNING\",\"description\":\"Maps which have not been viewed in the past 12 months\",\"introduction\":\"Maps should be regularly viewed in the system. In many cases, users may create maps for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system and being difficult to find in the Maps app.\",\"recommendation\":\"Unused maps can be removed directly using the Maps app by a user with sufficient authority. If maps are a part of any dashboard however, they will also need to be removed from the dashboard first.\",\"issuesIdType\":\"maps\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"MNVOY\"},{\"name\":\"data_elements_aggregate_no_data\",\"displayName\":\"Aggregate data elements with NO data values.\",\"section\":\"Data elements (aggregate)\",\"sectionOrder\":6,\"severity\":\"WARNING\",\"description\":\"Aggregate data elements with NO data values.\",\"introduction\":\"Data elements should generally always be associated with data values. If data elements exist in a data set which is active, but there are no data values associated with them, they may not be part of the data entry screens. Alternatively, the data element may have been added but never been associated with a dataset.\",\"recommendation\":\"Consider removing data elements with no data values.\",\"issuesIdType\":\"dataElements\",\"isSlow\":true,\"isProgrammatic\":false,\"code\":\"DEAND\"},{\"name\":\"indicators_exact_duplicates\",\"displayName\":\"Indicators with the same formula.\",\"section\":\"Indicators\",\"sectionOrder\":8,\"severity\":\"WARNING\",\"description\":\"Indicators with the same formula.\",\"introduction\":\"Indicators should generally have unique formulas. This metadata check shows indicators which have the exact same formulas. Spaces which are present are removed prior to comparison.\",\"recommendation\":\"Duplicative indicators should be considered to be removed from the system, since they may cause confusion on the part of users as to which one should be used. Consider deleting all but one of the duplicated indicators using the maintenance app.\",\"issuesIdType\":\"indicators\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IED\"},{\"name\":\"program_indicators_without_expression\",\"displayName\":\"Program indicators lacking an expression\",\"section\":\"Program Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all program indicators that have no expression set yet\",\"issuesIdType\":\"programIndicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PIWE\"},{\"name\":\"indicators_violating_exclusive_group_sets\",\"displayName\":\"Indicators with conflicting exclusive group sets\",\"section\":\"Indicators\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all indicators that are members of multiple exclusive indicator groups\",\"recommendation\":\"Remove the indicator from all but one exclusive indicator group\",\"issuesIdType\":\"indicators\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"IVEGS\"},{\"name\":\"category_options_excess_groupset_membership\",\"displayName\":\"Category options which belong to multiple groups in a category option group set.\",\"section\":\"Categories\",\"sectionOrder\":10,\"severity\":\"SEVERE\",\"description\":\"Category options which belong to multiple groups in a category option group set.\",\"introduction\":\"Category options should belong to exactly one category option group which are part of a category option group set. If the category option belongs to multiple groups, this will lead to unpredictable results in analysis.\",\"recommendation\":\"Using the maintenance app, assign the category option in the details list to exactly one category option group within each group set.\",\"issuesIdType\":\"categories\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"COEGM\"},{\"name\":\"periods_distant_past\",\"displayName\":\"Periods which are in the distant past.\",\"section\":\"Periods\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Periods which are in the distant past.\",\"introduction\":\"Periods in DHIS2 are automatically generated by the system. As new data is entered\\ninto the system, new periods are automatically created. In some cases, periods\\nmay mistakenly be created when data is sent to DHIS2 for periods which are in the\\ndistant past. Different data entry clients may not properly validate for periods\\nwhich are in the distant past, and thus these periods should be triaged to ensure\\nthat data has not been entered against them by mistake.\",\"recommendation\":\"If any periods exist in the system in the distant past, you should review the raw data\\neither directly in the datavalue table, or alternatively though the pivot tables\\nto ensure that this data is correct.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PDP\"},{\"name\":\"periods_duplicates\",\"displayName\":\"Duplicate Periods\",\"section\":\"Periods\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all periods duplicates which have identical type and start date\",\"recommendation\":\"Make sure all database references are moved to one of the duplicates before deleting the unused duplicates\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PD\"},{\"name\":\"program_rules_without_action\",\"displayName\":\"Program rules lacking an action\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all programs with rules that are not connected to any program rule action\",\"recommendation\":\"Connect the rule to an action or consider removing the rule\",\"issuesIdType\":\"programs\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRWA\"},{\"name\":\"org_units_being_orphaned\",\"displayName\":\"Orphaned organisation units\",\"section\":\"Organisation Units\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all organisation units that aren't level 1 units but that lack a parent so that they are not connected to the rest of the organisation tree\",\"recommendation\":\"Find (or create) and set the correct parent for the orphaned organisation unit(s). Eventually this is also caused by having set the wrong level.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"OUBO\"},{\"name\":\"orgunits_multiple_roots\",\"displayName\":\"The organisation unit hierarchy should have a single root.\",\"section\":\"Organisation units\",\"sectionOrder\":8,\"severity\":\"CRITICAL\",\"description\":\"The organisation unit hierarchy should have a single root.\",\"introduction\":\"Every DHIS2 system should have a single root organisation unit. This means a single organisation unit from which all other branches of the hierarchy are descendants.\",\"recommendation\":\"Once you have decided which organisation unit should be the real root of the organisation unit hierarchy, you should update the parent organisation unit. This can be done by using the DHIS2 API or my updating the value directly in the `organisationunit` table.\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OMR\"},{\"name\":\"cocs_wrong_cardinality\",\"displayName\":\"Category option combinations with incorrect cardinality.\",\"section\":\"Categories\",\"sectionOrder\":5,\"severity\":\"SEVERE\",\"description\":\"Category option combinations with incorrect cardinality.\",\"introduction\":\"All category option combinations should have exactly the same number of category option associations as the number of categories in the category combination. If there are two categories in a category combination, then every category option combination should have exactly two category options.\\nCategory option combinations with the incorrect cardinality are usually the result of a category combination having been created, and then modified later. Suppose that two categories are used to create a category combination. Each category option combination of this category combo will have two category options. If an additional category is added to the category combination later, new category option combinations with three category options will be created and associated with this category combo. The original category option combinations would be considered to be invalid.\",\"recommendation\":\"Category option combinations which have an incorrect cardinality will be ignored by the DHIS2 analytics system and should be removed.\",\"issuesIdType\":\"categoryOptionCombos\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"CWC\"},{\"name\":\"organisation_units_without_groups\",\"displayName\":\"organisation units without groups\",\"section\":\"Organisation units\",\"sectionOrder\":13,\"severity\":\"WARNING\",\"description\":\"Organisation units with no groups.\",\"introduction\":\"All organisation units should usually belong to at least one organisation unit group.\\nWhen organisation units do not belong to any groups, they become more difficult to identify\\nin analysis apps like the data visualizer.\",\"recommendation\":\"Create useful organisation unit groups to help users filter certain classes of organisation\\nunits. These groups may or may not be used in organisation unit group sets\",\"issuesIdType\":\"organisationUnits\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OUWG\"},{\"name\":\"validation_rules_with_invalid_left_side_expression\",\"displayName\":\"Validation rules with invalid left side expression\",\"section\":\"Validation Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists all validation rules that have a left side expression that is not valid\",\"issuesIdType\":\"validationRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"VRWILSE\"},{\"name\":\"dashboards_not_viewed_one_year\",\"displayName\":\"Dashboards which have not been actively viewed in the past 12 months\",\"section\":\"Visualizations\",\"sectionOrder\":3,\"severity\":\"WARNING\",\"description\":\"Dashboards which have not been actively viewed in the past 12 months\",\"introduction\":\"Dashboards should be regularly viewed in the system. In many cases, users may create dashboards for temporary purposes and then never delete them. This can eventually lead to a lack of tidiness in the system. This can lead to useful dashboards being difficult to find. This check identifies any dashboards which have not been viewed in the past year.\",\"recommendation\":\"Unused dashboards can be deleted in the entirety from the main dashboard app by clicking on the \\\"Edit\\\" button and choosing \\\"Delete\\\". Note that this process cannot be undone! Another option would be to alter the sharing of the dashboard so that it is not visible to any user.\",\"issuesIdType\":\"dashboards\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"DNVOY\"},{\"name\":\"indicator_groups_scarce\",\"displayName\":\"Indicator groups should have at least two members.\",\"section\":\"Group size\",\"sectionOrder\":2,\"severity\":\"WARNING\",\"description\":\"Indicator groups should have at least two members.\",\"introduction\":\"All indicator groups should be composed of at least two indicators.\",\"recommendation\":\"Considering removing groups with zero or one groups, or alternatively, add additional members to the group to make it more useful.\",\"issuesIdType\":\"indicatorGroups\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"IGS\"},{\"name\":\"program_rule_actions_without_stage_id\",\"displayName\":\"Program rules with actions lacking a program stage\",\"section\":\"Program Rules\",\"sectionOrder\":0,\"severity\":\"WARNING\",\"description\":\"Lists program rules connected to an action of a type that requires a program stage but is not yet connected to one\",\"issuesIdType\":\"programRules\",\"isSlow\":true,\"isProgrammatic\":true,\"code\":\"PRAWSI\"},{\"name\":\"option_sets_wrong_sort_order\",\"displayName\":\"Option sets with possibly wrong sort order.\",\"section\":\"Option sets\",\"sectionOrder\":3,\"severity\":\"SEVERE\",\"description\":\"Option sets with possibly wrong sort order.\",\"introduction\":\"Option sets contain options which should be ordered sequentially. The sort_order property should always start with 1 and have a sequential sequence. If there are three options in the option set, then the sort order should be 1,2,3. \\nIn certain circumstances, options may be deleted from an option set, and the sort order may become corrupted. This may lead to a situation where it becomes impossible to update the option set from the maintenance app, and may lead to problems when attempting to using the option set in the data entry app.\",\"recommendation\":\"If it is possible to open the option set in the maintenance app, you can resort the option set, which should correct the problem. Another possible solution is to directly update the sort_order property of in the `optionset` table in the database, ensuring that a valid sequence is present for all options in the option set.\",\"issuesIdType\":\"optionSets\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"OSWSO\"},{\"name\":\"periods_same_start_end_date\",\"displayName\":\"Periods with the same start and end dates\",\"section\":\"Periods\",\"sectionOrder\":1,\"severity\":\"CRITICAL\",\"description\":\"Periods with the same start and end dates\",\"introduction\":\"Different periods should not have exactly the same start and end date.\",\"recommendation\":\"All references to the duplicate periods should be removed from the system and reassigned. It is recommended to use the period with the lower periodid.\",\"issuesIdType\":\"periods\",\"isSlow\":false,\"isProgrammatic\":false,\"code\":\"PSSED\"}]", + "responseSize": 69899, "responseHeaders": { "server": "nginx/1.23.0", "content-type": "application/json;charset=UTF-8", diff --git a/cypress/fixtures/not-authorized-route/unauthorized-user.json b/cypress/fixtures/not-authorized/unauthorized-user.json similarity index 100% rename from cypress/fixtures/not-authorized-route/unauthorized-user.json rename to cypress/fixtures/not-authorized/unauthorized-user.json diff --git a/cypress/fixtures/view-route/single-system-job.json b/cypress/fixtures/view-job/single-system-job.json similarity index 100% rename from cypress/fixtures/view-route/single-system-job.json rename to cypress/fixtures/view-job/single-system-job.json diff --git a/cypress/integration/add-route/back-to-all-jobs.feature b/cypress/integration/add-job/back-to-all-jobs.feature similarity index 53% rename from cypress/integration/add-route/back-to-all-jobs.feature rename to cypress/integration/add-job/back-to-all-jobs.feature index 528db2940..4ed0728ca 100644 --- a/cypress/integration/add-route/back-to-all-jobs.feature +++ b/cypress/integration/add-job/back-to-all-jobs.feature @@ -1,13 +1,13 @@ -Feature: Users should be able to navigate back to the job list +Feature: Users should be able to navigate back to the list route Background: - Given the user navigated to the add job page + Given the user navigated to the add job route Scenario: User clicks the cancel button When the user clicks the cancel button - Then the job list route will be loaded + Then the list route will be loaded Scenario: User clicks the cancel button after editing the form Given the user has edited the form When the user clicks the cancel button - Then the user will be asked if they want to discard the form + Then the user will be asked if they want to discard their changes diff --git a/cypress/integration/add-route/back-to-all-jobs/index.js b/cypress/integration/add-job/back-to-all-jobs/index.js similarity index 62% rename from cypress/integration/add-route/back-to-all-jobs/index.js rename to cypress/integration/add-job/back-to-all-jobs/index.js index f7bd9a2b1..050770b51 100644 --- a/cypress/integration/add-route/back-to-all-jobs/index.js +++ b/cypress/integration/add-job/back-to-all-jobs/index.js @@ -1,6 +1,6 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' -Given('the user navigated to the add job page', () => { +Given('the user navigated to the add job route', () => { cy.visit('/#/job/add') cy.findByRole('heading', { name: 'New Job' }).should('exist') }) @@ -13,10 +13,12 @@ When('the user clicks the cancel button', () => { cy.findByRole('button', { name: 'Cancel' }).click() }) -Then('the job list route will be loaded', () => { +Then('the list route will be loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) -Then('the user will be asked if they want to discard the form', () => { - cy.findByText('Are you sure you want to discard this form?').should('exist') +Then('the user will be asked if they want to discard their changes', () => { + cy.findByText('Are you sure you want to discard your changes?').should( + 'exist' + ) }) diff --git a/cypress/integration/add-route/create-parameter-jobs.feature b/cypress/integration/add-job/create-parameter-jobs.feature similarity index 91% rename from cypress/integration/add-route/create-parameter-jobs.feature rename to cypress/integration/add-job/create-parameter-jobs.feature index e48180004..270e35dea 100644 --- a/cypress/integration/add-route/create-parameter-jobs.feature +++ b/cypress/integration/add-job/create-parameter-jobs.feature @@ -1,13 +1,13 @@ Feature: Users should be able to create jobs that take parameters Scenario Outline: User creates a job - Given the user navigated to the add job page + Given the user navigated to the add job route And the user enters a job name And the user selects the job type And the user enters a schedule And the user enters the parameters for Then the expected job is created when the user saves the job - And the job list is loaded + And the list route is loaded Scenarios: | job-type | schedule-type | diff --git a/cypress/integration/add-route/create-parameter-jobs/index.js b/cypress/integration/add-job/create-parameter-jobs/index.js similarity index 98% rename from cypress/integration/add-route/create-parameter-jobs/index.js rename to cypress/integration/add-job/create-parameter-jobs/index.js index f7d93ba6d..d87723d15 100644 --- a/cypress/integration/add-route/create-parameter-jobs/index.js +++ b/cypress/integration/add-job/create-parameter-jobs/index.js @@ -22,7 +22,7 @@ const saveAndExpect = (expected) => { * Tests */ -Given('the user navigated to the add job page', () => { +Given('the user navigated to the add job route', () => { cy.visit('/#/job/add') cy.findByRole('heading', { name: 'New Job' }).should('exist') }) @@ -299,6 +299,6 @@ Then('the expected job is created when the user saves the predictor job', () => }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/add-route/create-parameterless-jobs.feature b/cypress/integration/add-job/create-parameterless-jobs.feature similarity index 85% rename from cypress/integration/add-route/create-parameterless-jobs.feature rename to cypress/integration/add-job/create-parameterless-jobs.feature index 22b710778..8b860977c 100644 --- a/cypress/integration/add-route/create-parameterless-jobs.feature +++ b/cypress/integration/add-job/create-parameterless-jobs.feature @@ -1,12 +1,12 @@ Feature: Users should be able to create jobs without parameters Scenario Outline: User creates a job - Given the user navigated to the add job page + Given the user navigated to the add job route And the user enters a job name And the user selects the job type And the user enters a cron schedule Then the expected job is created when the user saves the job - And the job list is loaded + And the list route is loaded Scenarios: | job-type | diff --git a/cypress/integration/add-route/create-parameterless-jobs/index.js b/cypress/integration/add-job/create-parameterless-jobs/index.js similarity index 96% rename from cypress/integration/add-route/create-parameterless-jobs/index.js rename to cypress/integration/add-job/create-parameterless-jobs/index.js index 632fd9289..05e236054 100644 --- a/cypress/integration/add-route/create-parameterless-jobs/index.js +++ b/cypress/integration/add-job/create-parameterless-jobs/index.js @@ -22,7 +22,7 @@ const saveAndExpect = (expected) => { * Tests */ -Given('the user navigated to the add job page', () => { +Given('the user navigated to the add job route', () => { cy.visit('/#/job/add') cy.findByRole('heading', { name: 'New Job' }).should('exist') }) @@ -94,6 +94,6 @@ Then( }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/add-route/cron-presets.feature b/cypress/integration/add-job/cron-presets.feature similarity index 88% rename from cypress/integration/add-route/cron-presets.feature rename to cypress/integration/add-job/cron-presets.feature index 2ecde90ad..34ffcd552 100644 --- a/cypress/integration/add-route/cron-presets.feature +++ b/cypress/integration/add-job/cron-presets.feature @@ -1,7 +1,7 @@ Feature: Users should be able to insert cron presets Scenario: User inserts a cron preset - Given the user navigated to the add job page + Given the user navigated to the add job route And the job types have loaded And the user selects a cron scheduled job type When the user clicks the choose from preset times button @@ -10,7 +10,7 @@ Feature: Users should be able to insert cron presets Then the selected cron schedule will be inserted in the form Scenario: User cancels inserting a cron preset - Given the user navigated to the add job page + Given the user navigated to the add job route And the job types have loaded And the user selects a cron scheduled job type When the user clicks the choose from preset times button diff --git a/cypress/integration/add-route/cron-presets/index.js b/cypress/integration/add-job/cron-presets/index.js similarity index 96% rename from cypress/integration/add-route/cron-presets/index.js rename to cypress/integration/add-job/cron-presets/index.js index 34ceb81df..c333bce44 100644 --- a/cypress/integration/add-route/cron-presets/index.js +++ b/cypress/integration/add-job/cron-presets/index.js @@ -1,6 +1,6 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' -Given('the user navigated to the add job page', () => { +Given('the user navigated to the add job route', () => { cy.visit('/#/job/add') cy.findByRole('heading', { name: 'New Job' }).should('exist') }) diff --git a/cypress/integration/add-route/info-link.feature b/cypress/integration/add-job/info-link.feature similarity index 74% rename from cypress/integration/add-route/info-link.feature rename to cypress/integration/add-job/info-link.feature index 90388144d..c7bfacae4 100644 --- a/cypress/integration/add-route/info-link.feature +++ b/cypress/integration/add-job/info-link.feature @@ -1,5 +1,5 @@ Feature: Users should be able to navigate to the documentation Scenario: User clicks the info link - Given the user navigated to the add job page + Given the user navigated to the add job route Then there is a link to the documentation diff --git a/cypress/integration/add-route/info-link/index.js b/cypress/integration/add-job/info-link/index.js similarity index 72% rename from cypress/integration/add-route/info-link/index.js rename to cypress/integration/add-job/info-link/index.js index d90b71deb..2aeb7462e 100644 --- a/cypress/integration/add-route/info-link/index.js +++ b/cypress/integration/add-job/info-link/index.js @@ -1,15 +1,15 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' -Given('the user navigated to the add job page', () => { +Given('the user navigated to the add job route', () => { cy.visit('/#/job/add') cy.findByRole('heading', { name: 'New Job' }).should('exist') }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/add-sequence/back-to-all-jobs.feature b/cypress/integration/add-queue/back-to-all-jobs.feature similarity index 52% rename from cypress/integration/add-sequence/back-to-all-jobs.feature rename to cypress/integration/add-queue/back-to-all-jobs.feature index dea347dc9..52453d7d1 100644 --- a/cypress/integration/add-sequence/back-to-all-jobs.feature +++ b/cypress/integration/add-queue/back-to-all-jobs.feature @@ -1,13 +1,13 @@ -Feature: Users should be able to navigate back to the job list +Feature: Users should be able to navigate back to the list route Background: - Given the user navigated to the add sequence page + Given the user navigated to the add queue route Scenario: User clicks the cancel button When the user clicks the cancel button - Then the job list route will be loaded + Then the list route will be loaded Scenario: User clicks the cancel button after editing the form Given the user has edited the form When the user clicks the cancel button - Then the user will be asked if they want to discard the form + Then the user will be asked if they want to discard their changes diff --git a/cypress/integration/add-sequence/back-to-all-jobs/index.js b/cypress/integration/add-queue/back-to-all-jobs/index.js similarity index 62% rename from cypress/integration/add-sequence/back-to-all-jobs/index.js rename to cypress/integration/add-queue/back-to-all-jobs/index.js index 2e8fdae22..7dd359c2a 100644 --- a/cypress/integration/add-sequence/back-to-all-jobs/index.js +++ b/cypress/integration/add-queue/back-to-all-jobs/index.js @@ -1,6 +1,6 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' -Given('the user navigated to the add sequence page', () => { +Given('the user navigated to the add queue route', () => { cy.visit('/#/queue/add') cy.findByRole('heading', { name: 'New queue' }).should('exist') }) @@ -13,10 +13,12 @@ When('the user clicks the cancel button', () => { cy.findByRole('button', { name: 'Cancel' }).click() }) -Then('the job list route will be loaded', () => { +Then('the list route will be loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) -Then('the user will be asked if they want to discard the form', () => { - cy.findByText('Are you sure you want to discard this form?').should('exist') +Then('the user will be asked if they want to discard their changes', () => { + cy.findByText('Are you sure you want to discard your changes?').should( + 'exist' + ) }) diff --git a/cypress/integration/add-queue/create-queue.feature b/cypress/integration/add-queue/create-queue.feature new file mode 100644 index 000000000..1f2142a23 --- /dev/null +++ b/cypress/integration/add-queue/create-queue.feature @@ -0,0 +1,10 @@ +Feature: Users should be able to create a queue + + Scenario: User creates a queue + Given two unqueued jobs exist + And the user navigated to the add queue route + And the user enters a queue name + And the user enters a cron schedule + And the user adds jobs to the queue + Then the expected queue is created when the user saves the queue + And the list route is loaded diff --git a/cypress/integration/add-sequence/create-sequence/index.js b/cypress/integration/add-queue/create-queue/index.js similarity index 83% rename from cypress/integration/add-sequence/create-sequence/index.js rename to cypress/integration/add-queue/create-queue/index.js index 31d6a45d1..6b6f551c0 100644 --- a/cypress/integration/add-sequence/create-sequence/index.js +++ b/cypress/integration/add-queue/create-queue/index.js @@ -23,16 +23,16 @@ const saveAndExpect = (expected) => { Given('two unqueued jobs exist', () => { cy.intercept( { pathname: /scheduler\/queueable$/ }, - { fixture: 'add-sequence/two-unqueued-jobs' } + { fixture: 'add-queue/two-unqueued-jobs' } ) }) -Given('the user navigated to the add sequence page', () => { +Given('the user navigated to the add queue route', () => { cy.visit('/#/queue/add') cy.findByRole('heading', { name: 'New queue' }).should('exist') }) -Given('the user enters a sequence name', () => { +Given('the user enters a queue name', () => { cy.findByLabelText('Name*').type('Name') }) @@ -51,7 +51,7 @@ Given('the user adds jobs to the queue', () => { cy.get('[data-test="dhis2-uicore-transfer-actions-addindividual"]').click() }) -Then('the expected sequence is created when the user saves the sequence', () => +Then('the expected queue is created when the user saves the queue', () => saveAndExpect({ cronExpression: '0 0 * ? * *', name: 'Name', @@ -59,6 +59,6 @@ Then('the expected sequence is created when the user saves the sequence', () => }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/add-sequence/create-sequence.feature b/cypress/integration/add-sequence/create-sequence.feature deleted file mode 100644 index e1ba7972a..000000000 --- a/cypress/integration/add-sequence/create-sequence.feature +++ /dev/null @@ -1,10 +0,0 @@ -Feature: Users should be able to create a sequence - - Scenario: User creates a sequence - Given two unqueued jobs exist - And the user navigated to the add sequence page - And the user enters a sequence name - And the user enters a cron schedule - And the user adds jobs to the queue - Then the expected sequence is created when the user saves the sequence - And the job list is loaded diff --git a/cypress/integration/edit-route/back-to-all-jobs.feature b/cypress/integration/edit-job/back-to-all-jobs.feature similarity index 56% rename from cypress/integration/edit-route/back-to-all-jobs.feature rename to cypress/integration/edit-job/back-to-all-jobs.feature index adff034cc..c30ec5af0 100644 --- a/cypress/integration/edit-route/back-to-all-jobs.feature +++ b/cypress/integration/edit-job/back-to-all-jobs.feature @@ -1,14 +1,14 @@ -Feature: Users should be able to navigate back to the job list +Feature: Users should be able to navigate back to the list route Background: Given a single user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route Scenario: User clicks the cancel button When the user clicks the cancel button - Then the job list route will be loaded + Then the list route will be loaded Scenario: User clicks the cancel button after editing the form Given the user has edited the form When the user clicks the cancel button - Then the user will be asked if they want to discard the form + Then the user will be asked if they want to discard their changes diff --git a/cypress/integration/edit-route/back-to-all-jobs/index.js b/cypress/integration/edit-job/back-to-all-jobs/index.js similarity index 64% rename from cypress/integration/edit-route/back-to-all-jobs/index.js rename to cypress/integration/edit-job/back-to-all-jobs/index.js index df322093b..e2d314d82 100644 --- a/cypress/integration/edit-route/back-to-all-jobs/index.js +++ b/cypress/integration/edit-job/back-to-all-jobs/index.js @@ -3,11 +3,11 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job' } + { fixture: 'edit-job/single-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) @@ -20,10 +20,12 @@ When('the user clicks the cancel button', () => { cy.findByRole('button', { name: 'Cancel' }).click() }) -Then('the job list route will be loaded', () => { +Then('the list route will be loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) -Then('the user will be asked if they want to discard the form', () => { - cy.findByText('Are you sure you want to discard this form?').should('exist') +Then('the user will be asked if they want to discard their changes', () => { + cy.findByText('Are you sure you want to discard your changes?').should( + 'exist' + ) }) diff --git a/cypress/integration/edit-route/cron-presets.feature b/cypress/integration/edit-job/cron-presets.feature similarity index 92% rename from cypress/integration/edit-route/cron-presets.feature rename to cypress/integration/edit-job/cron-presets.feature index be3f0c0ec..5726f34d1 100644 --- a/cypress/integration/edit-route/cron-presets.feature +++ b/cypress/integration/edit-job/cron-presets.feature @@ -2,7 +2,7 @@ Feature: Users should be able to insert cron presets Background: Given a single cron scheduled user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route Scenario: User inserts a cron preset When the user clicks the choose from preset times button diff --git a/cypress/integration/edit-route/cron-presets/index.js b/cypress/integration/edit-job/cron-presets/index.js similarity index 91% rename from cypress/integration/edit-route/cron-presets/index.js rename to cypress/integration/edit-job/cron-presets/index.js index b6a2e05f3..5f3b316b7 100644 --- a/cypress/integration/edit-route/cron-presets/index.js +++ b/cypress/integration/edit-job/cron-presets/index.js @@ -3,11 +3,11 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single cron scheduled user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-cron-user-job' } + { fixture: 'edit-job/single-cron-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) diff --git a/cypress/integration/edit-route/delete-button.feature b/cypress/integration/edit-job/delete-button.feature similarity index 86% rename from cypress/integration/edit-route/delete-button.feature rename to cypress/integration/edit-job/delete-button.feature index ad4fa21e8..f150807c2 100644 --- a/cypress/integration/edit-route/delete-button.feature +++ b/cypress/integration/edit-job/delete-button.feature @@ -2,7 +2,7 @@ Feature: Users should be able to delete a job Background: Given a single user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route And the user clicks the delete job button Scenario: User deletes a job diff --git a/cypress/integration/edit-route/delete-button/index.js b/cypress/integration/edit-job/delete-button/index.js similarity index 92% rename from cypress/integration/edit-route/delete-button/index.js rename to cypress/integration/edit-job/delete-button/index.js index 6d93d047b..6d1202131 100644 --- a/cypress/integration/edit-route/delete-button/index.js +++ b/cypress/integration/edit-job/delete-button/index.js @@ -3,11 +3,11 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job' } + { fixture: 'edit-job/single-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) diff --git a/cypress/integration/edit-route/display-jobs.feature b/cypress/integration/edit-job/display-jobs.feature similarity index 81% rename from cypress/integration/edit-route/display-jobs.feature rename to cypress/integration/edit-job/display-jobs.feature index 907fe8e8e..4545dab78 100644 --- a/cypress/integration/edit-route/display-jobs.feature +++ b/cypress/integration/edit-job/display-jobs.feature @@ -2,6 +2,6 @@ Feature: Users should be able to view jobs Scenario: User views a user job Given a single user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route Then the user job data should be displayed in the form And the user job details should be visible diff --git a/cypress/integration/edit-route/display-jobs/index.js b/cypress/integration/edit-job/display-jobs/index.js similarity index 91% rename from cypress/integration/edit-route/display-jobs/index.js rename to cypress/integration/edit-job/display-jobs/index.js index 6cfcdf06a..1ba09e676 100644 --- a/cypress/integration/edit-route/display-jobs/index.js +++ b/cypress/integration/edit-job/display-jobs/index.js @@ -3,11 +3,11 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job' } + { fixture: 'edit-job/single-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { // Set fixed date so that time based job details tests don't change const now = new Date(2021, 3, 10).getTime() cy.clock(now) diff --git a/cypress/integration/edit-route/edit-parameter-jobs.feature b/cypress/integration/edit-job/edit-parameter-jobs.feature similarity index 91% rename from cypress/integration/edit-route/edit-parameter-jobs.feature rename to cypress/integration/edit-job/edit-parameter-jobs.feature index 43e7e9c36..cae03d7f9 100644 --- a/cypress/integration/edit-route/edit-parameter-jobs.feature +++ b/cypress/integration/edit-job/edit-parameter-jobs.feature @@ -2,13 +2,13 @@ Feature: Users should be able to edit jobs that take parameters Scenario Outline: User edits a job Given a single user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route And the user enters a job name And the user selects the job type And the user enters a schedule And the user enters the parameters for Then the job is updated when the user saves the job - And the job list is loaded + And the list route is loaded Scenarios: | job-type | schedule-type | diff --git a/cypress/integration/edit-route/edit-parameter-jobs/index.js b/cypress/integration/edit-job/edit-parameter-jobs/index.js similarity index 98% rename from cypress/integration/edit-route/edit-parameter-jobs/index.js rename to cypress/integration/edit-job/edit-parameter-jobs/index.js index 1f6f78416..77ea7fe2b 100644 --- a/cypress/integration/edit-route/edit-parameter-jobs/index.js +++ b/cypress/integration/edit-job/edit-parameter-jobs/index.js @@ -36,11 +36,11 @@ const saveAndExpect = (expected) => { Given('a single user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job' } + { fixture: 'edit-job/single-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) @@ -312,6 +312,6 @@ Then('the job is updated when the user saves the predictor job', () => }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/edit-route/edit-parameterless-jobs.feature b/cypress/integration/edit-job/edit-parameterless-jobs.feature similarity index 86% rename from cypress/integration/edit-route/edit-parameterless-jobs.feature rename to cypress/integration/edit-job/edit-parameterless-jobs.feature index 5e046264b..0e11ad1e9 100644 --- a/cypress/integration/edit-route/edit-parameterless-jobs.feature +++ b/cypress/integration/edit-job/edit-parameterless-jobs.feature @@ -2,12 +2,12 @@ Feature: Users should be able to edit jobs without parameters Scenario Outline: User edits a job Given a single user job with parameters exists - And the user navigated to the edit job page + And the user navigated to the edit job route And the user enters a job name And the user selects the job type And the user enters a cron schedule Then the job is updated when the user saves the job - And the job list is loaded + And the list route is loaded Scenarios: | job-type | diff --git a/cypress/integration/edit-route/edit-parameterless-jobs/index.js b/cypress/integration/edit-job/edit-parameterless-jobs/index.js similarity index 94% rename from cypress/integration/edit-route/edit-parameterless-jobs/index.js rename to cypress/integration/edit-job/edit-parameterless-jobs/index.js index 0ec1354fd..1671f6eff 100644 --- a/cypress/integration/edit-route/edit-parameterless-jobs/index.js +++ b/cypress/integration/edit-job/edit-parameterless-jobs/index.js @@ -36,11 +36,11 @@ const saveAndExpect = (expected) => { Given('a single user job with parameters exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job-with-params' } + { fixture: 'edit-job/single-user-job-with-params' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) @@ -108,6 +108,6 @@ Then( }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/edit-route/info-link.feature b/cypress/integration/edit-job/info-link.feature similarity index 78% rename from cypress/integration/edit-route/info-link.feature rename to cypress/integration/edit-job/info-link.feature index 76397b251..7f71d825b 100644 --- a/cypress/integration/edit-route/info-link.feature +++ b/cypress/integration/edit-job/info-link.feature @@ -2,5 +2,5 @@ Feature: Users should be able to navigate to the documentation Scenario: User clicks the info link Given a single user job exists - And the user navigated to the edit job page + And the user navigated to the edit job route Then there is a link to the documentation diff --git a/cypress/integration/edit-route/info-link/index.js b/cypress/integration/edit-job/info-link/index.js similarity index 72% rename from cypress/integration/edit-route/info-link/index.js rename to cypress/integration/edit-job/info-link/index.js index b64709acb..48b278cb5 100644 --- a/cypress/integration/edit-route/info-link/index.js +++ b/cypress/integration/edit-job/info-link/index.js @@ -1,22 +1,22 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('a single user job exists', () => { cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'edit-route/single-user-job' } + { fixture: 'edit-job/single-user-job' } ) }) -Given('the user navigated to the edit job page', () => { +Given('the user navigated to the edit job route', () => { cy.visit('/#/job/lnWRZN67iDU') cy.findByRole('heading', { name: 'Job: Job 1' }).should('exist') }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/edit-queue/back-to-all-jobs.feature b/cypress/integration/edit-queue/back-to-all-jobs.feature new file mode 100644 index 000000000..a34674b52 --- /dev/null +++ b/cypress/integration/edit-queue/back-to-all-jobs.feature @@ -0,0 +1,14 @@ +Feature: Users should be able to navigate back to the list route + + Background: + Given a queue exists + And the user navigates to the edit queue route + + Scenario: User clicks the cancel button + When the user clicks the cancel button + Then the list route will be loaded + + Scenario: User clicks the cancel button after editing the form + Given the user has edited the form + When the user clicks the cancel button + Then the user will be asked if they want to discard their changes diff --git a/cypress/integration/edit-sequence/back-to-all-jobs/index.js b/cypress/integration/edit-queue/back-to-all-jobs/index.js similarity index 57% rename from cypress/integration/edit-sequence/back-to-all-jobs/index.js rename to cypress/integration/edit-queue/back-to-all-jobs/index.js index 0ff68c33e..fdfcc493f 100644 --- a/cypress/integration/edit-sequence/back-to-all-jobs/index.js +++ b/cypress/integration/edit-queue/back-to-all-jobs/index.js @@ -1,28 +1,28 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' -Given('a sequence exists', () => { +Given('a queue exists', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'edit-sequence/schedule-two-unqueued-jobs' } + { fixture: 'edit-queue/schedule-two-unqueued-jobs' } ) cy.intercept( { pathname: /scheduler\/queueable$/ }, - { fixture: 'edit-sequence/queueable-two-unqueued-jobs' } + { fixture: 'edit-queue/queueable-two-unqueued-jobs' } ) cy.intercept( { pathname: /scheduler\/queues\/one$/ }, - { fixture: 'edit-sequence/queue-two-unqueued-jobs' } + { fixture: 'edit-queue/queue-two-unqueued-jobs' } ) cy.intercept( { pathname: /jobConfigurations$/ }, - { fixture: 'edit-sequence/jobs-two-unqueued-jobs' } + { fixture: 'edit-queue/jobs-two-unqueued-jobs' } ) }) -Given('the user navigates to the edit sequence page', () => { +Given('the user navigates to the edit queue route', () => { cy.visit('/#/queue/one') cy.findByRole('heading', { name: 'Queue: one' }).should('exist') }) @@ -35,10 +35,12 @@ When('the user clicks the cancel button', () => { cy.findByRole('button', { name: 'Cancel' }).click() }) -Then('the job list route will be loaded', () => { +Then('the list route will be loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) -Then('the user will be asked if they want to discard the form', () => { - cy.findByText('Are you sure you want to discard this form?').should('exist') +Then('the user will be asked if they want to discard their changes', () => { + cy.findByText('Are you sure you want to discard your changes?').should( + 'exist' + ) }) diff --git a/cypress/integration/edit-queue/edit-queue.feature b/cypress/integration/edit-queue/edit-queue.feature new file mode 100644 index 000000000..95c82e6a5 --- /dev/null +++ b/cypress/integration/edit-queue/edit-queue.feature @@ -0,0 +1,10 @@ +Feature: Users should be able to edit a queue + + Scenario: User edits a queue + Given a queue with two unqueued jobs exists + And the user navigates to the edit queue route + And the user changes the queue name + And the user changes the cron schedule + And the user adds jobs to the queue + Then the queue is updated when the user saves the queue + And the list route is loaded diff --git a/cypress/integration/edit-sequence/edit-sequence/index.js b/cypress/integration/edit-queue/edit-queue/index.js similarity index 76% rename from cypress/integration/edit-sequence/edit-sequence/index.js rename to cypress/integration/edit-queue/edit-queue/index.js index 2c1639d2f..c5b8930b2 100644 --- a/cypress/integration/edit-sequence/edit-sequence/index.js +++ b/cypress/integration/edit-queue/edit-queue/index.js @@ -20,34 +20,34 @@ const saveAndExpect = (name, expected) => { * Tests */ -Given('a sequence with two unqueued jobs exists', () => { +Given('a queue with two unqueued jobs exists', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'edit-sequence/schedule-two-unqueued-jobs' } + { fixture: 'edit-queue/schedule-two-unqueued-jobs' } ) cy.intercept( { pathname: /scheduler\/queueable$/ }, - { fixture: 'edit-sequence/queueable-two-unqueued-jobs' } + { fixture: 'edit-queue/queueable-two-unqueued-jobs' } ) cy.intercept( { pathname: /scheduler\/queues\/one$/ }, - { fixture: 'edit-sequence/queue-two-unqueued-jobs' } + { fixture: 'edit-queue/queue-two-unqueued-jobs' } ) cy.intercept( { pathname: /jobConfigurations$/ }, - { fixture: 'edit-sequence/jobs-two-unqueued-jobs' } + { fixture: 'edit-queue/jobs-two-unqueued-jobs' } ) }) -Given('the user navigates to the edit sequence page', () => { +Given('the user navigates to the edit queue route', () => { cy.visit('/#/queue/one') cy.findByRole('heading', { name: 'Queue: one' }).should('exist') }) -Given('the user changes the sequence name', () => { +Given('the user changes the queue name', () => { cy.findByLabelText('Name*').clear() cy.findByLabelText('Name*').type('Name') }) @@ -68,7 +68,7 @@ Given('the user adds jobs to the queue', () => { cy.get('[data-test="dhis2-uicore-transfer-actions-addindividual"]').click() }) -Then('the sequence is updated when the user saves the sequence', () => +Then('the queue is updated when the user saves the queue', () => saveAndExpect('one', { cronExpression: '0 0 * ? * *', name: 'Name', @@ -76,6 +76,6 @@ Then('the sequence is updated when the user saves the sequence', () => }) ) -Then('the job list is loaded', () => { +Then('the list route is loaded', () => { cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/edit-sequence/back-to-all-jobs.feature b/cypress/integration/edit-sequence/back-to-all-jobs.feature deleted file mode 100644 index aa11a0703..000000000 --- a/cypress/integration/edit-sequence/back-to-all-jobs.feature +++ /dev/null @@ -1,14 +0,0 @@ -Feature: Users should be able to navigate back to the job list - - Background: - Given a sequence exists - And the user navigates to the edit sequence page - - Scenario: User clicks the cancel button - When the user clicks the cancel button - Then the job list route will be loaded - - Scenario: User clicks the cancel button after editing the form - Given the user has edited the form - When the user clicks the cancel button - Then the user will be asked if they want to discard the form diff --git a/cypress/integration/edit-sequence/edit-sequence.feature b/cypress/integration/edit-sequence/edit-sequence.feature deleted file mode 100644 index fc62d1334..000000000 --- a/cypress/integration/edit-sequence/edit-sequence.feature +++ /dev/null @@ -1,10 +0,0 @@ -Feature: Users should be able to edit a sequence - - Scenario: User edits a sequence - Given a sequence with two unqueued jobs exists - And the user navigates to the edit sequence page - And the user changes the sequence name - And the user changes the cron schedule - And the user adds jobs to the queue - Then the sequence is updated when the user saves the sequence - And the job list is loaded diff --git a/cypress/integration/list-route/job-toggle/index.js b/cypress/integration/list-route/job-toggle/index.js deleted file mode 100644 index 398bbbc02..000000000 --- a/cypress/integration/list-route/job-toggle/index.js +++ /dev/null @@ -1,48 +0,0 @@ -import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' - -Given('a disabled user job exists', () => { - cy.intercept( - { pathname: /scheduler$/ }, - { fixture: 'list-route/disabled-user-job' } - ) -}) - -Given('an enabled user job exists', () => { - cy.intercept( - { pathname: /scheduler$/ }, - { fixture: 'list-route/enabled-user-job' } - ) -}) - -Given('the user navigated to the job list page', () => { - cy.visit('/') - cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') -}) - -Given('the job toggle switch is off', () => { - cy.findByRole('switch', { name: 'Toggle job' }).should('not.be.checked') -}) - -When('the user clicks the enabled job toggle switch', () => { - cy.intercept({ pathname: /lnWRZN67iDU$/ }, { statusCode: 204 }) - cy.intercept( - { pathname: /scheduler$/ }, - { fixture: 'list-route/disabled-user-job' } - ) - - cy.findByRole('switch', { name: 'Toggle job' }).click() -}) - -When('the user clicks the disabled job toggle switch', () => { - cy.intercept({ pathname: /lnWRZN67iDU$/ }, { statusCode: 204 }) - cy.intercept( - { pathname: /scheduler$/ }, - { fixture: 'list-route/enabled-user-job' } - ) - - cy.findByRole('switch', { name: 'Toggle job' }).click() -}) - -Then('the job toggle switch is on', () => { - cy.findByRole('switch', { name: 'Toggle job' }).should('be.checked') -}) diff --git a/cypress/integration/list/actions-queue.feature b/cypress/integration/list/actions-queue.feature new file mode 100644 index 000000000..5e1b5a173 --- /dev/null +++ b/cypress/integration/list/actions-queue.feature @@ -0,0 +1,18 @@ +Feature: Queue actions + + Background: + Given a single queue exists + And the user navigated to the list route + And the user clicks the actions button + + Scenario: User clicks the edit queue button on a queue + When the user clicks the edit button + Then the edit queue route will be loaded + + Scenario: User deletes a queue + When the user clicks the delete button + Then the queue will be deleted upon confirmation + + Scenario: User cancels a delete queue modal + When the user clicks the delete button + Then the queue will not be deleted upon cancelling diff --git a/cypress/integration/list/actions-queue/index.js b/cypress/integration/list/actions-queue/index.js new file mode 100644 index 000000000..3f3ec5d48 --- /dev/null +++ b/cypress/integration/list/actions-queue/index.js @@ -0,0 +1,58 @@ +import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' + +Given('a single queue exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/single-queue-scheduler' } + ) + + cy.intercept( + { pathname: /scheduler\/queues\/Queue$/ }, + { fixture: 'list/single-queue-queues' } + ) + cy.intercept( + { pathname: /jobConfigurations$/ }, + { fixture: 'list/single-queue-job-configurations' } + ) +}) + +Given('the user navigated to the list route', () => { + cy.visit('/') + cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') +}) + +Given('the user clicks the actions button', () => { + cy.findByRole('button', { name: 'Actions' }).click() +}) + +When('the user clicks the edit button', () => { + cy.findByText('Edit').click() +}) + +Then('the edit queue route will be loaded', () => { + cy.findByRole('heading', { name: 'Queue: Queue' }).should('exist') +}) + +When('the user clicks the delete button', () => { + cy.findByText('Delete').click() +}) + +Then('the queue will be deleted upon confirmation', () => { + cy.intercept({ pathname: /scheduler$/, method: 'DELETE' }, (req) => { + expect(req.url.endsWith('scheduler/queues/Queue')).to.be.true + req.reply({ statusCode: 200 }) + }) + + cy.findByText('Are you sure you want to delete this queue?').should('exist') + cy.findByRole('button', { name: 'Delete' }).click() +}) + +Then('the queue will not be deleted upon cancelling', () => { + cy.intercept({ pathname: /scheduler$/, method: 'DELETE' }, () => { + // Will fail the test if the interceptor intercepts a request + expect(true).to.be.false + }) + + cy.findByText('Are you sure you want to delete this queue?').should('exist') + cy.findByRole('button', { name: 'Cancel' }).click() +}) diff --git a/cypress/integration/list-route/system-job-actions.feature b/cypress/integration/list/actions-system-job.feature similarity index 86% rename from cypress/integration/list-route/system-job-actions.feature rename to cypress/integration/list/actions-system-job.feature index 0fe0d668e..72aeb359d 100644 --- a/cypress/integration/list-route/system-job-actions.feature +++ b/cypress/integration/list/actions-system-job.feature @@ -2,7 +2,7 @@ Feature: System job actions Scenario: User clicks the view job button on a system job Given a single system job exists - And the user navigated to the job list page + And the user navigated to the list route And the user checks the include-system-jobs-in-list checkbox And the user clicks the actions button When the user clicks the view button diff --git a/cypress/integration/list-route/system-job-actions/index.js b/cypress/integration/list/actions-system-job/index.js similarity index 84% rename from cypress/integration/list-route/system-job-actions/index.js rename to cypress/integration/list/actions-system-job/index.js index 67e8650a1..78cf939e0 100644 --- a/cypress/integration/list-route/system-job-actions/index.js +++ b/cypress/integration/list/actions-system-job/index.js @@ -3,16 +3,16 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single system job exists', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/single-system-job' } + { fixture: 'list/single-system-job-scheduler' } ) cy.intercept( { pathname: /jobConfigurations\/sHMedQF7VYa$/ }, - { fixture: 'list-route/single-system-job-job-configurations' } + { fixture: 'list/single-system-job-job-configurations' } ) }) -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/list-route/user-job-actions.feature b/cypress/integration/list/actions-user-job.feature similarity index 94% rename from cypress/integration/list-route/user-job-actions.feature rename to cypress/integration/list/actions-user-job.feature index ab78d65f4..1a2781dd4 100644 --- a/cypress/integration/list-route/user-job-actions.feature +++ b/cypress/integration/list/actions-user-job.feature @@ -2,7 +2,7 @@ Feature: User job actions Background: Given a single user job exists - And the user navigated to the job list page + And the user navigated to the list route And the user clicks the actions button Scenario: User clicks the edit job button on a user job diff --git a/cypress/integration/list-route/user-job-actions/index.js b/cypress/integration/list/actions-user-job/index.js similarity index 93% rename from cypress/integration/list-route/user-job-actions/index.js rename to cypress/integration/list/actions-user-job/index.js index e681c22f7..7b1ff69f9 100644 --- a/cypress/integration/list-route/user-job-actions/index.js +++ b/cypress/integration/list/actions-user-job/index.js @@ -3,16 +3,16 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single user job exists', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/single-user-job' } + { fixture: 'list/single-user-job-scheduler' } ) cy.intercept( { pathname: /jobConfigurations\/lnWRZN67iDU$/ }, - { fixture: 'list-route/single-user-job-job-configurations' } + { fixture: 'list/single-user-job-job-configurations' } ) }) -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/list-route/filter-jobs.feature b/cypress/integration/list/filter.feature similarity index 55% rename from cypress/integration/list-route/filter-jobs.feature rename to cypress/integration/list/filter.feature index 5064e1732..9e8243904 100644 --- a/cypress/integration/list-route/filter-jobs.feature +++ b/cypress/integration/list/filter.feature @@ -1,14 +1,14 @@ Feature: Jobs can be filtered - Scenario: User filters user jobs by name - Given some user jobs exist - And the user navigated to the job list page + Scenario: User filters user jobs and queues by name + Given some user jobs and queues exist + And the user navigated to the list route When the user enters a filter string - Then only user jobs that match the filter will be shown + Then only user jobs and queues that match the filter will be shown Scenario: User filters all jobs by name Given some user and system jobs exist - And the user navigated to the job list page + And the user navigated to the list route And the user enables the include-system-jobs-in-list toggle When the user enters a filter string Then only jobs that match the filter will be shown diff --git a/cypress/integration/list-route/filter-jobs/index.js b/cypress/integration/list/filter/index.js similarity index 66% rename from cypress/integration/list-route/filter-jobs/index.js rename to cypress/integration/list/filter/index.js index 50cc09bb3..5f844ddcf 100644 --- a/cypress/integration/list-route/filter-jobs/index.js +++ b/cypress/integration/list/filter/index.js @@ -1,20 +1,20 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' -Given('some user jobs exist', () => { +Given('some user jobs and queues exist', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/some-user-jobs' } + { fixture: 'list/some-user-jobs-and-queues-scheduler' } ) }) Given('some user and system jobs exist', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/some-user-and-system-jobs' } + { fixture: 'list/some-user-and-system-jobs-scheduler' } ) }) -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) @@ -36,11 +36,15 @@ Given('the user enables the include-system-jobs-in-list toggle', () => { }) When('the user enters a filter string', () => { - cy.findByRole('searchbox', { name: 'Filter jobs' }).type('1') + cy.findByRole('searchbox', { name: 'Filter by name' }).type('1') }) -Then('only user jobs that match the filter will be shown', () => { - cy.findByRole('rowheader', { name: 'Job 1' }).should('exist') +Then('only user jobs and queues that match the filter will be shown', () => { + const expected = ['Job 1', 'Queue 1'] + + expected.forEach((name) => { + cy.findByRole('rowheader', { name }).should('exist') + }) }) Then('only jobs that match the filter will be shown', () => { diff --git a/cypress/integration/list-route/include-system-jobs.feature b/cypress/integration/list/include-system-jobs.feature similarity index 84% rename from cypress/integration/list-route/include-system-jobs.feature rename to cypress/integration/list/include-system-jobs.feature index ba04abcc9..cb1bc40fa 100644 --- a/cypress/integration/list-route/include-system-jobs.feature +++ b/cypress/integration/list/include-system-jobs.feature @@ -2,13 +2,13 @@ Feature: System job visibility can be toggled Scenario: System jobs are not shown by default Given some user and system jobs exist - And the user navigated to the job list page + And the user navigated to the list route Then the include-system-jobs-in-list checkbox is unchecked And system jobs are not shown Scenario: User toggles system job visibility Given some user and system jobs exist - And the user navigated to the job list page + And the user navigated to the list route And the include-system-jobs-in-list checkbox is unchecked When the user checks the include-system-jobs-in-list checkbox Then system jobs are shown diff --git a/cypress/integration/list-route/include-system-jobs/index.js b/cypress/integration/list/include-system-jobs/index.js similarity index 89% rename from cypress/integration/list-route/include-system-jobs/index.js rename to cypress/integration/list/include-system-jobs/index.js index 2774d08eb..505bdca5e 100644 --- a/cypress/integration/list-route/include-system-jobs/index.js +++ b/cypress/integration/list/include-system-jobs/index.js @@ -3,18 +3,18 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' Given('some user jobs exist', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/some-user-jobs' } + { fixture: 'list/some-user-jobs-scheduler' } ) }) Given('some user and system jobs exist', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/some-user-and-system-jobs' } + { fixture: 'list/some-user-and-system-jobs-scheduler' } ) }) -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/list-route/info-link.feature b/cypress/integration/list/info-link.feature similarity index 74% rename from cypress/integration/list-route/info-link.feature rename to cypress/integration/list/info-link.feature index 47c966612..be20ce3ac 100644 --- a/cypress/integration/list-route/info-link.feature +++ b/cypress/integration/list/info-link.feature @@ -1,5 +1,5 @@ Feature: Users should be able to navigate to the documentation Scenario: There is a documentation link - Given the user navigated to the job list page + Given the user navigated to the list route Then there is a link to the documentation diff --git a/cypress/integration/list-route/info-link/index.js b/cypress/integration/list/info-link/index.js similarity index 71% rename from cypress/integration/list-route/info-link/index.js rename to cypress/integration/list/info-link/index.js index f6f2141aa..bfb819139 100644 --- a/cypress/integration/list-route/info-link/index.js +++ b/cypress/integration/list/info-link/index.js @@ -1,15 +1,15 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/list/list-queues.feature b/cypress/integration/list/list-queues.feature new file mode 100644 index 000000000..7486f0699 --- /dev/null +++ b/cypress/integration/list/list-queues.feature @@ -0,0 +1,8 @@ +Feature: Queues should be listed + + Scenario: View a queue + Given a queue exists + And the user navigated to the list route + Then the queue is rendered as tabular data + And the user clicks the expand button + Then the queued jobs are shown diff --git a/cypress/integration/list/list-queues/index.js b/cypress/integration/list/list-queues/index.js new file mode 100644 index 000000000..9125f55b4 --- /dev/null +++ b/cypress/integration/list/list-queues/index.js @@ -0,0 +1,26 @@ +import { Given, Then } from 'cypress-cucumber-preprocessor/steps' + +Given('a queue exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/list-queues-scheduler' } + ) +}) + +Given('the user navigated to the list route', () => { + cy.visit('/') + cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') +}) + +Then('the queue is rendered as tabular data', () => { + cy.findByRole('rowheader', { name: 'Queue' }).should('exist') +}) + +Given('the user clicks the expand button', () => { + cy.findByRole('button', { name: 'Show jobs' }).click() +}) + +Then('the queued jobs are shown', () => { + cy.findByRole('rowheader', { name: 'Job 1' }).should('exist') + cy.findByRole('rowheader', { name: 'Job 2' }).should('exist') +}) diff --git a/cypress/integration/list-route/list-user-jobs.feature b/cypress/integration/list/list-user-jobs.feature similarity index 75% rename from cypress/integration/list-route/list-user-jobs.feature rename to cypress/integration/list/list-user-jobs.feature index 4f16aaeed..d35f026a9 100644 --- a/cypress/integration/list-route/list-user-jobs.feature +++ b/cypress/integration/list/list-user-jobs.feature @@ -2,10 +2,10 @@ Feature: All user defined jobs should be listed Scenario: No user jobs exist Given there are no user jobs - And the user navigated to the job list page + And the user navigated to the list route Then the table should contain a cell that states that there are no jobs Scenario: Some user jobs exist Given some user jobs exist - And the user navigated to the job list page + And the user navigated to the list route Then the user jobs are rendered as tabular data diff --git a/cypress/integration/list-route/list-user-jobs/index.js b/cypress/integration/list/list-user-jobs/index.js similarity index 77% rename from cypress/integration/list-route/list-user-jobs/index.js rename to cypress/integration/list/list-user-jobs/index.js index 1f9d94f56..74bac0407 100644 --- a/cypress/integration/list-route/list-user-jobs/index.js +++ b/cypress/integration/list/list-user-jobs/index.js @@ -1,17 +1,20 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' Given('there are no user jobs', () => { - cy.intercept({ pathname: /scheduler$/ }, { fixture: 'list-route/no-jobs' }) + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/no-jobs-scheduler' } + ) }) Given('some user jobs exist', () => { cy.intercept( { pathname: /scheduler$/ }, - { fixture: 'list-route/some-user-jobs' } + { fixture: 'list/some-user-jobs-scheduler' } ) }) -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) diff --git a/cypress/integration/list-route/new-job.feature b/cypress/integration/list/new-job.feature similarity index 51% rename from cypress/integration/list-route/new-job.feature rename to cypress/integration/list/new-job.feature index 4740a761e..83f7d7cef 100644 --- a/cypress/integration/list-route/new-job.feature +++ b/cypress/integration/list/new-job.feature @@ -1,5 +1,5 @@ Feature: Users should be able to navigate to the new job route Scenario: User clicks the new job button - Given the user navigated to the job list page - Then there is a link to the new job page + Given the user navigated to the list route + Then there is a link to the new job route diff --git a/cypress/integration/list-route/new-job/index.js b/cypress/integration/list/new-job/index.js similarity index 72% rename from cypress/integration/list-route/new-job/index.js rename to cypress/integration/list/new-job/index.js index ff54ef2c9..e6a4127dd 100644 --- a/cypress/integration/list-route/new-job/index.js +++ b/cypress/integration/list/new-job/index.js @@ -1,11 +1,11 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' -Given('the user navigated to the job list page', () => { +Given('the user navigated to the list route', () => { cy.visit('/') cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') }) -Then('there is a link to the new job page', () => { +Then('there is a link to the new job route', () => { cy.findByRole('link', { name: 'New job' }) .should('exist') .should('have.attr', 'href', '#/job/add') diff --git a/cypress/integration/list/new-queue.feature b/cypress/integration/list/new-queue.feature new file mode 100644 index 000000000..a9a1d7e49 --- /dev/null +++ b/cypress/integration/list/new-queue.feature @@ -0,0 +1,5 @@ +Feature: Users should be able to navigate to the new queue route + + Scenario: User clicks the new queue button + Given the user navigated to the list route + Then there is a link to the new queue route diff --git a/cypress/integration/list/new-queue/index.js b/cypress/integration/list/new-queue/index.js new file mode 100644 index 000000000..c992cb0dc --- /dev/null +++ b/cypress/integration/list/new-queue/index.js @@ -0,0 +1,12 @@ +import { Given, Then } from 'cypress-cucumber-preprocessor/steps' + +Given('the user navigated to the list route', () => { + cy.visit('/') + cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') +}) + +Then('there is a link to the new queue route', () => { + cy.findByRole('link', { name: 'New queue' }) + .should('exist') + .should('have.attr', 'href', '#/queue/add') +}) diff --git a/cypress/integration/list-route/job-toggle.feature b/cypress/integration/list/toggle-job.feature similarity index 82% rename from cypress/integration/list-route/job-toggle.feature rename to cypress/integration/list/toggle-job.feature index 3391765df..95e78f65d 100644 --- a/cypress/integration/list-route/job-toggle.feature +++ b/cypress/integration/list/toggle-job.feature @@ -2,14 +2,14 @@ Feature: User jobs can be enabled and disabled Scenario: The user enables a user job Given a disabled user job exists - And the user navigated to the job list page + And the user navigated to the list route And the job toggle switch is off When the user clicks the disabled job toggle switch Then the job toggle switch is on Scenario: The user disables a user job Given an enabled user job exists - And the user navigated to the job list page + And the user navigated to the list route And the job toggle switch is on When the user clicks the enabled job toggle switch Then the job toggle switch is off diff --git a/cypress/integration/list/toggle-job/index.js b/cypress/integration/list/toggle-job/index.js new file mode 100644 index 000000000..1ee4763cd --- /dev/null +++ b/cypress/integration/list/toggle-job/index.js @@ -0,0 +1,54 @@ +import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' + +Given('a disabled user job exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/disabled-user-job-scheduler' } + ) +}) + +Given('an enabled user job exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/enabled-user-job-scheduler' } + ) +}) + +Given('the user navigated to the list route', () => { + cy.visit('/') + cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') +}) + +Given('the job toggle switch is off', () => { + cy.findByRole('switch', { name: 'Enable' }).should('not.be.checked') +}) + +When('the user clicks the enabled job toggle switch', () => { + cy.intercept( + { pathname: /jobConfigurations\/lnWRZN67iDU\/disable$/ }, + { statusCode: 204 } + ) + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/disabled-user-job-scheduler' } + ) + + cy.findByRole('switch', { name: 'Disable' }).click() +}) + +When('the user clicks the disabled job toggle switch', () => { + cy.intercept( + { pathname: /jobConfigurations\/lnWRZN67iDU\/enable$/ }, + { statusCode: 204 } + ) + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/enabled-user-job-scheduler' } + ) + + cy.findByRole('switch', { name: 'Enable' }).click() +}) + +Then('the job toggle switch is on', () => { + cy.findByRole('switch', { name: 'Disable' }).should('be.checked') +}) diff --git a/cypress/integration/list/toggle-queue.feature b/cypress/integration/list/toggle-queue.feature new file mode 100644 index 000000000..81e5b7093 --- /dev/null +++ b/cypress/integration/list/toggle-queue.feature @@ -0,0 +1,15 @@ +Feature: Queues can be enabled and disabled + + Scenario: The user enables a queue + Given a disabled queue exists + And the user navigated to the list route + And the queue toggle switch is off + When the user clicks the disabled queue toggle switch + Then the queue toggle switch is on + + Scenario: The user disables a queue + Given an enabled queue exists + And the user navigated to the list route + And the queue toggle switch is on + When the user clicks the enabled queue toggle switch + Then the queue toggle switch is off diff --git a/cypress/integration/list/toggle-queue/index.js b/cypress/integration/list/toggle-queue/index.js new file mode 100644 index 000000000..9a2ad7c62 --- /dev/null +++ b/cypress/integration/list/toggle-queue/index.js @@ -0,0 +1,54 @@ +import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps' + +Given('a disabled queue exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/disabled-queue-scheduler' } + ) +}) + +Given('an enabled queue exists', () => { + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/enabled-queue-scheduler' } + ) +}) + +Given('the user navigated to the list route', () => { + cy.visit('/') + cy.findByRole('heading', { name: 'Scheduled jobs' }).should('exist') +}) + +Given('the queue toggle switch is off', () => { + cy.findByRole('switch', { name: 'Enable' }).should('not.be.checked') +}) + +When('the user clicks the enabled queue toggle switch', () => { + cy.intercept( + { pathname: /jobConfigurations\/uvUPBToQHD9\/disable$/ }, + { statusCode: 204 } + ) + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/disabled-queue-scheduler' } + ) + + cy.findByRole('switch', { name: 'Disable' }).click() +}) + +When('the user clicks the disabled queue toggle switch', () => { + cy.intercept( + { pathname: /jobConfigurations\/uvUPBToQHD9\/enable$/ }, + { statusCode: 204 } + ) + cy.intercept( + { pathname: /scheduler$/ }, + { fixture: 'list/enabled-queue-scheduler' } + ) + + cy.findByRole('switch', { name: 'Enable' }).click() +}) + +Then('the queue toggle switch is on', () => { + cy.findByRole('switch', { name: 'Disable' }).should('be.checked') +}) diff --git a/cypress/integration/not-authorized-route/block-unauthorized.feature b/cypress/integration/not-authorized/block-unauthorized.feature similarity index 100% rename from cypress/integration/not-authorized-route/block-unauthorized.feature rename to cypress/integration/not-authorized/block-unauthorized.feature diff --git a/cypress/integration/not-authorized-route/block-unauthorized/index.js b/cypress/integration/not-authorized/block-unauthorized/index.js similarity index 88% rename from cypress/integration/not-authorized-route/block-unauthorized/index.js rename to cypress/integration/not-authorized/block-unauthorized/index.js index b756fde5d..f5d6c3ca9 100644 --- a/cypress/integration/not-authorized-route/block-unauthorized/index.js +++ b/cypress/integration/not-authorized/block-unauthorized/index.js @@ -3,7 +3,7 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' Given('an unauthorized user navigates to the app', () => { cy.intercept( { pathname: /me$/ }, - { fixture: 'not-authorized-route/unauthorized-user' } + { fixture: 'not-authorized/unauthorized-user' } ) cy.visit('/') diff --git a/cypress/integration/view-job/back-to-all-jobs.feature b/cypress/integration/view-job/back-to-all-jobs.feature new file mode 100644 index 000000000..4dd3e8075 --- /dev/null +++ b/cypress/integration/view-job/back-to-all-jobs.feature @@ -0,0 +1,6 @@ +Feature: Users should be able to navigate back to the list route + + Scenario: There is a link to the list route + Given a single system job exists + And the user navigated to the view job route + Then there is a link to the list route diff --git a/cypress/integration/view-route/back-to-all-jobs/index.js b/cypress/integration/view-job/back-to-all-jobs/index.js similarity index 73% rename from cypress/integration/view-route/back-to-all-jobs/index.js rename to cypress/integration/view-job/back-to-all-jobs/index.js index 192d5c6a3..d5fe5aefd 100644 --- a/cypress/integration/view-route/back-to-all-jobs/index.js +++ b/cypress/integration/view-job/back-to-all-jobs/index.js @@ -3,18 +3,18 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single system job exists', () => { cy.intercept( { pathname: /jobConfigurations\/sHMedQF7VYa$/ }, - { fixture: 'view-route/single-system-job' } + { fixture: 'view-job/single-system-job' } ) }) -Given('the user navigated to the view job page', () => { +Given('the user navigated to the view job route', () => { cy.visit('/#/job/sHMedQF7VYa') cy.findByRole('heading', { name: 'System job: System Job 1' }).should( 'exist' ) }) -Then('there is a link to the job list page', () => { +Then('there is a link to the list route', () => { cy.findByRole('link', { name: 'Back to all jobs' }).should( 'have.attr', 'href', diff --git a/cypress/integration/view-route/display-jobs.feature b/cypress/integration/view-job/display-jobs.feature similarity index 82% rename from cypress/integration/view-route/display-jobs.feature rename to cypress/integration/view-job/display-jobs.feature index 7664c3065..9b580f16d 100644 --- a/cypress/integration/view-route/display-jobs.feature +++ b/cypress/integration/view-job/display-jobs.feature @@ -2,6 +2,6 @@ Feature: Users should be able to view system jobs Scenario: User views a system job Given a single system job exists - And the user navigated to the view job page + And the user navigated to the view job route Then the system job data should be displayed in the form And the system job details should be visible diff --git a/cypress/integration/view-route/display-jobs/index.js b/cypress/integration/view-job/display-jobs/index.js similarity index 91% rename from cypress/integration/view-route/display-jobs/index.js rename to cypress/integration/view-job/display-jobs/index.js index 2c8b4bb99..73e934b20 100644 --- a/cypress/integration/view-route/display-jobs/index.js +++ b/cypress/integration/view-job/display-jobs/index.js @@ -3,11 +3,11 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' Given('a single system job exists', () => { cy.intercept( { pathname: /jobConfigurations\/sHMedQF7VYa$/ }, - { fixture: 'view-route/single-system-job' } + { fixture: 'view-job/single-system-job' } ) }) -Given('the user navigated to the view job page', () => { +Given('the user navigated to the view job route', () => { // Set fixed date so that time based job details tests don't change const now = new Date(2021, 3, 10).getTime() cy.clock(now) diff --git a/cypress/integration/view-route/info-link.feature b/cypress/integration/view-job/info-link.feature similarity index 78% rename from cypress/integration/view-route/info-link.feature rename to cypress/integration/view-job/info-link.feature index 33e4ba36d..2e5317a22 100644 --- a/cypress/integration/view-route/info-link.feature +++ b/cypress/integration/view-job/info-link.feature @@ -2,5 +2,5 @@ Feature: Users should be able to navigate to the documentation Scenario: User clicks the info link Given a single system job exists - And the user navigated to the view job page + And the user navigated to the view job route Then there is a link to the documentation diff --git a/cypress/integration/view-route/info-link/index.js b/cypress/integration/view-job/info-link/index.js similarity index 73% rename from cypress/integration/view-route/info-link/index.js rename to cypress/integration/view-job/info-link/index.js index a0fbe1ed0..ed40d32ff 100644 --- a/cypress/integration/view-route/info-link/index.js +++ b/cypress/integration/view-job/info-link/index.js @@ -1,16 +1,16 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('a single system job exists', () => { cy.intercept( { pathname: /jobConfigurations\/sHMedQF7VYa$/ }, - { fixture: 'view-route/single-system-job' } + { fixture: 'view-job/single-system-job' } ) }) -Given('the user navigated to the view job page', () => { +Given('the user navigated to the view job route', () => { cy.visit('/#/job/sHMedQF7VYa') cy.findByRole('heading', { name: 'System job: System Job 1' }).should( 'exist' @@ -18,7 +18,7 @@ Given('the user navigated to the view job page', () => { }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/view-route/back-to-all-jobs.feature b/cypress/integration/view-route/back-to-all-jobs.feature deleted file mode 100644 index e3152ce88..000000000 --- a/cypress/integration/view-route/back-to-all-jobs.feature +++ /dev/null @@ -1,6 +0,0 @@ -Feature: Users should be able to navigate back to the job list - - Scenario: There is a link to the job list - Given a single system job exists - And the user navigated to the view job page - Then there is a link to the job list page diff --git a/i18n/en.pot b/i18n/en.pot index b38f17f9c..5aa8b5a2a 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2023-08-29T11:34:50.926Z\n" -"PO-Revision-Date: 2023-08-29T11:34:50.926Z\n" +"POT-Creation-Date: 2024-01-02T14:28:02.554Z\n" +"PO-Revision-Date: 2024-01-02T14:28:02.554Z\n" msgid "Something went wrong" msgstr "Something went wrong" @@ -147,6 +147,9 @@ msgstr "Something went wrong whilst creating your queue" msgid "Something went wrong whilst updating your queue" msgstr "Something went wrong whilst updating your queue" +msgid "About the scheduler" +msgstr "About the scheduler" + msgid "Job details" msgstr "Job details" @@ -159,17 +162,14 @@ msgstr "Last run {{ lastRunFromNow }}." msgid "Last run status: {{ translatedStatus }}." msgstr "Last run status: {{ translatedStatus }}." -msgid "Actions" -msgstr "Actions" - msgid "Delete" msgstr "Delete" msgid "Edit" msgstr "Edit" -msgid "Job name" -msgstr "Job name" +msgid "Actions" +msgstr "Actions" msgid "Type" msgstr "Type" @@ -192,6 +192,15 @@ msgstr "No jobs to display" msgid "Not scheduled" msgstr "Not scheduled" +msgid "Hide jobs" +msgstr "Hide jobs" + +msgid "Show jobs" +msgstr "Show jobs" + +msgid "Queue" +msgstr "Queue" + msgid "Run manually" msgstr "Run manually" @@ -228,8 +237,8 @@ msgstr "Are you sure you want to delete this job?" msgid "Are you sure you want to delete this queue?" msgstr "Are you sure you want to delete this queue?" -msgid "Are you sure you want to discard this form?" -msgstr "Are you sure you want to discard this form?" +msgid "Are you sure you want to discard your changes?" +msgstr "Are you sure you want to discard your changes?" msgid "Discard" msgstr "Discard" @@ -253,8 +262,11 @@ msgstr "" "Something went wrong whilst loading the requested job. Make sure it has not " "been deleted and try refreshing the page." -msgid "Toggle job" -msgstr "Toggle job" +msgid "Disable" +msgstr "Disable" + +msgid "Enable" +msgstr "Enable" msgid "New Job" msgstr "New Job" @@ -262,43 +274,40 @@ msgstr "New Job" msgid "Configuration" msgstr "Configuration" -msgid "About job configuration" -msgstr "About job configuration" +msgid "Could not load jobs and queues" +msgstr "Could not load jobs and queues" -msgid "Job: {{ name }}" -msgstr "Job: {{ name }}" - -msgid "Could not load jobs" -msgstr "Could not load jobs" - -msgid "Something went wrong whilst loading the jobs. Try refreshing the page." -msgstr "Something went wrong whilst loading the jobs. Try refreshing the page." +msgid "" +"Something went wrong whilst loading the jobs and queues. Try refreshing the " +"page." +msgstr "" +"Something went wrong whilst loading the jobs and queues. Try refreshing the " +"page." msgid "Scheduled jobs" msgstr "Scheduled jobs" +msgid "Filter by name" +msgstr "Filter by name" + msgid "Include system jobs in list" msgstr "Include system jobs in list" msgid "New job" msgstr "New job" +msgid "New queue" +msgstr "New queue" + +msgid "Job: {{ name }}" +msgstr "Job: {{ name }}" + msgid "System job: {{ name }}" msgstr "System job: {{ name }}" msgid "Back to all jobs" msgstr "Back to all jobs" -msgid "New queue" -msgstr "New queue" - -msgid "" -"A queue is a collection of jobs that are executed in order, one after " -"another as they finish." -msgstr "" -"A queue is a collection of jobs that are executed in order, one after " -"another as they finish." - msgid "Could not load requested queue" msgstr "Could not load requested queue" diff --git a/src/components/InfoLink/InfoLink.js b/src/components/InfoLink/InfoLink.js new file mode 100644 index 000000000..313f29de5 --- /dev/null +++ b/src/components/InfoLink/InfoLink.js @@ -0,0 +1,22 @@ +import React from 'react' +import { IconInfo16 } from '@dhis2/ui' +import i18n from '@dhis2/d2-i18n' +import styles from './InfoLink.module.css' + +const InfoLink = () => { + return ( + + + + + {i18n.t('About the scheduler')} + + ) +} + +export default InfoLink diff --git a/src/components/InfoLink/InfoLink.module.css b/src/components/InfoLink/InfoLink.module.css new file mode 100644 index 000000000..47f7328d4 --- /dev/null +++ b/src/components/InfoLink/InfoLink.module.css @@ -0,0 +1,11 @@ +.link { + align-items: center; + display: flex; + font-size: 12px; + color: var(--colors-grey600); + fill: var(--colors-grey600); +} + +.icon { + margin-right: var(--spacers-dp4); +} diff --git a/src/components/InfoLink/index.js b/src/components/InfoLink/index.js new file mode 100644 index 000000000..6fb34740b --- /dev/null +++ b/src/components/InfoLink/index.js @@ -0,0 +1 @@ +export { default as InfoLink } from './InfoLink' diff --git a/src/components/JobTable/DeleteQueueAction.js b/src/components/JobTable/DeleteQueueAction.js new file mode 100644 index 000000000..71e4640b3 --- /dev/null +++ b/src/components/JobTable/DeleteQueueAction.js @@ -0,0 +1,41 @@ +import React, { useState } from 'react' +import PropTypes from 'prop-types' +import { MenuItem } from '@dhis2/ui' +import i18n from '@dhis2/d2-i18n' +import { DeleteQueueModal } from '../Modal' + +const DeleteQueueAction = ({ name, onSuccess }) => { + const [showModal, setShowModal] = useState(false) + + return ( + + { + setShowModal(true) + }} + label={i18n.t('Delete')} + /> + {showModal && ( + setShowModal(false) + } + onSuccess={onSuccess} + /> + )} + + ) +} + +const { string, func } = PropTypes + +DeleteQueueAction.propTypes = { + name: string.isRequired, + onSuccess: func.isRequired, +} + +export default DeleteQueueAction diff --git a/src/components/JobTable/DeleteQueueAction.test.js b/src/components/JobTable/DeleteQueueAction.test.js new file mode 100644 index 000000000..16480dd90 --- /dev/null +++ b/src/components/JobTable/DeleteQueueAction.test.js @@ -0,0 +1,21 @@ +import React from 'react' +import { shallow, mount } from 'enzyme' +import DeleteQueueAction from './DeleteQueueAction' + +describe('', () => { + it('renders without errors', () => { + shallow( {}} />) + }) + + it('shows the modal when MenuItem is clicked', () => { + const wrapper = mount( + {}} /> + ) + + expect(wrapper.find('DeleteQueueModal')).toHaveLength(0) + + wrapper.find('a').simulate('click') + + expect(wrapper.find('DeleteQueueModal')).toHaveLength(1) + }) +}) diff --git a/src/components/JobTable/EditQueueAction.js b/src/components/JobTable/EditQueueAction.js new file mode 100644 index 000000000..07382a128 --- /dev/null +++ b/src/components/JobTable/EditQueueAction.js @@ -0,0 +1,21 @@ +import React from 'react' +import PropTypes from 'prop-types' +import { MenuItem } from '@dhis2/ui' +import i18n from '@dhis2/d2-i18n' +import history from '../../services/history' + +const EditQueueAction = ({ name }) => ( + history.push(`/queue/${name}`)} + label={i18n.t('Edit')} + /> +) + +const { string } = PropTypes + +EditQueueAction.propTypes = { + name: string.isRequired, +} + +export default EditQueueAction diff --git a/src/components/JobTable/EditQueueAction.test.js b/src/components/JobTable/EditQueueAction.test.js new file mode 100644 index 000000000..c1a65557b --- /dev/null +++ b/src/components/JobTable/EditQueueAction.test.js @@ -0,0 +1,22 @@ +import React from 'react' +import { shallow, mount } from 'enzyme' +import history from '../../services/history' +import EditQueueAction from './EditQueueAction' + +jest.mock('../../services/history', () => ({ + push: jest.fn(), +})) + +describe('', () => { + it('renders without errors', () => { + shallow() + }) + + it('calls history.push correctly when MenuItem is clicked', () => { + const wrapper = mount() + + wrapper.find('a').simulate('click') + + expect(history.push).toHaveBeenCalledWith('/queue/name') + }) +}) diff --git a/src/components/JobTable/ExpandableRow.js b/src/components/JobTable/ExpandableRow.js new file mode 100644 index 000000000..bce1ab4bf --- /dev/null +++ b/src/components/JobTable/ExpandableRow.js @@ -0,0 +1,30 @@ +import React from 'react' +import { TableRow, TableCell } from '@dhis2/ui' +import PropTypes from 'prop-types' +import { jobTypesMap } from '../../services/server-translations' +import styles from './ExpandableRow.module.css' + +const ExpandableRow = ({ job }) => { + return ( + + + + {job.name} + + + {jobTypesMap[job.type]} + + + ) +} + +const { shape, string } = PropTypes + +ExpandableRow.propTypes = { + job: shape({ + name: string.isRequired, + type: string.isRequired, + }).isRequired, +} + +export default ExpandableRow diff --git a/src/components/JobTable/ExpandableRow.module.css b/src/components/JobTable/ExpandableRow.module.css new file mode 100644 index 000000000..c85466be4 --- /dev/null +++ b/src/components/JobTable/ExpandableRow.module.css @@ -0,0 +1,8 @@ +.row { + box-shadow: inset 8px 0 0 0 var(--colors-grey500); +} + +.indent { + /* stylelint-disable-next-line declaration-no-important */ + padding-left: 32px !important; +} diff --git a/src/components/JobTable/Actions.js b/src/components/JobTable/JobActions.js similarity index 87% rename from src/components/JobTable/Actions.js rename to src/components/JobTable/JobActions.js index c3322e8f3..8b4785eb8 100644 --- a/src/components/JobTable/Actions.js +++ b/src/components/JobTable/JobActions.js @@ -7,7 +7,7 @@ import ViewJobAction from './ViewJobAction' import RunJobAction from './RunJobAction' import DeleteJobAction from './DeleteJobAction' -const Actions = ({ id, configurable, enabled, refetch }) => ( +const JobActions = ({ id, configurable, enabled, refetch }) => ( ( ) -Actions.defaultProps = { +JobActions.defaultProps = { configurable: false, } const { string, bool, func } = PropTypes -Actions.propTypes = { +JobActions.propTypes = { id: string.isRequired, refetch: func.isRequired, configurable: bool, enabled: bool, } -export default Actions +export default JobActions diff --git a/src/components/JobTable/Actions.test.js b/src/components/JobTable/JobActions.test.js similarity index 50% rename from src/components/JobTable/Actions.test.js rename to src/components/JobTable/JobActions.test.js index 5dd7c4a35..5dc882cdf 100644 --- a/src/components/JobTable/Actions.test.js +++ b/src/components/JobTable/JobActions.test.js @@ -1,13 +1,13 @@ import React from 'react' import { shallow } from 'enzyme' -import Actions from './Actions' +import JobActions from './JobActions' -describe('', () => { +describe('', () => { it('renders without errors for configurable jobs', () => { - shallow( {}} />) + shallow( {}} />) }) it('renders without errors for non configurable jobs', () => { - shallow( {}} />) + shallow( {}} />) }) }) diff --git a/src/components/JobTable/JobTable.js b/src/components/JobTable/JobTable.js index f4edd4191..5e4de8a50 100644 --- a/src/components/JobTable/JobTable.js +++ b/src/components/JobTable/JobTable.js @@ -11,12 +11,14 @@ import { import i18n from '@dhis2/d2-i18n' import PropTypes from 'prop-types' import JobTableRow from './JobTableRow' +import QueueTableRow from './QueueTableRow' -const JobTable = ({ jobs, refetch }) => ( +const JobTable = ({ jobsAndQueues, refetch }) => ( - {i18n.t('Job name')} + + {i18n.t('Name')} {i18n.t('Type')} {i18n.t('Schedule')} {i18n.t('Next run')} @@ -26,14 +28,39 @@ const JobTable = ({ jobs, refetch }) => ( - {jobs.length === 0 ? ( + {jobsAndQueues.length === 0 ? ( {i18n.t('No jobs to display')} ) : ( - jobs.map((job) => ( - - )) + jobsAndQueues.map((jobOrQueue) => { + const isValid = !!jobOrQueue?.sequence?.length + + if (!isValid) { + return null + } + + // A queue will have more than one item in .sequence + const isJob = jobOrQueue.sequence.length === 1 + + if (isJob) { + return ( + + ) + } + + return ( + + ) + }) )}
@@ -42,7 +69,7 @@ const JobTable = ({ jobs, refetch }) => ( const { arrayOf, object, func } = PropTypes JobTable.propTypes = { - jobs: arrayOf(object).isRequired, + jobsAndQueues: arrayOf(object).isRequired, refetch: func.isRequired, } diff --git a/src/components/JobTable/JobTable.test.js b/src/components/JobTable/JobTable.test.js index 499e30bf2..abb742bec 100644 --- a/src/components/JobTable/JobTable.test.js +++ b/src/components/JobTable/JobTable.test.js @@ -3,8 +3,8 @@ import { shallow } from 'enzyme' import JobTable from './JobTable' describe('', () => { - it('renders without errors when there are jobs', () => { - const jobs = [ + it('renders without errors when there are jobs or queues', () => { + const jobsAndQueues = [ { id: 'lnWRZN67iDU', name: 'Job 1', @@ -27,12 +27,12 @@ describe('', () => { }, ] - shallow( {}} />) + shallow( {}} />) }) - it('renders without errors when there are no jobs', () => { - const jobs = [] + it('renders without errors when there are no jobs or queues', () => { + const jobsAndQueues = [] - shallow( {}} />) + shallow( {}} />) }) }) diff --git a/src/components/JobTable/JobTableRow.js b/src/components/JobTable/JobTableRow.js index 434f1e8ad..d73f5b582 100644 --- a/src/components/JobTable/JobTableRow.js +++ b/src/components/JobTable/JobTableRow.js @@ -2,8 +2,8 @@ import React from 'react' import PropTypes from 'prop-types' import { TableRow, TableCell } from '@dhis2/ui' import { jobTypesMap } from '../../services/server-translations' -import { ToggleJobSwitch } from '../Switches' -import Actions from './Actions' +import { JobSwitch } from '../Switches' +import JobActions from './JobActions' import Status from './Status' import NextRun from './NextRun' import Schedule from './Schedule' @@ -23,6 +23,7 @@ const JobTableRow = ({ refetch, }) => ( + {name} {jobTypesMap[type]} @@ -35,7 +36,7 @@ const JobTableRow = ({ - - ( + + + + + } + > + {i18n.t('Actions')} + +) + +const { string, func } = PropTypes + +QueueActions.propTypes = { + name: string.isRequired, + refetch: func.isRequired, +} + +export default QueueActions diff --git a/src/components/JobTable/QueueActions.test.js b/src/components/JobTable/QueueActions.test.js new file mode 100644 index 000000000..8d390a797 --- /dev/null +++ b/src/components/JobTable/QueueActions.test.js @@ -0,0 +1,9 @@ +import React from 'react' +import { shallow } from 'enzyme' +import QueueActions from './QueueActions' + +describe('', () => { + it('renders without errors', () => { + shallow( {}} />) + }) +}) diff --git a/src/components/JobTable/QueueTableRow.js b/src/components/JobTable/QueueTableRow.js new file mode 100644 index 000000000..bdd10a3f6 --- /dev/null +++ b/src/components/JobTable/QueueTableRow.js @@ -0,0 +1,99 @@ +import React, { useState } from 'react' +import PropTypes from 'prop-types' +import { + TableRow, + TableCell, + IconChevronDown24, + IconChevronUp24, +} from '@dhis2/ui' +import i18n from '@dhis2/d2-i18n' +import { JobSwitch } from '../Switches' +import QueueActions from './QueueActions' +import Status from './Status' +import NextRun from './NextRun' +import Schedule from './Schedule' +import ExpandableRow from './ExpandableRow' +import styles from './QueueTableRow.module.css' + +const QueueTableRow = ({ + queue: { + id, + name, + cronExpression, + status, + nextExecutionTime, + enabled, + configurable, + sequence, + }, + refetch, +}) => { + const [showJobs, setShowJobs] = useState(false) + const handleClick = () => setShowJobs((prev) => !prev) + + return ( + <> + + + + + {name} + {i18n.t('Queue')} + + + + + + + + + + + {/* A queue can be toggled by toggling the first job in the queue */} + + + + + + + {showJobs + ? sequence.map((job) => ( + + )) + : null} + + ) +} + +const { shape, string, bool, func, arrayOf, object } = PropTypes + +QueueTableRow.propTypes = { + queue: shape({ + name: string.isRequired, + enabled: bool.isRequired, + id: string.isRequired, + status: string.isRequired, + cronExpression: string, + nextExecutionTime: string, + sequence: arrayOf(object).isRequired, + }).isRequired, + refetch: func.isRequired, +} + +export default QueueTableRow diff --git a/src/components/JobTable/QueueTableRow.module.css b/src/components/JobTable/QueueTableRow.module.css new file mode 100644 index 000000000..a13edb32e --- /dev/null +++ b/src/components/JobTable/QueueTableRow.module.css @@ -0,0 +1,5 @@ +.button { + background: none; + border: none; + cursor: pointer; +} diff --git a/src/components/JobTable/QueueTableRow.test.js b/src/components/JobTable/QueueTableRow.test.js new file mode 100644 index 000000000..09c4e4e77 --- /dev/null +++ b/src/components/JobTable/QueueTableRow.test.js @@ -0,0 +1,29 @@ +import React from 'react' +import { shallow } from 'enzyme' +import QueueTableRow from './QueueTableRow' + +describe('', () => { + it('renders queues without errors', () => { + const queue = { + id: 'lnWRZN67iDU', + name: 'Queue 1', + cronExpression: '0 0 3 ? * MON', + nextExecutionTime: '2021-03-01T03:00:00.000', + status: 'SCHEDULED', + enabled: true, + configurable: true, + sequence: [ + { + id: 'lnWRZN67iDU', + name: 'Job 1', + type: 'DATA_INTEGRITY', + cronExpression: '0 0 3 ? * MON', + nextExecutionTime: '2021-03-01T03:00:00.000', + status: 'SCHEDULED', + }, + ], + } + + shallow( {}} />) + }) +}) diff --git a/src/components/Modal/DeleteJobModal.js b/src/components/Modal/DeleteJobModal.js index 82f4108bb..55dadbd18 100644 --- a/src/components/Modal/DeleteJobModal.js +++ b/src/components/Modal/DeleteJobModal.js @@ -12,7 +12,7 @@ import { useDataMutation } from '@dhis2/app-runtime' const mutation = { resource: 'jobConfigurations', - id: /* istanbul ignore next */ ({ id }) => id, + id: ({ id }) => id, type: 'delete', } diff --git a/src/components/Modal/DeleteQueueModal.js b/src/components/Modal/DeleteQueueModal.js index 6b360b13e..fa498e01f 100644 --- a/src/components/Modal/DeleteQueueModal.js +++ b/src/components/Modal/DeleteQueueModal.js @@ -10,11 +10,14 @@ import { import i18n from '@dhis2/d2-i18n' import { useDataMutation } from '@dhis2/app-runtime' +const mutation = { + resource: 'scheduler/queues', + id: ({ name }) => name, + type: 'delete', +} + const DeleteQueueModal = ({ name, hideModal, onSuccess }) => { - const [deleteQueue] = useDataMutation({ - resource: `scheduler/queues/${name}`, - type: 'delete', - }) + const [deleteQueue] = useDataMutation(mutation) return ( @@ -30,7 +33,7 @@ const DeleteQueueModal = ({ name, hideModal, onSuccess }) => { name={`delete-queue-${name}`} destructive onClick={() => { - deleteQueue().then(() => { + deleteQueue({ name }).then(() => { hideModal() onSuccess() }) diff --git a/src/components/Modal/DiscardFormModal.js b/src/components/Modal/DiscardFormModal.js index a5d0363c0..2677c5232 100644 --- a/src/components/Modal/DiscardFormModal.js +++ b/src/components/Modal/DiscardFormModal.js @@ -13,7 +13,7 @@ import history from '../../services/history' const DiscardFormModal = ({ hideModal }) => ( - {i18n.t('Are you sure you want to discard this form?')} + {i18n.t('Are you sure you want to discard your changes?')} diff --git a/src/components/Routes/Routes.js b/src/components/Routes/Routes.js index 01050532a..593cb3701 100644 --- a/src/components/Routes/Routes.js +++ b/src/components/Routes/Routes.js @@ -1,7 +1,7 @@ import React from 'react' import { Route, Switch, Redirect } from 'react-router-dom' import { Router } from 'react-router' -import JobList from '../../pages/JobList' +import JobAndQueueList from '../../pages/JobAndQueueList' import JobAdd from '../../pages/JobAdd' import QueueAdd from '../../pages/QueueAdd' import QueueEdit from '../../pages/QueueEdit' @@ -14,7 +14,7 @@ const Routes = () => ( - + diff --git a/src/components/Store/Store.js b/src/components/Store/Store.js index bd07bc9f7..a912969e0 100644 --- a/src/components/Store/Store.js +++ b/src/components/Store/Store.js @@ -4,13 +4,13 @@ import StoreContext from './StoreContext' const Store = ({ children }) => { // State that should persist - const jobFilterState = useState('') + const nameFilterState = useState('') const showSystemJobsState = useState(false) return ( diff --git a/src/components/Store/StoreContext.js b/src/components/Store/StoreContext.js index b4b4ab65c..4044daf46 100644 --- a/src/components/Store/StoreContext.js +++ b/src/components/Store/StoreContext.js @@ -1,7 +1,7 @@ import { createContext } from 'react' const StoreContext = createContext({ - jobFilter: '', + nameFilter: '', showSystemJobs: false, }) diff --git a/src/components/Store/hooks.js b/src/components/Store/hooks.js index a2ade9243..ee2cb288f 100644 --- a/src/components/Store/hooks.js +++ b/src/components/Store/hooks.js @@ -2,14 +2,13 @@ import { useContext } from 'react' import StoreContext from './StoreContext' /** - * The state for the job filter and showing system - * jobs is used in the job list, but kept in the - * store since it has to persist after a refetch. + * These hooks are used in the job and queue list, but are connected + * to the store since they have to persist after a refetch. */ -export const useJobFilter = () => { +export const useNameFilter = () => { const store = useContext(StoreContext) - return store.jobFilter + return store.nameFilter } export const useShowSystemJobs = () => { diff --git a/src/components/Store/hooks.test.js b/src/components/Store/hooks.test.js index a44eda2dc..059cbd07b 100644 --- a/src/components/Store/hooks.test.js +++ b/src/components/Store/hooks.test.js @@ -1,22 +1,22 @@ import React from 'react' import { renderHook } from '@testing-library/react-hooks' -import { useJobFilter, useShowSystemJobs } from './hooks' +import { useNameFilter, useShowSystemJobs } from './hooks' import StoreContext from './StoreContext' -describe('useJobFilter', () => { - it('should return the jobFilter part of the store', () => { - const jobFilter = 'jobFilter' +describe('useNameFilter', () => { + it('should return the nameFilter part of the store', () => { + const nameFilter = 'nameFilter' const store = { - jobFilter, + nameFilter, } const wrapper = ({ children }) => ( {children} ) - const { result } = renderHook(() => useJobFilter(), { wrapper }) + const { result } = renderHook(() => useNameFilter(), { wrapper }) - expect(result.current).toBe(jobFilter) + expect(result.current).toBe(nameFilter) }) }) diff --git a/src/components/Store/index.js b/src/components/Store/index.js index e7cea87b3..e8f0fe683 100644 --- a/src/components/Store/index.js +++ b/src/components/Store/index.js @@ -1,4 +1,4 @@ -import { useJobFilter, useShowSystemJobs } from './hooks' +import { useNameFilter, useShowSystemJobs } from './hooks' export { default as Store } from './Store' -export { useJobFilter, useShowSystemJobs } +export { useNameFilter, useShowSystemJobs } diff --git a/src/components/Switches/JobSwitch.js b/src/components/Switches/JobSwitch.js new file mode 100644 index 000000000..61110bc8d --- /dev/null +++ b/src/components/Switches/JobSwitch.js @@ -0,0 +1,44 @@ +import React, { useState } from 'react' +import PropTypes from 'prop-types' +import { useDataMutation } from '@dhis2/app-runtime' +import i18n from '@dhis2/d2-i18n' +import { Switch } from '@dhis2/ui' + +const JobSwitch = ({ id, checked, disabled, refetch }) => { + const [disableQuery] = useState({ + resource: `jobConfigurations/${id}/disable`, + type: 'create', + }) + const [enableQuery] = useState({ + resource: `jobConfigurations/${id}/enable`, + type: 'create', + }) + const [disableJob, disableMutation] = useDataMutation(disableQuery) + const [enableJob, enableMutation] = useDataMutation(enableQuery) + + const toggleJob = checked ? disableJob : enableJob + const loading = disableMutation.loading || enableMutation.loading + + return ( + { + toggleJob().then(refetch) + }} + ariaLabel={checked ? i18n.t('Disable') : i18n.t('Enable')} + /> + ) +} + +const { bool, string, func } = PropTypes + +JobSwitch.propTypes = { + checked: bool.isRequired, + disabled: bool.isRequired, + id: string.isRequired, + refetch: func.isRequired, +} + +export default JobSwitch diff --git a/src/components/Switches/JobSwitch.test.js b/src/components/Switches/JobSwitch.test.js new file mode 100644 index 000000000..00949c0a9 --- /dev/null +++ b/src/components/Switches/JobSwitch.test.js @@ -0,0 +1,16 @@ +import React from 'react' +import { shallow } from 'enzyme' +import JobSwitch from './JobSwitch' + +describe('', () => { + it('renders without errors', () => { + shallow( + {}} + /> + ) + }) +}) diff --git a/src/components/Switches/ToggleJobSwitch.js b/src/components/Switches/ToggleJobSwitch.js deleted file mode 100644 index 247da72f4..000000000 --- a/src/components/Switches/ToggleJobSwitch.js +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react' -import PropTypes from 'prop-types' -import { useDataMutation } from '@dhis2/app-runtime' -import i18n from '@dhis2/d2-i18n' -import { Switch } from '@dhis2/ui' - -/* istanbul ignore next */ -const mutation = { - resource: 'jobConfigurations', - id: ({ id }) => id, - type: 'update', - partial: true, - data: ({ enabled }) => ({ enabled }), -} - -const ToggleJobSwitch = ({ id, checked, disabled, refetch }) => { - const [toggleJob, { loading }] = useDataMutation(mutation) - const enabled = !checked - - return ( - { - toggleJob({ id, enabled }).then(refetch) - }} - ariaLabel={i18n.t('Toggle job')} - /> - ) -} - -const { bool, string, func } = PropTypes - -ToggleJobSwitch.propTypes = { - checked: bool.isRequired, - disabled: bool.isRequired, - id: string.isRequired, - refetch: func.isRequired, -} - -export default ToggleJobSwitch diff --git a/src/components/Switches/ToggleJobSwitch.test.js b/src/components/Switches/ToggleJobSwitch.test.js deleted file mode 100644 index 06d1c596c..000000000 --- a/src/components/Switches/ToggleJobSwitch.test.js +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react' -import { shallow, mount } from 'enzyme' -import { useDataMutation } from '@dhis2/app-runtime' -import ToggleJobSwitch from './ToggleJobSwitch' - -jest.mock('@dhis2/app-runtime', () => ({ - useDataMutation: jest.fn(() => [() => {}, {}]), -})) - -afterEach(() => { - jest.resetAllMocks() -}) - -describe('', () => { - it('renders without errors', () => { - shallow( - {}} - /> - ) - }) - - it('calls toggleJob and refetches when toggle is clicked', async () => { - const checked = false - const toggle = Promise.resolve() - const toggleJobSpy = jest.fn(() => toggle) - const refetchSpy = jest.fn(() => {}) - const props = { - id: 'id', - checked, - disabled: false, - refetch: refetchSpy, - } - - useDataMutation.mockImplementation(() => [toggleJobSpy, {}]) - - const wrapper = mount() - - wrapper - .find('input') - .find({ name: 'toggle-job-id' }) - .simulate('change', { target: { checked: !checked } }) - - await toggle - - expect(toggleJobSpy).toHaveBeenCalledWith({ - id: 'id', - enabled: !checked, - }) - expect(refetchSpy).toHaveBeenCalled() - }) -}) diff --git a/src/components/Switches/index.js b/src/components/Switches/index.js index 8987b2795..890554dd9 100644 --- a/src/components/Switches/index.js +++ b/src/components/Switches/index.js @@ -1 +1 @@ -export { default as ToggleJobSwitch } from './ToggleJobSwitch' +export { default as JobSwitch } from './JobSwitch' diff --git a/src/hooks/jobs-and-queues/use-jobs-and-queues.js b/src/hooks/jobs-and-queues/use-jobs-and-queues.js index ee645d939..2dd08a096 100644 --- a/src/hooks/jobs-and-queues/use-jobs-and-queues.js +++ b/src/hooks/jobs-and-queues/use-jobs-and-queues.js @@ -21,9 +21,9 @@ const useJobsAndQueues = () => { return { ...fetch, error, data: undefined } } - const data = jobsAndQueues.map((schedule) => { - const id = schedule.sequence?.[0]?.id - return { ...schedule, id } + const data = jobsAndQueues.map((jobOrQueue) => { + const id = jobOrQueue.sequence?.[0]?.id + return { ...jobOrQueue, id } }) return { ...fetch, data } diff --git a/src/hooks/jobs/use-job-by-id.js b/src/hooks/jobs/use-job-by-id.js index 69e4b2e12..327e61028 100644 --- a/src/hooks/jobs/use-job-by-id.js +++ b/src/hooks/jobs/use-job-by-id.js @@ -1,28 +1,29 @@ +import { useState } from 'react' import { useDataQuery } from '@dhis2/app-runtime' const key = 'job' -const createQuery = (id) => ({ - [key]: { - resource: `jobConfigurations/${id}`, - params: { - fields: [ - 'created', - 'configurable', - 'cronExpression', - 'delay', - 'id', - 'jobParameters', - 'jobType', - 'lastExecuted', - 'lastExecutedStatus', - 'name', - ], - }, - }, -}) const useJobById = (id) => { - const fetch = useDataQuery(createQuery(id)) + const [query] = useState({ + [key]: { + resource: `jobConfigurations/${id}`, + params: { + fields: [ + 'created', + 'configurable', + 'cronExpression', + 'delay', + 'id', + 'jobParameters', + 'jobType', + 'lastExecuted', + 'lastExecutedStatus', + 'name', + ], + }, + }, + }) + const fetch = useDataQuery(query) // Remove nesting from data if (fetch.data) { diff --git a/src/hooks/queues/use-queue-by-name.js b/src/hooks/queues/use-queue-by-name.js index a387bdcc8..fb857ba71 100644 --- a/src/hooks/queues/use-queue-by-name.js +++ b/src/hooks/queues/use-queue-by-name.js @@ -1,18 +1,19 @@ +import { useState } from 'react' import { useDataQuery } from '@dhis2/app-runtime' const key = 'queue' -const createQuery = (encodedName) => ({ - [key]: { - resource: `scheduler/queues/${encodedName}`, - params: { - fields: ['cronExpression', 'sequence', 'name'], - }, - }, -}) const useQueueByName = (name) => { const encodedName = encodeURIComponent(name) - const fetch = useDataQuery(createQuery(encodedName)) + const [query] = useState({ + [key]: { + resource: `scheduler/queues/${encodedName}`, + params: { + fields: ['cronExpression', 'sequence', 'name'], + }, + }, + }) + const fetch = useDataQuery(query) // Remove nesting from data if (fetch.data) { diff --git a/src/pages/JobAdd/JobAdd.js b/src/pages/JobAdd/JobAdd.js index 3e8e36b30..1faf205d9 100644 --- a/src/pages/JobAdd/JobAdd.js +++ b/src/pages/JobAdd/JobAdd.js @@ -1,12 +1,10 @@ import React from 'react' -import { Card, IconInfo16 } from '@dhis2/ui' +import { Card } from '@dhis2/ui' import i18n from '@dhis2/d2-i18n' +import { InfoLink } from '../../components/InfoLink' import { JobAddFormContainer } from '../../components/Forms' import styles from './JobAdd.module.css' -const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' - const JobAdd = () => { return ( @@ -18,17 +16,7 @@ const JobAdd = () => {

{i18n.t('Configuration')}

- - - - - {i18n.t('About job configuration')} - + diff --git a/src/pages/JobAdd/JobAdd.module.css b/src/pages/JobAdd/JobAdd.module.css index 3d6d7d0b0..e7f7ef97d 100644 --- a/src/pages/JobAdd/JobAdd.module.css +++ b/src/pages/JobAdd/JobAdd.module.css @@ -24,15 +24,3 @@ font-weight: 500; margin: 0 var(--spacers-dp8) 0 0; } - -.cardHeaderInfo { - margin-right: var(--spacers-dp4); -} - -.cardHeaderLink { - align-items: center; - display: flex; - font-size: 12px; - color: var(--colors-grey600); - fill: var(--colors-grey600); -} diff --git a/src/pages/JobList/JobList.js b/src/pages/JobAndQueueList/JobAndQueueList.js similarity index 58% rename from src/pages/JobList/JobList.js rename to src/pages/JobAndQueueList/JobAndQueueList.js index e908d88e1..352349579 100644 --- a/src/pages/JobList/JobList.js +++ b/src/pages/JobAndQueueList/JobAndQueueList.js @@ -1,19 +1,17 @@ import React from 'react' -import { NoticeBox, Card, Checkbox, InputField, IconInfo16 } from '@dhis2/ui' +import { NoticeBox, Card, Checkbox, InputField } from '@dhis2/ui' import i18n from '@dhis2/d2-i18n' import { useJobsAndQueues } from '../../hooks/jobs-and-queues' -import { useJobFilter, useShowSystemJobs } from '../../components/Store' +import { useNameFilter, useShowSystemJobs } from '../../components/Store' import { JobTable } from '../../components/JobTable' import { LinkButton } from '../../components/LinkButton' +import { InfoLink } from '../../components/InfoLink' import { Spinner } from '../../components/Spinner' -import styles from './JobList.module.css' -import filterJobs from './filter-jobs' +import styles from './JobAndQueueList.module.css' +import filterJobsAndQueues from './filter-jobs-and-queues' -const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' - -const JobList = () => { - const [jobFilter, setJobFilter] = useJobFilter() +const JobAndQueueList = () => { + const [nameFilter, setNameFilter] = useNameFilter() const [showSystemJobs, setShowSystemJobs] = useShowSystemJobs() const { data, loading, error, refetch } = useJobsAndQueues() @@ -23,16 +21,20 @@ const JobList = () => { if (error) { return ( - + {i18n.t( - 'Something went wrong whilst loading the jobs. Try refreshing the page.' + 'Something went wrong whilst loading the jobs and queues. Try refreshing the page.' )} ) } // Apply the current filter settings - const jobs = filterJobs({ jobFilter, showSystemJobs, jobs: data }) + const jobsAndQueues = filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues: data, + }) return ( @@ -40,30 +42,20 @@ const JobList = () => {

{i18n.t('Scheduled jobs')}

- - - - - {i18n.t('About job configuration')} - +
{ - setJobFilter(value) + setNameFilter(value) }} - value={jobFilter} + value={nameFilter} type="search" role="searchbox" - name="job-filter" + name="name-filter" />
{ {i18n.t('New job')} + + {i18n.t('New queue')} +
- +
) } -export default JobList +export default JobAndQueueList diff --git a/src/pages/JobList/JobList.module.css b/src/pages/JobAndQueueList/JobAndQueueList.module.css similarity index 71% rename from src/pages/JobList/JobList.module.css rename to src/pages/JobAndQueueList/JobAndQueueList.module.css index 95a800593..4576ac012 100644 --- a/src/pages/JobList/JobList.module.css +++ b/src/pages/JobAndQueueList/JobAndQueueList.module.css @@ -11,18 +11,6 @@ margin: 0 var(--spacers-dp8) 0 0; } -.headerLink { - align-items: center; - display: flex; - font-size: 12px; - color: var(--colors-grey600); - fill: var(--colors-grey600); -} - -.headerLinkIcon { - margin-right: var(--spacers-dp4); -} - .controlContainer { align-items: center; display: flex; diff --git a/src/pages/JobList/JobList.test.js b/src/pages/JobAndQueueList/JobAndQueueList.test.js similarity index 81% rename from src/pages/JobList/JobList.test.js rename to src/pages/JobAndQueueList/JobAndQueueList.test.js index a68cb839e..a7cc59e72 100644 --- a/src/pages/JobList/JobList.test.js +++ b/src/pages/JobAndQueueList/JobAndQueueList.test.js @@ -1,22 +1,22 @@ import React from 'react' import { shallow } from 'enzyme' import { useJobsAndQueues } from '../../hooks/jobs-and-queues' -import JobList from './JobList' +import JobAndQueueList from './JobAndQueueList' jest.mock('../../hooks/jobs-and-queues', () => ({ useJobsAndQueues: jest.fn(), })) jest.mock('../../components/Store', () => ({ - useJobFilter: jest.fn(() => ['', () => {}]), + useNameFilter: jest.fn(() => ['', () => {}]), useShowSystemJobs: jest.fn(() => [false, () => {}]), })) -describe('', () => { +describe('', () => { it('renders a spinner when loading the jobs and queues', () => { useJobsAndQueues.mockImplementation(() => ({ loading: true })) - const wrapper = shallow() + const wrapper = shallow() const spinner = wrapper.find('Spinner') expect(spinner).toHaveLength(1) @@ -28,7 +28,7 @@ describe('', () => { error: new Error('Something went wrong'), })) - const wrapper = shallow() + const wrapper = shallow() const noticebox = wrapper.find('NoticeBox') expect(noticebox).toHaveLength(1) @@ -47,7 +47,7 @@ describe('', () => { refetch: () => {}, })) - const wrapper = shallow() + const wrapper = shallow() const jobtable = wrapper.find('JobTable') expect(jobtable).toHaveLength(1) diff --git a/src/pages/JobAndQueueList/filter-jobs-and-queues.js b/src/pages/JobAndQueueList/filter-jobs-and-queues.js new file mode 100644 index 000000000..c8d60a8cc --- /dev/null +++ b/src/pages/JobAndQueueList/filter-jobs-and-queues.js @@ -0,0 +1,14 @@ +const filterJobsAndQueues = ({ nameFilter, showSystemJobs, jobsAndQueues }) => { + // Filter jobs and queues by the current nameFilter + const applyNameFilter = (jobOrQueue) => + jobOrQueue.name.toLowerCase().includes(nameFilter.toLowerCase()) + + // Filter jobs depending on the current showSystemJobs + const applyShowSystemJobs = (jobOrQueue) => + // Jobs that are configurable are user jobs + showSystemJobs ? true : jobOrQueue.configurable + + return jobsAndQueues.filter(applyNameFilter).filter(applyShowSystemJobs) +} + +export default filterJobsAndQueues diff --git a/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js b/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js new file mode 100644 index 000000000..772a34ece --- /dev/null +++ b/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js @@ -0,0 +1,80 @@ +import filterJobsAndQueues from './filter-jobs-and-queues' + +describe('filterJobsAndQueues', () => { + it('should filter jobs and queues by the current nameFilter', () => { + const nameFilter = 'One' + const showSystemJobs = true + const expected = { name: 'One', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should ignore job or queue name capitalization', () => { + const nameFilter = 'one' + const showSystemJobs = true + const expected = { name: 'One', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should ignore nameFilter capitalization', () => { + const nameFilter = 'One' + const showSystemJobs = true + const expected = { name: 'one', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should show system jobs and user jobs if showSystemJobs is true', () => { + const nameFilter = '' + const showSystemJobs = true + const jobsAndQueues = [ + { name: 'One', configurable: false }, + { name: 'Two', configurable: true }, + ] + + expect( + filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual(jobsAndQueues) + }) + + it('should hide system jobs and show user jobs if showSystemJobs is false', () => { + const nameFilter = '' + const showSystemJobs = false + const expected = { name: 'Two', configurable: true } + const jobsAndQueues = [{ name: 'One', configurable: false }, expected] + + expect( + filterJobsAndQueues({ + nameFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) +}) diff --git a/src/pages/JobAndQueueList/index.js b/src/pages/JobAndQueueList/index.js new file mode 100644 index 000000000..20530f9e1 --- /dev/null +++ b/src/pages/JobAndQueueList/index.js @@ -0,0 +1,3 @@ +import JobAndQueueList from './JobAndQueueList' + +export default JobAndQueueList diff --git a/src/pages/JobEdit/JobEdit.js b/src/pages/JobEdit/JobEdit.js index 2dbb3d1f6..2786c6be7 100644 --- a/src/pages/JobEdit/JobEdit.js +++ b/src/pages/JobEdit/JobEdit.js @@ -1,14 +1,12 @@ import React from 'react' -import { Card, IconInfo16 } from '@dhis2/ui' +import { Card } from '@dhis2/ui' import PropTypes from 'prop-types' import i18n from '@dhis2/d2-i18n' +import { InfoLink } from '../../components/InfoLink' import { JobEditFormContainer } from '../../components/Forms' import { JobDetails } from '../../components/JobDetails' import styles from './JobEdit.module.css' -const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' - const JobEdit = ({ job }) => { const { name, created, lastExecutedStatus, lastExecuted } = job @@ -27,17 +25,7 @@ const JobEdit = ({ job }) => {

{i18n.t('Configuration')}

- - - - - {i18n.t('About job configuration')} - +
{ - // Filter jobs by the current jobFilter - const applyJobFilter = (job) => - job.name.toLowerCase().includes(jobFilter.toLowerCase()) - - // Filter jobs depending on the current showSystemJobs - const applyShowSystemJobs = (job) => - // Jobs that are configurable are user jobs - showSystemJobs ? true : job.configurable - - return jobs.filter(applyJobFilter).filter(applyShowSystemJobs) -} - -export default filterJobs diff --git a/src/pages/JobList/filter-jobs.test.js b/src/pages/JobList/filter-jobs.test.js deleted file mode 100644 index 12c7c7a98..000000000 --- a/src/pages/JobList/filter-jobs.test.js +++ /dev/null @@ -1,58 +0,0 @@ -import filterJobs from './filter-jobs' - -describe('filterJobs', () => { - it('should filter jobs by the current jobFilter', () => { - const jobFilter = 'One' - const showSystemJobs = true - const expected = { name: 'One', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should ignore job name capitalization', () => { - const jobFilter = 'one' - const showSystemJobs = true - const expected = { name: 'One', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should ignore jobFilter capitalization', () => { - const jobFilter = 'One' - const showSystemJobs = true - const expected = { name: 'one', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should show system jobs and user jobs if showSystemJobs is true', () => { - const jobFilter = '' - const showSystemJobs = true - const jobs = [ - { name: 'One', configurable: false }, - { name: 'Two', configurable: true }, - ] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual(jobs) - }) - - it('should hide system jobs and show user jobs if showSystemJobs is false', () => { - const jobFilter = '' - const showSystemJobs = false - const expected = { name: 'Two', configurable: true } - const jobs = [{ name: 'One', configurable: false }, expected] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) -}) diff --git a/src/pages/JobList/index.js b/src/pages/JobList/index.js deleted file mode 100644 index 49bb3c7e4..000000000 --- a/src/pages/JobList/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import JobList from './JobList' - -export default JobList diff --git a/src/pages/JobView/JobView.js b/src/pages/JobView/JobView.js index 2c2578ffd..6008e2a91 100644 --- a/src/pages/JobView/JobView.js +++ b/src/pages/JobView/JobView.js @@ -2,22 +2,19 @@ import React from 'react' import PropTypes from 'prop-types' import { Card, - IconInfo16, Box, SingleSelectField, SingleSelectOption, InputField, } from '@dhis2/ui' import i18n from '@dhis2/d2-i18n' +import { InfoLink } from '../../components/InfoLink' import { LinkButton } from '../../components/LinkButton' import { JobDetails } from '../../components/JobDetails' import translateCron from '../../services/translate-cron' import { jobTypesMap } from '../../services/server-translations' import styles from './JobView.module.css' -const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' - const JobView = ({ job }) => { const { name, @@ -43,17 +40,7 @@ const JobView = ({ job }) => {

{i18n.t('Configuration')}

- - - - - {i18n.t('About job configuration')} - +
{

{i18n.t('Configuration')}

- - - - - {i18n.t( - 'A queue is a collection of jobs that are executed in order, one after another as they finish.' - )} - + diff --git a/src/pages/QueueAdd/QueueAdd.module.css b/src/pages/QueueAdd/QueueAdd.module.css index f2ad696c6..e7f7ef97d 100644 --- a/src/pages/QueueAdd/QueueAdd.module.css +++ b/src/pages/QueueAdd/QueueAdd.module.css @@ -24,15 +24,3 @@ font-weight: 500; margin: 0 var(--spacers-dp8) 0 0; } - -.cardHeaderIcon { - margin-right: var(--spacers-dp4); -} - -.cardHeaderInfo { - align-items: center; - display: flex; - font-size: 12px; - color: var(--colors-grey600); - fill: var(--colors-grey600); -} diff --git a/src/pages/QueueEdit/QueueEdit.js b/src/pages/QueueEdit/QueueEdit.js index bc6fe03b8..194db2eb1 100644 --- a/src/pages/QueueEdit/QueueEdit.js +++ b/src/pages/QueueEdit/QueueEdit.js @@ -1,7 +1,8 @@ import React from 'react' -import { Card, IconInfo16, NoticeBox } from '@dhis2/ui' +import { Card, NoticeBox } from '@dhis2/ui' import { useParams } from 'react-router-dom' import i18n from '@dhis2/d2-i18n' +import { InfoLink } from '../../components/InfoLink' import { Spinner } from '../../components/Spinner' import { QueueEditFormContainer } from '../../components/Forms' import { useQueueByName } from '../../hooks/queues' @@ -42,14 +43,7 @@ const QueueEdit = () => {

{i18n.t('Configuration')}

- - - - - {i18n.t( - 'A queue is a collection of jobs that are executed in order, one after another as they finish.' - )} - +