{
  "snapshot_id": "approved-static-813898688226d1e4",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-07-16",
  "canonical_path": "/cities/be/la-hulpe/",
  "mcp_uri": "immigrationdb://city/be/la-hulpe",
  "city": {
    "entity_id": "city:be:nis5:25050",
    "name": "La Hulpe",
    "country_code": "BE",
    "public_slug": "la-hulpe",
    "canonical_path": "/cities/be/la-hulpe/",
    "mcp_uri": "immigrationdb://city/be/la-hulpe",
    "page_state": "published",
    "useful_blocks": [
      "demographics",
      "climate_air",
      "work_income",
      "family_education",
      "cost_living",
      "housing"
    ],
    "useful_fact_count": 12,
    "city_tags": [
      "standard_municipality"
    ],
    "profile_scores": {
      "remote": {
        "point": 63,
        "low": 49,
        "high": 77,
        "factors": {
          "legal_path": 36,
          "cost_pressure": 83,
          "housing": 39,
          "work": 83,
          "family": 54,
          "education": 54,
          "healthcare": 39,
          "safety": 39,
          "air": 69,
          "bureaucracy": 39
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null
        }
      },
      "digital_nomad": {
        "point": 60,
        "low": 46,
        "high": 74,
        "factors": {
          "legal_path": 36,
          "cost_pressure": 83,
          "housing": 39,
          "work": 83,
          "family": 54,
          "education": 54,
          "healthcare": 39,
          "safety": 39,
          "air": 69,
          "bureaucracy": 39
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null
        }
      },
      "family": {
        "point": 48,
        "low": 34,
        "high": 62,
        "factors": {
          "legal_path": 36,
          "cost_pressure": 83,
          "housing": 39,
          "work": 83,
          "family": 54,
          "education": 54,
          "healthcare": 39,
          "safety": 39,
          "air": 69,
          "bureaucracy": 39
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null
        }
      },
      "student": {
        "point": 54,
        "low": 40,
        "high": 68,
        "factors": {
          "legal_path": 36,
          "cost_pressure": 83,
          "housing": 39,
          "work": 83,
          "family": 54,
          "education": 54,
          "healthcare": 39,
          "safety": 39,
          "air": 69,
          "bureaucracy": 39
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null
        }
      },
      "retirement": {
        "point": 49,
        "low": 35,
        "high": 63,
        "factors": {
          "legal_path": 36,
          "cost_pressure": 83,
          "housing": 39,
          "work": 83,
          "family": 54,
          "education": 54,
          "healthcare": 39,
          "safety": 39,
          "air": 69,
          "bureaucracy": 39
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null
        }
      }
    },
    "facts_by_block": {
      "climate_air": [
        {
          "metric_id": "air_quality_no2_annual_ug_m3",
          "block_id": "climate_air",
          "value": 9.523497,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "irceline-rio-v2025-municipality-no2",
          "source_url": "http://ftp.irceline.be/rio4x4/gemeente/fgem_pop_no2_1990_2024.csv",
          "source_title": "Official RIO v2025 annual mean derived from daily population-weighted municipality concentrations for NIS5 11055; period 2024-01-01..2024-12-31",
          "source_authority": "IRCELINE/CELINE",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm10_annual_ug_m3",
          "block_id": "climate_air",
          "value": 12.054918,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "irceline-rio-v2025-municipality-pm10",
          "source_url": "http://ftp.irceline.be/rio4x4/gemeente/fgem_pop_pm10_1997_2024.csv",
          "source_title": "Official RIO v2025 annual mean derived from daily population-weighted municipality concentrations for NIS5 13019; period 2024-01-01..2024-12-31",
          "source_authority": "IRCELINE/CELINE",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 6.861749,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "irceline-rio-v2025-municipality-pm25",
          "source_url": "http://ftp.irceline.be/rio4x4/gemeente/fgem_pop_pm25_2008_2024.csv",
          "source_title": "Official RIO v2025 annual mean derived from daily population-weighted municipality concentrations for NIS5 62093; period 2024-01-01..2024-12-31",
          "source_authority": "IRCELINE/CELINE",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "cost_living": [
        {
          "metric_id": "g05_foreign_born_share_pct",
          "block_id": "cost_living",
          "value": 21.93,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2021-01-01",
          "verified_at": "2026-07-16",
          "comparison_eligible": true,
          "source_id": "source-e9a24d5108ce",
          "source_url": "https://statbel.fgov.be/nl/open-data/census-2021-bevolking-naar-verblijfplaats-gemeente-geslacht-en-geboorteplaats-l",
          "source_title": "Statbel Census 2021 municipality population by birthplace",
          "source_authority": "Statbel",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "median_age_years",
          "block_id": "cost_living",
          "value": 45.9,
          "unit": "years",
          "geographic_scope": "city",
          "observed_at": "2021-01-01",
          "verified_at": "2026-07-16",
          "comparison_eligible": true,
          "source_id": "source-9278b9224688",
          "source_url": "https://statbel.fgov.be/fr/open-data/census-2021-population-selon-lieu-de-residence-commune-sexe-et-age-m",
          "source_title": "Statbel Census 2021 municipality population by sex and age",
          "source_authority": "Statbel",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "demographics": [
        {
          "metric_id": "population_total",
          "block_id": "demographics",
          "value": 7539,
          "unit": "persons",
          "geographic_scope": "municipality",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-12",
          "comparison_eligible": true,
          "source_id": "denom_be_07e0c8c28402",
          "source_url": "https://statbel.fgov.be/sites/default/files/files/opendata/bevolking%20naar%20woonplaats%2C%20nationaliteit%20burgelijke%20staat%20%2C%20leeftijd%20en%20geslacht/TF_SOC_POP_STRUCT_2026.zip",
          "source_title": "Belgium official denominator source",
          "source_authority": "Belgium",
          "source_quality": "verified"
        }
      ],
      "family_education": [
        {
          "metric_id": "g07_school_count",
          "block_id": "family_education",
          "value": 9,
          "unit": "schools",
          "geographic_scope": "city",
          "observed_at": "2025-10-31",
          "verified_at": "2026-07-16",
          "comparison_eligible": true,
          "source_id": "source-ba81853bb00e",
          "source_url": "https://www.odwb.be/api/explore/v2.1/catalog/datasets/fwb-age-fichier-signaletique-des-etablissements-d-enseignement-de-la-federation-/exports/csv?lang=fr&timezone=Europe%2FBrussels",
          "source_title": "FASE 2025/26 official school establishment register",
          "source_authority": "Fédération Wallonie-Bruxelles / ODWB",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "housing": [
        {
          "metric_id": "g05_dwellings_total",
          "block_id": "housing",
          "value": 3029,
          "unit": "dwellings",
          "geographic_scope": "city",
          "observed_at": "2021-01-01",
          "verified_at": "2026-07-16",
          "comparison_eligible": true,
          "source_id": "source-3eb89f9de95a",
          "source_url": "https://statbel.fgov.be/nl/open-data/census-2021-conventionele-woningen-naar-verblijfplaats-gemeente-type-gebouw-en",
          "source_title": "Statbel Census 2021 municipality housing units",
          "source_authority": "Statbel",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "identity": [
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 15.517205,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2025-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "statbel_land_occupation_2025_commune_area",
          "source_url": "https://statbel.fgov.be/sites/default/files/files/documents/Bouwen%20%26%20wonen/2.6%20Bodembezetting%20volgens%20het%20Kadasterregister/Occupation%20du%20sol%20selon%20le%20registre%20Cadastral%20sup%20par%20commune.xlsx",
          "source_title": "Official cadastral total area by municipality; 2025 superficie totale (ha), converted to km2.",
          "source_authority": "Statbel / Statistics Belgium",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 1305,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "statbel_population_2026_foreign_derived",
          "source_url": "https://statbel.fgov.be/sites/default/files/files/documents/bevolking/5.1%20Structuur%20van%20de%20bevolking/popstranger-1992-fr.xlsx",
          "source_title": "Official population by nationality at municipality grain; foreign population is TOTAL minus Belgique in the TOTAL row.",
          "source_authority": "Statbel / Statistics Belgium",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_density_per_km2",
          "block_id": "identity",
          "value": 485.847806,
          "unit": "people/km2",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "statbel_population_2026_commune_total",
          "source_url": "https://statbel.fgov.be/sites/default/files/files/documents/bevolking/5.1%20Structuur%20van%20de%20bevolking/Population_par_commune.xlsx",
          "source_title": "Official resident population by Belgian municipality on 1 January 2026; Total column.",
          "source_authority": "Statbel / Statistics Belgium",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "work_income": [
        {
          "metric_id": "broadband_gigabit_availability_percent",
          "block_id": "work_income",
          "value": 98.80201765,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "bipt_atlas_fixed_speed_by_municipality_06_2025",
          "source_url": "https://www.bipt-data.be/en/projects/data/opendata",
          "source_title": "BIPT/IBPT fixed broadband Atlas municipality row: H_rate_1000 is the share of households with access to fixed broadband at a maximum attainable speed of at least 1,000 Mbps; availability, not subscribed plan or measured speed. H_1000 is the covered-household count and total_households is the denominator.",
          "source_authority": "BIPT/IBPT — Institut belge des services postaux et des télécommunications",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
