The LocatorAPI currently has three endpoints. The locator API can currently support querying:
Locators or OrgUnits near by
List of Areas in a country
List of subAreas within the country and the area
Locators near me
This endpoint provides This endpoint retrieves a list of organization units around in proximity to the provided geographic coordinates.
url URL : api/v1v2/locator
method: POST
authorization: will be provided by admin
Mandatory parameters - you Method:
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Authorization: Managed via Spring Framework Security (See: Link)
Info |
---|
Note: For PSI implementation, authorization is handled by OpenHIM, and Spring Boot security is disabled by default. |
Request Parameters
Required Parameters
You must provide at least one fo of the following parameters
Parameter | dhis2 |
---|
description
coordinates
core Org Unit geometry
code
core Org Unit Code
uid-exact match
Attribute | Description | Example | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
coordinates | (String) Format: "latitude,longitude" | coordinates=-0.1663,35.5924 | |||||||||
points | (Array of Decimals)
|
| |||||||||
latitude | (Decimal) | latitude=-26.18 | |||||||||
longitude | (Decimal) | longitude=28.31 | |||||||||
| |||||||||||
Organization Unit | |||||||||||
uid |
| (String) Unique identifier (UID) generated by DHIS2 for an organization unit. | |||||||||
code |
| (String) Code assigned to the organization unit. | |||||||||
shortName |
| (String) Short name of the organization unit. | |||||||||
Ancestor (Organization Unit) | |||||||||||
ancestor.uid |
| (String) OrgUnit UID / code for ancestor. When provided, all locators/facilities under it are populated. Represents the DHIS2 parent that represents the country. | |||||||||
ancestor.code |
|
Info |
---|
Please Note
|
Optional parameters
Parameter |
---|
Default value, if not provided
number
limit
10
distance
calculation
100
unit
phone
core
tag
custom Org Unit attribut
services
payload: :
Option Value | Default Option | Description | |
---|---|---|---|
paging | Boolean | true | Specifies whether pagination is required. |
page | Number | 1 | Determines the page number to be returned. |
pageSize | Number | 10 | Sets the total number of items per page. |
distance | Number | 10 | Specifies the radius (in unit specified) within which to generate the organization units. |
unit | Options: | km | Defines the unit of measurement for distance. |
level | Number | 7 | Indicates the hierarchy level of the organization unit. |
Filters
type | Text | Specifies the type of the location. | |
---|---|---|---|
phoneNumber | Text (Phone Number) | N/A | DHIS2 core element that defines the phone number of the location. |
tags | Text (Separated by ',' or '|') | N/A | Defines the tags the locations are associated with. |
Text | NA | Returns all the organization which has all of the tags provided. | |
services | Text (Separated by ',' or '|') | N/A | Defines the services offered by the locations. Returns all the organization which has at least one of the service provided. |
Text | Returns all the organization which has all of the services provided. | ||
area | Text | N/A | Defines the broader area where the location is situated. |
subArea | Text | N/A | Specifies the subarea of the location. |
Text (phone Number) | N/A | Indicates the WhatsApp number of the location. | |
Text or URL | N/A | Provides the Facebook URL for the location. | |
responseFhir | Boolean | No | Determines if the response should be in FHIR or DHIS2 format. |
URL (for
Status | ||||
---|---|---|---|---|
|
https://{{host}}/api/v2/locator?paging=false&coordinates=lat,lng&distance=5&unit=km
Payload (for
Status | ||||
---|---|---|---|---|
|
Code Block | ||
---|---|---|
| ||
{ "numberpaging": 10true, "distancepage": 51, "unitpageSize": 10, "km",ancestor": { "coordinatesid": "lat,lnga23acb2452xyz", "isocode": "KE", ---> Remove }, "servicesorganisationunit": { "id"service1,service2 "q13we2452wsd", "uidshortName": 'q13we2452wsd' "Sub Hospital" }, "codecoordinates": "CODE-123",lat,lng, "points": [lat,lng], "contraceptiondistance": "iud5,imp", "tagsunit": "km"tag1,tag2" "level": 7, "typephoneNumber": "Public180999093107", "area": "Managua", "subArea": "Ciudad Sandino", "phonenumbertype": "Public", "tags": "tag1,tag2", "services": "180999093107service1,service2", "wapwhatsapp": "977984123145", "facebook": "https://fb.me/facility1", "latitude": lat, "longitude": lon, "responseFhir": false } |
responseResponse (In DHIS2):
Code Block | ||
---|---|---|
| ||
{ "pager": {...} "organisationUnits": [ { "returnCodeid": "200xkcEJARvo2O", "outlet "parentId": ["15561086", {"code": "KE-CODE-123", "dhisCodename": "Facility Clinic (KE-CODE-123)", "dhisId"shortName": "Facility Clinic", "description": null, "openingDate": "xkcEJARvo2O2023-02-11", "servicesStandard": "CCS,CNT,ANC,STI,HVS,HVT"closedDate": null, "comment": null, "url": null, "contactPerson": null, "address": "street1, city, subarea, area", "outletTypeemail": "Publicmymail@gmail.com", "ouShowContactInfophoneNumber": "TLF+254541483334", "path": "", "level": "7", "area": "Nairobi", "subArea": "Starehe", "latitude": "-1.28575", "outletName": "Facility Clinic""longitude": "39.81234", "geometry": "{\"type\":\"Point\",\"coordinates\":[39.81234,-1.28575]}", "distance": 0.0, "phoneNumberopeningHours": "+254541483334Mon-Fri,8:00,17:00;Sat,9:00,14:00;Public Holiday,9:00,14:00;Sun,Closed", "postgresIdservices": "1511345870CCS,CNT,ANC,STI,HVS,HVT", "locatorTypelocationType": "OUT", "locationtype": "Public", { "tags": "KEUNV", "area": "Nairobi" "fb": null, "whatsapp": null, "showContactInfo": "TLF" } ] } |
Note: The attributes sequence might be different from the sequence listed above.
Response (in FHIR):
Code Block | ||
---|---|---|
| ||
{ "areaSubpager": "Starehe"{ "page": 1, "pageCount": 1, "total": 1, "pageSize": 1, "addressfirst": "street1, city, subarea, areatrue, "last": true }, "locations": [ { "resourceType": "Location", "id": "d5AeP1W7nT", "identifier": [ { "system": "http://www.acme.org/identifiers/location", "latitudevalue": "-1.28575",US-FH-1235" }, { "system": "http://www.acme.org/identifiers/location", "longitudevalue": "39.81234/s7JFm0K2cN/8xqYb6V3gL/i4hDz9R1mE/a2XpM3G6rC/c9NlB7P8jY/u3RcT5L9vH/d5AeP1W7nT" } ], "dhisNamename": "FacilityRiverside General ClinicHospital (KEUS-CODEFH-1231235)", "openingHoursalias": [ "Riverside General Hospital" ], "description": null, "status": "Mon-Fri,8:00,17:00;Sat,9:00,14:00;Public Holiday,9:00,14:00;Sun,Closed",active", "mode": "instance", "address": { "street1": "123 Main Street", "street2": null, "city": "Any City", "state": "NY", "postalCode": 12345, "country": "United State" }, "contact": { "openingDate"telecom": [ { "system": "2023-02-11phone", "ouTags "value": "MSI+14722240000", "providers": [] "use": null } ] }, "ouContraceptives": "IMP,OCP,IUD,INJ,STL,EMCposition": { "longitude": 30.7983, "latitude": -10.25 }, "hoursOfOperation": "Mon-Fri,8:00,17:00", "healthCareServices": "COV,STI" } } ] } |
You can also find the POSTMAN examples below:
1. DHIS2 Response: POSTMAN
FHIR Response: POSTMAN