WebAPI getting all orgunits with hierarchy info

Dear all,

can someone give me a suggestion on how to retrieve all orgunits through the WebAPI, including parent-child relationships of orgunits, so that an orgunit view can be created similarly to the view in Data Entry and Individual Records in DHIS 2? Perhaps it’s possible to pass a parameter to api/organisationUnits so to include children or something, or in analytics get orgunits to include parent when passing the LEVEL- parameter.
The query wouldn’t happen very often in the use case, but a low number of requests to the WebAPI would be preferable as ping rather than bandwidth is an issue.

Regards,
Simen S. Russnes

You can do this by using the fields param.

Go e.g. to https://apps.dhis2.org/dev/dhis-web-pivot -> orgunit tab and have a look at the network console when you expand nodes.

···

On Mon, Dec 15, 2014 at 2:34 PM, Simen Skogly Russnes simen_russnes@hotmail.com wrote:

Dear all,

can someone give me a suggestion on how to retrieve all orgunits through the WebAPI, including parent-child relationships of orgunits, so that an orgunit view can be created similarly to the view in Data Entry and Individual Records in DHIS 2? Perhaps it’s possible to pass a parameter to api/organisationUnits so to include children or something, or in analytics get orgunits to include parent when passing the LEVEL- parameter.
The query wouldn’t happen very often in the use case, but a low number of requests to the WebAPI would be preferable as ping rather than bandwidth is an issue.

Regards,
Simen S. Russnes


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Hi Simen

We had a similar discussion in South Africa a few hours ago. If you have your top level orgunit UID (e.g. ‘JLA7wl59oN3’) you can drill using API calls such as:

api/organisationUnits?filter=level:eq:2&filter=parent.id:eq:JLA7wl59oN3

If you don’t know your top level UID: api/organisationUnits?filter=level:eq:1

Regards

Greg

···

On Mon, Dec 15, 2014 at 3:34 PM, Simen Skogly Russnes simen_russnes@hotmail.com wrote:

Dear all,

can someone give me a suggestion on how to retrieve all orgunits through the WebAPI, including parent-child relationships of orgunits, so that an orgunit view can be created similarly to the view in Data Entry and Individual Records in DHIS 2? Perhaps it’s possible to pass a parameter to api/organisationUnits so to include children or something, or in analytics get orgunits to include parent when passing the LEVEL- parameter.
The query wouldn’t happen very often in the use case, but a low number of requests to the WebAPI would be preferable as ping rather than bandwidth is an issue.

Regards,
Simen S. Russnes


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Health Information Systems Program

**- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - - - ****- - - - - **

Mobile : 073 246 2992
Landline: 021 554 3130
Fax: 086 733 8432
Skype: gregory_rowles

Hey Simen,

Depending on how many organisation units you have you can do something like this.

https://apps.dhis2.org/dev/api/organisationUnits.json?fields=id,name,level,parent[id]&paging=false

That will get you all the org units and you could re-create the which are children of what org unit by level and parent id.

This is normally very slow however so depending on the amount of org units you might want to concider loading the other levels separately eventhough the ping is high.

Or you could concider loading the first level first and loading the other levels in the background (no matter whether they are used or not.

Kind regards,

Mark Polak

mark@thedutchies.com

markpo@ifi.uio.no

+47 970 36 752

···

On Mon, Dec 15, 2014 at 2:34 PM, Simen Skogly Russnes simen_russnes@hotmail.com wrote:

Dear all,

can someone give me a suggestion on how to retrieve all orgunits through the WebAPI, including parent-child relationships of orgunits, so that an orgunit view can be created similarly to the view in Data Entry and Individual Records in DHIS 2? Perhaps it’s possible to pass a parameter to api/organisationUnits so to include children or something, or in analytics get orgunits to include parent when passing the LEVEL- parameter.
The query wouldn’t happen very often in the use case, but a low number of requests to the WebAPI would be preferable as ping rather than bandwidth is an issue.

Regards,
Simen S. Russnes


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Thanks all,

I think what you suggest Mark is probably the best solution in this case. Having to do only 3-4 requests is ok for dividing into levels. I was more worried I'd have to do something like one request per org unit with children.