# Facility

The Facility API provides endpoints to create, retrieve, update, and delete facilities, allowing the association of a facility with a hospital. When listing or retrieving facility details, associated hospitals are returned as nested objects to provide comprehensive information. However, when creating or updating a facility, only the hospital_id field should be used to associate the facility with a specific hospital by its unique ID.

# Get Facility List

Retrieve a list of all facilities, with associated hospitals displayed as nested objects.

  • URL: resources/facilities/
  • Method: GET
  • Response Example:
    [
      {
        "unique_id": "54321",
        "facility_name": "City Clinic",
        "facility_description": "A well-equipped community clinic.",
        "facility_practice_number": "FAC12345",
        "facility_org_code": "ORG87654",
        "facility_type": "Public",
        "facility_physical_address": "456 Wellness Ave, Health City",
        "facility_postal_address": "P.O. Box 1234",
        "facility_town": "Health City",
        "facility_region": "Northern",
        "facility_province": "Province B",
        "facility_country": "Country Y",
        "facility_postal_code": "2002",
        "facility_phone_number": "321-654-9870",
        "facility_phone_number_alt": "321-654-9871",
        "facility_emergency_number": "321-654-9879",
        "facility_fax_number": "321-654-9872",
        "facility_email_address": "info@cityclinic.com",
        "facility_website_url": "https://www.cityclinic.com",
        "facility_image_url": "https://images.com/54321",
        "facility_latitude": "-26.54321",
        "facility_longitude": "27.54321",
        "hospital": {
          "unique_id": "98765",
          "hospital_name": "General Hospital",
          "hospital_description": "A primary healthcare hospital.",
          "hospital_practice_number": "GH123456",
          "hospital_type": "Private"
        },
        "date_created": "2023-01-01T12:00:00Z",
        "last_updated": "2023-01-05T08:30:00Z"
      },
      ...
    ]
    

# Create a Facility

Create a new facility entry and associate it with a hospital using hospital_id.

  • URL: resources/facilities/

  • Method: POST

  • Request Example:

    {
      "facility_name": "City Clinic",
      "facility_description": "A well-equipped community clinic.",
      "facility_practice_number": "FAC12345",
      "facility_org_code": "ORG87654",
      "facility_type": "Public",
      "facility_physical_address": "456 Wellness Ave, Health City",
      "facility_postal_address": "P.O. Box 1234",
      "facility_town": "Health City",
      "facility_region": "Northern",
      "facility_province": "Province B",
      "facility_country": "Country Y",
      "facility_postal_code": "2002",
      "facility_phone_number": "321-654-9870",
      "facility_phone_number_alt": "321-654-9871",
      "facility_emergency_number": "321-654-9879",
      "facility_fax_number": "321-654-9872",
      "facility_email_address": "info@cityclinic.com",
      "facility_website_url": "https://www.cityclinic.com",
      "facility_image_url": "https://images.com/54321",
      "facility_latitude": "-26.54321",
      "facility_longitude": "27.54321",
      "hospital_id": "98765"
    }
    
  • Response Example:

    {
      "unique_id": "54321",
      "facility_name": "City Clinic",
      "facility_description": "A well-equipped community clinic.",
      "facility_practice_number": "FAC12345",
      "facility_org_code": "ORG87654",
      "facility_type": "Public",
      "facility_physical_address": "456 Wellness Ave, Health City",
      "facility_postal_address": "P.O. Box 1234",
      "facility_town": "Health City",
      "facility_region": "Northern",
      "facility_province": "Province B",
      "facility_country": "Country Y",
      "facility_postal_code": "2002",
      "facility_phone_number": "321-654-9870",
      "facility_phone_number_alt": "321-654-9871",
      "facility_emergency_number": "321-654-9879",
      "facility_fax_number": "321-654-9872",
      "facility_email_address": "info@cityclinic.com",
      "facility_website_url": "https://www.cityclinic.com",
      "facility_image_url": "https://images.com/54321",
      "facility_latitude": "-26.54321",
      "facility_longitude": "27.54321",
      "hospital": {
        "unique_id": "98765",
        "hospital_name": "General Hospital",
        "hospital_description": "A primary healthcare hospital.",
        "hospital_practice_number": "GH123456",
        "hospital_type": "Private"
      },
      "date_created": "2023-01-01T12:00:00Z",
      "last_updated": "2023-01-05T08:30:00Z"
    }
    

# Get a Facility

Retrieve details of a specific facility by unique ID, displaying associated hospital as a nested object.

  • URL: resources/facilities/<str:unique_id>/
  • Method: GET
  • Response Example:
    {
      "unique_id": "54321",
      "facility_name": "City Clinic",
      "facility_description": "A well-equipped community clinic.",
      "facility_practice_number": "FAC12345",
      "facility_org_code": "ORG87654",
      "facility_type": "Public",
      "facility_physical_address": "456 Wellness Ave, Health City",
      "facility_postal_address": "P.O. Box 1234",
      "facility_town": "Health City",
      "facility_region": "Northern",
      "facility_province": "Province B",
      "facility_country": "Country Y",
      "facility_postal_code": "2002",
      "facility_phone_number": "321-654-9870",
      "facility_phone_number_alt": "321-654-9871",
      "facility_emergency_number": "321-654-9879",
      "facility_fax_number": "321-654-9872",
      "facility_email_address": "info@cityclinic.com",
      "facility_website_url": "https://www.cityclinic.com",
      "facility_image_url": "https://images.com/54321",
      "facility_latitude": "-26.54321",
      "facility_longitude": "27.54321",
      "hospital": {
        "unique_id": "98765",
        "hospital_name": "General Hospital",
        "hospital_description": "A primary healthcare hospital.",
        "hospital_practice_number": "GH123456",
        "hospital_type": "Private"
      },
      "date_created": "2023-01-01T12:00:00Z",
      "last_updated": "2023-01-05T08:30:00Z"
    }
    

# Update a Facility

Update an existing facility by unique ID, associating or updating the associated hospital using hospital_id.

  • URL: resources/facilities/<str:unique_id>/

  • Method: PUT

  • Request Example:

    {
      "facility_name": "Updated City Clinic",
      "hospital_id": "98765"
    }
    
  • Response Example:

    {
      "unique_id": "54321",
      "facility_name": "Updated City Clinic",
      "facility_description": "A well-equipped community clinic.",
      "facility_practice_number": "FAC12345",
      "facility_org_code": "ORG87654",
      "facility_type": "Public",
      "facility_physical_address": "456 Wellness Ave, Health City",
      "facility_postal_address": "P.O. Box 1234",
      "facility_town": "Health City",
      "facility_region": "Northern",
      "facility_province": "Province B",
      "facility_country": "Country Y",
      "facility_postal_code": "2002",
      "facility_phone_number": "321-654-9870",
      "facility_phone_number_alt": "321-654-9871",
      "facility_emergency_number": "321-654-9879",
      "facility_fax_number": "321-654-9872",
      "facility_email_address": "info@cityclinic.com",
      "facility_website_url": "https://www.cityclinic.com",
      "facility_image_url": "https://images.com/54321",
      "facility_latitude": "-26.54321",
      "facility_longitude": "27.54321",
      "hospital": {
        "unique_id": "98765",
        "hospital_name": "General Hospital",
        "hospital_description": "A primary healthcare hospital.",
        "hospital_practice_number": "GH123456",
        "hospital_type": "Private"
      },
      "date_created": "2023-01-01T12:00:00Z",
      "last_updated": "2023-01-06T08:30:00Z"
    }
    

# Delete a Facility

Delete a facility by unique ID.

  • URL: resources/facilities/<str:unique_id>/
  • Method: DELETE
  • Response: 204 No Content