EHPAD gérés par le CASVP

Données - Ville de Paris

Code
source(here::here("_rinit.R"))
source(here::here("data", "paris", "_paris.R"))   # wkb2sfc(), paris_basemap(), arrondissements_sf()
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
# cd ~/iCloud/website/data/paris; /usr/local/bin/R -e 'quarto::quarto_render("liste-des-ehpad.qmd")'

knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE,
                      fig.width = 8, fig.height = 5, dpi = 150)

ehpad_path <- here::here("data", "paris", "liste-des-ehpad.parquet")
ehpad <- arrow::read_parquet(ehpad_path) |>
  dplyr::mutate(
    image_url = purrr::map_chr(image, \(x) {
      j <- tryCatch(jsonlite::fromJSON(x), error = function(e) NULL)
      if (is.null(j) || is.null(j$url)) NA_character_ else j$url
    }),
    intra_muros = ville == "Paris"
  )

n_tot <- nrow(ehpad)
pts_sf <- ehpad |>
  dplyr::mutate(geometry = wkb2sfc(coordonnees)) |>
  sf::st_as_sf(crs = 4326)

Les 15 EHPAD (établissements d’hébergement pour personnes âgées dépendantes) gérés directement par le CASVP (Centre d’Action Sociale de la Ville de Paris). 5 d’entre eux sont situés hors Paris intra-muros — le CASVP gère aussi des maisons de retraite en proche et moyenne couronne, jusqu’à Villers-Cotterêts (Aisne), à 80 km de Paris.

Code
ehpad |>
  dplyr::arrange(ville, nom_de_l_ehpad) |>
  dplyr::transmute(
    Photo = ifelse(is.na(image_url), "",
                   sprintf('<img src="%s" width="70" style="border-radius:.3rem">', image_url)),
    Nom = nom_de_l_ehpad, Adresse = adresse, Ville = ville,
    CP = code_postal, `Téléphone` = telephone
  ) |>
  reactable::reactable(
    searchable = TRUE,
    pagination = FALSE,
    compact = TRUE,
    resizable = TRUE,
    highlight = TRUE,
    wrap = TRUE,
    defaultColDef = reactable::colDef(
      align = "left",
      headerStyle = list(fontWeight = "bold"),
      style = list(whiteSpace = "normal", wordBreak = "break-word")
    ),
    columns = list(
      Photo = reactable::colDef(html = TRUE, sortable = FALSE, filterable = FALSE, width = 90),
      Nom   = reactable::colDef(minWidth = 160),
      Adresse = reactable::colDef(minWidth = 200),
      Ville = reactable::colDef(minWidth = 100, maxWidth = 160),
      CP = reactable::colDef(minWidth = 60, maxWidth = 90),
      `Téléphone` = reactable::colDef(minWidth = 110, maxWidth = 140)
    )
  )

Carte

Code
leaflet::leaflet(pts_sf, options = leaflet::leafletOptions(minZoom = 8)) |>
  paris_basemap() |>
  leaflet::addCircleMarkers(
    radius = 7, stroke = TRUE, color = "white", weight = 1.5,
    fillOpacity = 0.9, fillColor = "#8a4fae",
    label = ~nom_de_l_ehpad,
    popup = ~sprintf("<b>%s</b><br>%s<br>%s %s<br>%s",
                     nom_de_l_ehpad, adresse, code_postal, ville, telephone)
  )

Source & données

Code
tibble::tibble(
  ` ` = c("Jeu de données", "Producteur", "Licence", "Fichier", "Mise à jour", "Observations"),
  `  ` = c(
    "[Liste des EHPAD](https://opendata.paris.fr/explore/dataset/liste-des-ehpad/information/)",
    "Centre d'Action Sociale de la Ville de Paris (CASVP)",
    "Open Database License (ODbL)",
    sprintf("`data/paris/liste-des-ehpad.parquet` (%s ko)", round(file.size(ehpad_path) / 1024)),
    format(as.Date(file.mtime(ehpad_path)), "%d %B %Y"),
    sprintf("%d établissements", n_tot)
  )
) |>
  gt::gt() |> gt::fmt_markdown(columns = `  `) |>
  gt::tab_options(table.width = "100%", column_labels.hidden = TRUE)
Jeu de données Liste des EHPAD
Producteur Centre d’Action Sociale de la Ville de Paris (CASVP)
Licence Open Database License (ODbL)
Fichier data/paris/liste-des-ehpad.parquet (6 ko)
Mise à jour 04 septembre 2026
Observations 15 établissements