Facilities
Facilities represent healthcare locations such as hospitals, clinics, pharmacies, and laboratories. MediLoop supports multi-branch facilities (chains) and service-based discovery.
Endpoints
/api/v1/facilities/register/Register a facility/api/v1/facilities/search/Search facilities/api/v1/facilities/{facility_id}/Get facility details/api/v1/facilities/services/search/Search by service type/api/v1/facilities/{facility_id}/branches/List facility branches/api/v1/facilities/{facility_id}/nearest_branch/Find nearest branch/api/v1/facilities/search/chains/Search facility chainsThe Facility Object
Attributes
iduuidUnique identifier for the facility.
namestringFacility name.
facility_typestringType: hospital, clinic, pharmacy, laboratory, etc.
license_numberstringGovernment license number.
addressstringPhysical address.
districtstringDistrict location.
citystringnullableCity.
latitudenumbernullableGPS latitude.
longitudenumbernullableGPS longitude.
phone_numberstringContact phone.
emailstringnullableContact email.
servicesarrayList of services offered.
operating_hoursobjectnullableOperating hours by day.
is_24_hoursbooleanWhether facility operates 24/7.
is_chainbooleanWhether this is a chain/franchise.
parent_facility_iduuidnullableParent facility for branches.
is_activebooleanWhether the facility is active.
fhir_organization_idstringFHIR Organization resource ID.
{
"id": "fac-xyz-789-012",
"name": "Mulago National Referral Hospital",
"facility_type": "hospital",
"license_number": "MOH-2024-12345",
"address": "Upper Mulago Hill Road",
"district": "Kampala",
"city": "Kampala",
"latitude": 0.3476,
"longitude": 32.5825,
"phone_number": "+256414541111",
"email": "info@mulago.go.ug",
"services": [
"emergency",
"outpatient",
"inpatient",
"surgery",
"laboratory",
"radiology"
],
"operating_hours": {
"monday": {
"open": "08:00",
"close": "17:00"
},
"tuesday": {
"open": "08:00",
"close": "17:00"
}
},
"is_24_hours": true,
"is_chain": false,
"is_active": true,
"fhir_organization_id": "Organization/fhir-org-123"
}Register a Facility
Registers a new healthcare facility.
/api/v1/facilities/register/Request Body
namestringrequiredFacility name
facility_typestringrequiredType of facility
license_numberstringrequiredGovernment license number
addressstringrequiredPhysical address
districtstringrequiredDistrict
phone_numberstringrequiredContact phone
emailstringoptionalContact email
latitudenumberoptionalGPS latitude
longitudenumberoptionalGPS longitude
servicesarrayoptionalServices offered
is_24_hoursbooleanoptional24/7 operation
parent_facility_iduuidoptionalParent facility for branches
curl -X POST https://api.mediloop.co/api/v1/facilities/register/ \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"name": "City Clinic Kampala",
"facility_type": "clinic",
"license_number": "MOH-2024-54321",
"address": "Plot 45, Kampala Road",
"district": "Kampala",
"phone_number": "+256700111222",
"services": ["outpatient", "laboratory", "pharmacy"],
"latitude": 0.3136,
"longitude": 32.5811
}'{
"id": "fac-new-123-456",
"name": "City Clinic Kampala",
"facility_type": "clinic",
"license_number": "MOH-2024-54321",
"district": "Kampala",
"is_active": true,
"created_at": "2024-01-15T10:00:00Z"
}Search Facilities
Search for facilities by location, type, or name.
/api/v1/facilities/search/Query Parameters
namestringoptionalSearch by name
facility_typestringoptionalFilter by type
districtstringoptionalFilter by district
latitudenumberoptionalCenter latitude for proximity search
longitudenumberoptionalCenter longitude for proximity search
radius_kmnumberoptionalSearch radius in kilometers
is_24_hoursbooleanoptionalFilter 24/7 facilities
curl "https://api.mediloop.co/api/v1/facilities/search/?district=Kampala&facility_type=hospital" \
-H "Authorization: Bearer sk_test_..."{
"count": 2,
"results": [
{
"id": "fac-xyz-789",
"name": "Mulago Hospital",
"facility_type": "hospital",
"district": "Kampala",
"is_24_hours": true
},
{
"id": "fac-abc-123",
"name": "Nakasero Hospital",
"facility_type": "hospital",
"district": "Kampala",
"is_24_hours": true
}
]
}Search by Service
Find facilities that offer specific services.
/api/v1/facilities/services/search/Query Parameters
servicestringrequiredService type to search for
districtstringoptionalFilter by district
latitudenumberoptionalCenter latitude
longitudenumberoptionalCenter longitude
radius_kmnumberoptionalSearch radius
curl "https://api.mediloop.co/api/v1/facilities/services/search/?service=laboratory&district=Kampala" \
-H "Authorization: Bearer sk_test_..."{
"count": 3,
"service": "laboratory",
"results": [
{
"id": "fac-lab-001",
"name": "Lancet Laboratories",
"facility_type": "laboratory",
"services": [
"laboratory",
"blood-tests",
"imaging"
]
},
{
"id": "fac-lab-002",
"name": "MBN Clinical Laboratories",
"facility_type": "laboratory",
"services": [
"laboratory",
"pathology"
]
}
]
}Facility Branches
List all branches of a facility chain.
/api/v1/facilities/{facility_id}/branches/curl https://api.mediloop.co/api/v1/facilities/fac-chain-001/branches/ \
-H "Authorization: Bearer sk_test_..."{
"parent_facility": {
"id": "fac-chain-001",
"name": "City Pharmacy",
"is_chain": true
},
"branches": [
{
"id": "fac-branch-001",
"name": "City Pharmacy - Kampala Central",
"district": "Kampala",
"address": "Plot 10, Kampala Road"
},
{
"id": "fac-branch-002",
"name": "City Pharmacy - Ntinda",
"district": "Kampala",
"address": "Ntinda Shopping Center"
}
],
"total_branches": 2
}Facility Types
| Type | Description |
|---|---|
hospital | Full-service hospital |
clinic | Outpatient clinic |
pharmacy | Pharmacy/Drugstore |
laboratory | Diagnostic laboratory |
imaging | Radiology/Imaging center |
dental | Dental clinic |
optical | Eye care center |
health_center | Government health center |