Salud Mental en Ciudad de Buenos Aires

En el siguiente trabajo se realizará un breve análisis acerca de la Salud Mental en Ciudad de Buenos Aires, y de la cobertura de hospitales especializados en la atención de estas problemáticas.

#Librerías usadas:
library(readxl)
library(tidyverse)
library(leaflet)
library(ggmap)
library(ggplot2)
library(sf)
library(lubridate)
library(ggnewscale)
library(osmdata)
library(osrm)
library(tmaptools)
library(stringr)

Salud Mental Argentina, indicadores de la OPS

Segun los datos de la Organización Panamericana de la Salud, en Argentina las dos principales patologías que afectan en mayor medida a la población son la ansiedad y la depresión. Los valores observados corresponden al año 2019.

#Argentina: https://www.paho.org/en/enlace/burden-mental-disorders
Argentina_Salud_Mental_OPS <- data.frame(read.csv("Database/Datos Salud/OPS Argentina Desordenes mentales.csv", stringsAsFactors = TRUE))
colnames(Argentina_Salud_Mental_OPS)
##  [1] "Iso3"            "Location.Name"   "AMRO.subregions" "Causename.Eng"  
##  [5] "Year"            "Sex"             "Age.group"       "Measure.Name.En"
##  [9] "Metric.Name.En"  "Measure.Names"   "Measure.Values"
Argentina_Salud_Mental_OPS <- Argentina_Salud_Mental_OPS %>% 
  filter(Measure.Names=="Value") %>%
  filter(Metric.Name.En=="Rate") 

summary(Argentina_Salud_Mental_OPS)
##   Iso3      Location.Name      AMRO.subregions
##  ARG:65   Argentina:65    Southern Cone:65    
##                                               
##                                               
##                                               
##                                               
##                                               
##                                               
##                                   Causename.Eng      Year              Sex    
##  Anxiety disorders                       : 5    Min.   :2015   Both sexes:65  
##  Attention deficit/hyperactivity syndrome: 5    1st Qu.:2016                  
##  Autism and Asperger syndrome            : 5    Median :2017                  
##  Bipolar disorder                        : 5    Mean   :2017                  
##  Childhood behavioural disorders         : 5    3rd Qu.:2018                  
##  Conduct disorder                        : 5    Max.   :2019                  
##  (Other)                                 :35                                  
##     Age.group                                Measure.Name.En Metric.Name.En
##  All Ages:65   Disability-Adjusted Life Years (DALYs):65     Number: 0     
##                                                              Rate  :65     
##                                                                            
##                                                                            
##                                                                            
##                                                                            
##                                                                            
##    Measure.Names Measure.Values  
##  Value    :65    Min.   : 14.74  
##  Value Low: 0    1st Qu.: 64.05  
##  Value Up : 0    Median : 78.74  
##                  Mean   :177.71  
##                  3rd Qu.:233.15  
##                  Max.   :488.12  
## 
Argentina_Salud_Mental_OPS%>%
  filter(Year=="2019") %>% 
  group_by(Causename.Eng) %>% 
  ggplot(aes(x = reorder(Causename.Eng,Measure.Values), y = Measure.Values, fill=Measure.Values))+
  geom_col(alpha = 0.7)+
  scale_fill_gradient(low = "transparent", high = "#02818a")+
  coord_flip()+
  theme_minimal()+
  theme(panel.border = element_blank(), 
        panel.grid.major = element_blank(),
    legend.position = "none")+
  labs(title = "Indice de patologías en relación a la Salud Mental",
 subtitle = "Argentina - Año 2019",
 fill="DALYs*",
 x = "",
 y = "*Años vividos con una salud inferior a la óptima debido a los trastornos mentales 
 Cada 100.000 habitantes",
  caption = "Fuente: www.paho.org/en/enlace/burden-mental-disorders")+
   geom_text(aes(label = round(Measure.Values)), size = 2.8, position = position_dodge(0.9),hjust=1.5)+
  theme_classic()

Datos AMBA

##### Barrios AMBA:
amba_detail <- st_read("Database/partidos_amba.geojson", stringsAsFactors = TRUE,options = "ENCODING=UTF8")
## options:        ENCODING=UTF8 
## Reading layer `partidos_amba' from data source 
##   `C:\Users\Julia\Desktop\FLACSO\BD e Inteligencia territorial\Ciencia de Datos II\Trabajo Final CDII\Database\partidos_amba.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 48 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -59.3392 ymin: -35.23893 xmax: -57.70946 ymax: -34.23007
## Geodetic CRS:  WGS 84
partidos_censo2010<- st_read("Database/partidos_censo2010.csv", stringsAsFactors = TRUE, options = "ENCODING=UTF8")
## options:        ENCODING=UTF8 
## Reading layer `partidos_censo2010' from data source 
##   `C:\Users\Julia\Desktop\FLACSO\BD e Inteligencia territorial\Ciencia de Datos II\Trabajo Final CDII\Database\partidos_censo2010.csv' 
##   using driver `CSV'
amba_detail <- left_join(amba_detail, partidos_censo2010, by ="nombre")

amba_detail<-amba_detail %>% 
   filter(provincia =="CABA")%>% 
  mutate(pob_2010= as.character(pob_2010)) %>% 
   mutate(pob_2010= as.numeric(pob_2010))
#str(amba_detail)

sedes_direcciones <- read.csv("Database/sedes_comunales_caba.csv", encoding = "UTF-8")
sedes_direcciones <- sedes_direcciones %>%
  mutate(domicilio = paste(domicilio, ", CABA, Buenos Aires, Argentina"))

sedes_direcciones<- sedes_direcciones %>% 
  mutate(nombre= case_when(
         (substr(nombre,1,5) == "Sede " ~ str_sub(nombre, 6,-1)),
    (substr(nombre,1,8) == "Subsede " ~ str_sub(nombre, 9,-1)), 
    TRUE ~ "Unknown"))

# Barrios popula
barrios_populares<- st_read("Database/barrios_populares_2022.geojson", stringsAsFactors=TRUE,options = "ENCODING=UTF8")
## options:        ENCODING=UTF8 
## Reading layer `barrios_populares_2022' from data source 
##   `C:\Users\Julia\Desktop\FLACSO\BD e Inteligencia territorial\Ciencia de Datos II\Trabajo Final CDII\Database\barrios_populares_2022.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 5687 features and 17 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -72.21879 ymin: -54.82011 xmax: -53.64201 ymax: -22.04006
## Geodetic CRS:  WGS 84
barrios_populares<-barrios_populares%>%
  filter(provincia=="Ciudad Autónoma de Buenos Aires")
# “terrain”, “terrain-background”, “terrain-labels”, “terrain-lines”, “toner”, “toner-2010”, “toner-2011”, “toner-background”, “toner-hybrid”, “toner-labels”, “toner-lines”, “toner-lite”, “watercolor”

box_caba<-st_bbox(amba_detail)
box_caba<-as.numeric(box_caba)
str(box_caba)
##  num [1:4] -58.5 -34.7 -58.3 -34.5
map_caba<-get_stamenmap(bbox=box_caba,
                        maptype = "toner-lite",
                        zoom=15)
ggmap(map_caba)

ggmap(map_caba)+  
 geom_sf( data=amba_detail, aes(fill=pob_2010/area_km2), color=NA, inherit.aes = FALSE)+
  scale_fill_distiller(palette = "Blues",direction = 1) +
   geom_sf_text(data=amba_detail,aes(label = nombre), size=1,inherit.aes = FALSE) +
  labs(title = "Población", fill= "Población/Km2",caption = "Fuente: www.estadisticaciudad.gob.ar") +
  
new_scale_fill()+
  new_scale_color() + 
   geom_sf(data=barrios_populares %>% filter(cantidad_familias_aproximada!=0),
          aes(fill =cantidad_familias_aproximada), color= "Salmon", size=0.2, alpha=2 , inherit.aes = FALSE)+
  labs( fill="Barrios Populares
Cantidad aprox. de familias", caption = "Fuente: https://www.estadisticaciudad.gob.ar")+
scale_fill_distiller( palette = "YlOrRd", direction = 1) +
  
     theme_light()+
 theme(panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    panel.background = element_blank(),
     axis.title.x = element_blank(),
  axis.title.y = element_blank()) 

Consultas psiquiátricas en Centros de Salud y Acción Comunitaria (CeSAC)

Los Centros de Salud y Acción Comunitaria son centros para la atención primaría de la Salud. Si bien estos centros no están especializados en el área de Salud Mental, las consultas por patologías psiquiátricas han aumentado a lo largo de los años 2017, 2018 y 2019.

Consultas_CESAC2019<- read_excel("Database/Datos Salud/Consultas medicas CESAC por especialidad y comuna 2017-2019 CABA.xlsx", sheet = "2019")
Consultas_CESAC2018<- read_excel("Database/Datos Salud/Consultas medicas CESAC por especialidad y comuna 2017-2019 CABA.xlsx", sheet = "2018")
Consultas_CESAC2017<- read_excel("Database/Datos Salud/Consultas medicas CESAC por especialidad y comuna 2017-2019 CABA.xlsx", sheet = "2017")

Consultas_CESAC<-rbind(Consultas_CESAC2017,Consultas_CESAC2018)
colnames(Consultas_CESAC)
## [1] "Comuna"                    "Total"                    
## [3] "Clinica medica"            "Medicina General Familiar"
## [5] "Pediatria"                 "Psiquiatria"              
## [7] "Tocoginecología"           "Otras2"                   
## [9] "año"
library(data.table)
Consultas_CESAC2019<-setnames(Consultas_CESAC2019, "Psiquiatria1","Psiquiatria", skip_absent = TRUE )  

Consultas_CESAC<-rbind(Consultas_CESAC,Consultas_CESAC2019) 

Consultas_CESAC<-  Consultas_CESAC %>% 
  filter(Comuna != "Total") %>% 
  mutate(Psiquiatria = replace(Psiquiatria, Psiquiatria=="-", 0)) %>% 
  mutate(Psiquiatria=as.numeric(Psiquiatria)) %>% 
  mutate(Comuna=paste0("Comuna ",Comuna))
summary(Consultas_CESAC) 
##     Comuna              Total        Clinica medica    
##  Length:36          Min.   :  8502   Length:36         
##  Class :character   1st Qu.: 15310   Class :character  
##  Mode  :character   Median : 31262   Mode  :character  
##                     Mean   : 50357                     
##                     3rd Qu.: 55132                     
##                     Max.   :209344                     
##  Medicina General Familiar   Pediatria      Psiquiatria     Tocoginecología
##  Length:36                 Min.   : 1709   Min.   :   0.0   Min.   :  584  
##  Class :character          1st Qu.: 5348   1st Qu.: 207.0   1st Qu.: 2947  
##  Mode  :character          Median :13155   Median : 850.5   Median : 5550  
##                            Mean   :20059   Mean   :1274.1   Mean   : 7414  
##                            3rd Qu.:22481   3rd Qu.:1811.2   3rd Qu.: 7980  
##                            Max.   :87983   Max.   :4669.0   Max.   :24290  
##     Otras2               año      
##  Length:36          Min.   :2017  
##  Class :character   1st Qu.:2017  
##  Mode  :character   Median :2018  
##                     Mean   :2018  
##                     3rd Qu.:2019  
##                     Max.   :2019
head(Consultas_CESAC)
## # A tibble: 6 × 9
##   Comuna    Total `Clinica medica` `Medicina General Fam…` Pediatria Psiquiatria
##   <chr>     <dbl> <chr>            <chr>                       <dbl>       <dbl>
## 1 Comuna 1  13046 976              2789                         6278         771
## 2 Comuna 3  26252 4669             6328                        12315           0
## 3 Comuna 4 112064 13378            30941                       44114        1631
## 4 Comuna 5  11448 2778             -                            4491         859
## 5 Comuna 7  35530 -                14028                       14938        1411
## 6 Comuna 8 132734 9832             41591                       60349        1937
## # … with 3 more variables: Tocoginecología <dbl>, Otras2 <chr>, año <dbl>
rm(Consultas_CESAC2017)
rm(Consultas_CESAC2018)
rm(Consultas_CESAC2019)

head(Consultas_CESAC)
## # A tibble: 6 × 9
##   Comuna    Total `Clinica medica` `Medicina General Fam…` Pediatria Psiquiatria
##   <chr>     <dbl> <chr>            <chr>                       <dbl>       <dbl>
## 1 Comuna 1  13046 976              2789                         6278         771
## 2 Comuna 3  26252 4669             6328                        12315           0
## 3 Comuna 4 112064 13378            30941                       44114        1631
## 4 Comuna 5  11448 2778             -                            4491         859
## 5 Comuna 7  35530 -                14028                       14938        1411
## 6 Comuna 8 132734 9832             41591                       60349        1937
## # … with 3 more variables: Tocoginecología <dbl>, Otras2 <chr>, año <dbl>
ggplot(Consultas_CESAC %>% 
   group_by(año) %>%
         summarise(Psiquiatria=sum(Psiquiatria))) + 
  geom_col(aes(x = año, y = Psiquiatria), width=0.4,
           color="lightblue", fill="#02818a", alpha=0.9)+
  theme_minimal()+
  theme(panel.border = element_blank(), 
        panel.grid.major = element_blank(),
    legend.position = "none")+
  labs(title="Psiquiatría - Consultas en CeSACs",
       subtitle="CABA, 2017-2019",
       x="Año",
       y="Consultas",
       caption = "Fuente: www.estadisticaciudad.gob.ar")+
    geom_text(aes(x = año, y = Psiquiatria, label=Psiquiatria), vjust=1.6, color="white",   
              position = position_dodge(0.9),  size=3.0)+
  theme_classic()

Consultas CeSACs por barrio

Consultas_CESAC<- setnames(Consultas_CESAC, "Comuna", "nombre")
Consultas_CESAC<- left_join(x = amba_detail,y = Consultas_CESAC, by= "nombre")
Consultas_CESAC<- Consultas_CESAC %>% 
  filter(!is.na(año))

Mapeo

En el siguiente mapa se puede ver el incremento de las consultas dentro del área de Salud Mental durante los años 2017-2019. El mayor incremento de conultas para 2019 se dá en el sureste de CABA. Principalmente en la Comuna 8 y la Comuna 4.

ggmap(map_caba)+ 
 geom_sf( data=Consultas_CESAC, aes(fill=Psiquiatria), color=NA, alpha=0.8,inherit.aes = FALSE)+
  scale_fill_viridis_c(option = "plasma",direction = -1) +
   geom_sf_text(data=Consultas_CESAC,aes(label = nombre), size=1,inherit.aes = FALSE) +
  labs(title = "Consultas en CeSACs", fill= "Consultas", caption = "Fuente: https://www.estadisticaciudad.gob.ar") +
     theme_light()+
 theme(panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    panel.background = element_blank(),
     axis.title.x = element_blank(),
  axis.title.y = element_blank(),
  axis.ticks = element_blank(), 
  axis.text.x = element_blank(),
  axis.text.y = element_blank())+
    facet_wrap(~año)

Hospitales monovalentes especializados en Salud Mental

Los hospitales monovalentes atienden exclusivamente casos relacionados con la Salud Mental. La diferencia es que cuentan con guardías, servicios de internación, centros de día y talleres protegidos. Los Hospitales monovalentes detallados acontinuación, son los únicos hospitales de caracter público que podemos encontrar en la Ciudad Autónoma de Buenos Aires.

  • Instituciones para el tratamiento de la Salud Mental:
  • Hospital de Emergencias Psiquiátricas Torcuato de Alvear Warnes 2630 Agronomía
  • Hospital de Salud Mental Borda Dr. Ramón Carrillo 375 Barracas
  • Hospital de Salud Mental Braulio Moyano Brandsen 2570 Barracas
  • Hospital de Salud Mental infanto-juvenil Tobar García Dr. Ramón Carrillo 315 Barracas

Información obtenida de https://www.buenosaires.gob.ar/salud/hospitales-especializados

Consultas_Hospitales<- read_excel("Database/Datos Salud/Consultas externas por hospital 1980-2019 CABA.xlsx", sheet = "S_MVH_AX03")
colnames(Consultas_Hospitales)
##  [1] "Hospital" "1980"     "1985"     "1990"     "1991"     "1992"    
##  [7] "1993"     "1994"     "1995"     "1996"     "1997"     "1998"    
## [13] "1999"     "2000"     "2001"     "2002"     "2003"     "2004"    
## [19] "2005"     "2006"     "2007"     "2008"     "2009"     "2010"    
## [25] "2011"     "2012"     "2013"     "2014"     "2015"     "2016"    
## [31] "2017"     "2018"     "2019"
Consultas_Hospitales<-Consultas_Hospitales %>% 
  select(Hospital,`2017`,`2018`,`2019`) %>% 
  filter(Hospital=="Alvear"|Hospital=="Borda"|Hospital=="Moyano"|Hospital=="Tobar García") %>%
 mutate(across('2017':'2019', as.character)) %>% 
  pivot_longer(names_to = "año", cols='2017':'2019') 

Tabla <- matrix (c ("Alvear", "Avenida Warnes 2630", "Emergencias/Adultos y Adolescentes","Bonaparte","Combate de los Pozos 2133","Addiciones/ Adultos", "Borda", "Dr. Ramón Carrillo 375","Adultos Hombres", "Moyano","Brandsen 2570", "Mujeres Adultas", "Tobar García","Dr. Ramón Carrillo 315","Infanto Juvenil"), ncol = 3 , byrow = TRUE )
colnames(Tabla) <-c("Hospital", "Dirección", "Tipo de Internación")
Tabla <- as.data.frame(Tabla)
Tabla <- Tabla %>% 
  mutate(Dirección=paste(Dirección,", Ciudad Autónoma de Buenos Aires, Argentina"))

Consultas_Hospitales<- right_join(Consultas_Hospitales,Tabla,by= "Hospital")

Consultas_Hospitales<-Consultas_Hospitales %>%
  mutate(value = replace(value, is.na(value), 0)) %>% 
  mutate(value=as.numeric(value)) 

Consultas por Hospital

ggplot(Consultas_Hospitales %>% 
         filter(año!=0))+ 
  geom_col(aes(x = año, y = value), width=0.4,
           color="lightblue", fill="#02818a", alpha=0.9)+
  theme_minimal()+
  theme(panel.border = element_blank(), 
        panel.grid.major = element_blank(),
    legend.position = "none")+
  labs(title="Psiquiatría - Consultas Hospirales Especializados",
       subtitle="CABA, 2017-2019",
       x="Año",
       y="Consultas",
       caption = "Fuente: www.estadisticaciudad.gob.ar")+
    geom_text(aes(x = año, y = value, label=value), vjust=1.6, color="white",   
              position = position_dodge(0.9),  size=3.0)+
  theme_classic()+
  facet_wrap(~Hospital)

#Geolocalización
#Caja de coordenadas OpenStreetMap:

bbox_caba <- getbb("Ciudad Autónoma de Buenos Aires, Argentina")
mapa_caba <- get_stamenmap(bbox = bbox_caba, zoom = 12,maptype = "toner-lite")
ggmap(mapa_caba)

polygon_caba <- getbb('Ciudad Autonoma de Buenos Aires', format_out = "sf_polygon")
polygon_caba <- Reduce(rbind, polygon_caba)
class(polygon_caba)
## [1] "sf"         "data.frame"
polygon_caba <- polygon_caba %>%
         mutate(ID=row.names(polygon_caba))
polygon_caba <- polygon_caba[1,]

ggmap(mapa_caba)+
  geom_sf(data=polygon_caba, fill=NA, color="#CD661D", size=0.5, inherit.aes = FALSE, alpha=0.5)+
  labs(title="Ciudad Autónoma de Buenos Aires, Argentina",
       caption="Fuente: Open Street Map")

funcion_hospitales <- function(x)
  {df <- geocode_OSM(x, as.data.frame = TRUE, keep.unfound=TRUE)} 

Comunas y hospitales

comunas_caba<-list(sedes_direcciones$domicilio)
comunas_caba <- pmap(comunas_caba, funcion_hospitales)
comunas_caba <- comunas_caba %>% 
  reduce(rbind)
comunas_caba<- left_join(comunas_caba, sedes_direcciones, by=c("query"="domicilio"))
summary(comunas_caba)
##     query                lat              lon            lat_min      
##  Length:20          Min.   :-34.68   Min.   :-58.52   Min.   :-34.69  
##  Class :character   1st Qu.:-34.63   1st Qu.:-58.48   1st Qu.:-34.63  
##  Mode  :character   Median :-34.61   Median :-58.44   Median :-34.61  
##                     Mean   :-34.61   Mean   :-58.44   Mean   :-34.61  
##                     3rd Qu.:-34.59   3rd Qu.:-58.41   3rd Qu.:-34.59  
##                     Max.   :-34.55   Max.   :-58.38   Max.   :-34.55  
##     lat_max          lon_min          lon_max          nombre         
##  Min.   :-34.68   Min.   :-58.52   Min.   :-58.52   Length:20         
##  1st Qu.:-34.63   1st Qu.:-58.48   1st Qu.:-58.48   Class :character  
##  Median :-34.61   Median :-58.44   Median :-58.44   Mode  :character  
##  Mean   :-34.61   Mean   :-58.45   Mean   :-58.44                     
##  3rd Qu.:-34.59   3rd Qu.:-58.41   3rd Qu.:-58.41                     
##  Max.   :-34.55   Max.   :-58.38   Max.   :-58.38
hospitales_caba<-list(Consultas_Hospitales$Dirección)
hospitales_caba <- pmap(hospitales_caba, funcion_hospitales)
hospitales_caba <- hospitales_caba %>% 
  reduce(rbind)
summary(hospitales_caba)
##     query                lat              lon            lat_min      
##  Length:13          Min.   :-34.64   Min.   :-58.48   Min.   :-34.64  
##  Class :character   1st Qu.:-34.64   1st Qu.:-58.39   1st Qu.:-34.64  
##  Mode  :character   Median :-34.64   Median :-58.39   Median :-34.64  
##                     Mean   :-34.63   Mean   :-58.41   Mean   :-34.63  
##                     3rd Qu.:-34.63   3rd Qu.:-58.38   3rd Qu.:-34.63  
##                     Max.   :-34.60   Max.   :-58.38   Max.   :-34.60  
##     lat_max          lon_min          lon_max      
##  Min.   :-34.64   Min.   :-58.48   Min.   :-58.48  
##  1st Qu.:-34.63   1st Qu.:-58.39   1st Qu.:-58.39  
##  Median :-34.63   Median :-58.39   Median :-58.39  
##  Mean   :-34.63   Mean   :-58.41   Mean   :-58.40  
##  3rd Qu.:-34.63   3rd Qu.:-58.39   3rd Qu.:-58.38  
##  Max.   :-34.60   Max.   :-58.38   Max.   :-58.38
leaflet(comunas_caba) %>%
    addProviderTiles(providers$CartoDB.Positron) %>% 
  addCircleMarkers(~lon, ~lat,
                   color ="#F5C710",
                   popup = paste("Sede: ",comunas_caba$nombre))
mapa_hospitales <- Consultas_Hospitales %>% 
  left_join(hospitales_caba, by=c("Dirección"="query"))

Cada uno de estos hospitales se especializa en un segmento poblacional o problemática particular. En el siguiente mappeo se muestra la ubicación de cada hospital con sus respectivas especificidades.

amba_detail<- amba_detail %>% mutate(pob_calculo=pob_2010/area_km2) %>% mutate(pob_calculo=as.integer(pob_calculo)) %>% mutate(pob_calculo=as.numeric(pob_calculo))
barrios_populares<- barrios_populares %>% 
  filter(cantidad_familias_aproximada!=0)

palette_1<- colorFactor(palette= "Set1", 
levels = mapa_hospitales$`Tipo de Internación`,alpha = 0)

Palette_2<- colorNumeric(palette = "Blues",  
                          domain = amba_detail$pob_calculo,
                        alpha = 0)
Palette_3 <- colorFactor(palette = "YlOrRd", domain=barrios_populares$cantidad_familias_aproximada, alpha = 0)

leaflet(mapa_hospitales) %>%
    addProviderTiles(providers$CartoDB.Positron) %>% 
    addPolygons(data = amba_detail, color="grey",
              weight = 0.5, smoothFactor = 0.2,
              opacity = 1,
              fillOpacity = 0.5,
              fillColor = ~Palette_2(amba_detail$pob_calculo), label = amba_detail$nombre) %>%
  
  addPolygons(data = barrios_populares,
              color="grey",
              weight = 0.5, smoothFactor = 0.2,
              opacity = 1,
              fillOpacity = 0.5,
              fillColor = ~Palette_3(barrios_populares$cantidad_familias_aproximada)) %>% 
  
  addCircleMarkers(color = ~palette_1(mapa_hospitales$`Tipo de Internación`),
                   popup = paste("Nombre: ",mapa_hospitales$Hospital, "<br>", "Tipo: ", Tabla$`Tipo de Internación`)) %>% 
  
  addLegend("bottomleft", pal = palette_1, values = ~`Tipo de Internación`,
            title = "Tipo de Internación",
            opacity = 2) %>% 
  
  addLegend( "bottomright", pal= Palette_2, values=~amba_detail$pob_calculo, title= "Población")

Al ubicar en el mapa las coordenadas encontré que en el sureste de la Ciudad, lugar donde en el mapa “Consultas en CeSACS” se detecta la mayor cantidad de consultas, se encuentran concentrados cuatro de los cinco hospitales especializados. Si bien estos hospitales estan ubicados en la Comuna 4 (la cual tiene una densidad poblacional baja), las comunas mayormente pobladas (Comunas 3,5 y 6) son vecinas y tienen por lo tanto facil acceso a estos hospitales. Al igual que los barrios populares que se ubican mayoritariamente al sur.

La concentración de estos hospitales en el extremo Sureste de la ciudad hace que la coberture hospitalaria no se encuentre del todo bien repartidad si tomamos en consideración el resto de las comunas. El hospital Alvear, especializado en urgencias, es el hospital más cercano para las Comunas del Norte, Centro y Oeste de la Ciudad.

ruteo_funcion <- function(nombre_origen, lon_origen, lat_origen,
                          nombre_destino, lon_destino, lat_destino) {
  ruta <- osrmRoute(src = c(nombre_origen, lon_origen, lat_origen),
                    dst = c(nombre_destino, lon_destino, lat_destino), 
                    returnclass = "sf",
                    overview = "full",
                    osrm.profile = "car")
}
mapa_hospitales<- mapa_hospitales %>%
  rename(nombre= Hospital)

rm(Alvear)
Alvear<-mapa_hospitales %>% 
  filter(!duplicated(mapa_hospitales$nombre)) %>% 
  filter(nombre == "Alvear") 

Alvear <-list(Alvear$nombre,
             Alvear$lon, Alvear$lat, 
              comunas_caba$nombre, comunas_caba$lon, comunas_caba$lat)

Alvear<-pmap(Alvear,ruteo_funcion) %>% 
  reduce(rbind)

Alvear %>%
  filter(distance==min(distance))
## Simple feature collection with 1 feature and 4 fields
## Geometry type: LINESTRING
## Dimension:     XY
## Bounding box:  xmin: -58.47505 ymin: -34.59785 xmax: -58.43925 ymax: -34.58598
## Geodetic CRS:  WGS 84
##                      src        dst duration distance
## Alvear_Comunal 15 Alvear Comunal 15    6.495   4.1364
##                                         geometry
## Alvear_Comunal 15 LINESTRING (-58.47505 -34.5...
summary(Alvear)
##      src                dst               duration         distance     
##  Length:20          Length:20          Min.   : 6.495   Min.   : 4.136  
##  Class :character   Class :character   1st Qu.: 9.625   1st Qu.: 5.386  
##  Mode  :character   Mode  :character   Median :12.194   Median : 7.816  
##                                        Mean   :12.082   Mean   : 7.704  
##                                        3rd Qu.:15.058   3rd Qu.: 9.819  
##                                        Max.   :19.303   Max.   :13.469  
##           geometry 
##  LINESTRING   :20  
##  epsg:4326    : 0  
##  +proj=long...: 0  
##                    
##                    
## 
Palette_distancia<- c(low="#CDCD00",high="#FF7F00")

leaflet(Alvear) %>% 
  addProviderTiles(providers$CartoDB.Positron)%>%
    addPolylines(color = ~colorNumeric(Palette_distancia,Alvear$distance)(distance),label = paste("Desde ", Alvear$dst), weight = 4, opacity = 10) %>% 
  
addCircleMarkers(data = comunas_caba, ~lon, ~lat,
                   color = "#53868B",
                   popup = paste("Sede: ",comunas_caba$nombre),
                 fillOpacity = 8,
                 radius = 5) %>% 
  
  addCircleMarkers( data=(mapa_hospitales %>% filter(nombre=="Alvear"))
                    , ~lon, ~lat,
                    color = "#FF4040", radius = 5, opacity = 0.1,
                   popup = paste("Nombre: ",mapa_hospitales$Hospital, "<br>", "Tipo: ", Tabla$`Tipo de Internación`))  %>% 
  
  addAwesomeMarkers(data=(mapa_hospitales %>% filter(nombre=="Alvear"))
                    , ~lon, ~lat) %>% 
  
   addCircleMarkers( data=(mapa_hospitales %>% filter(nombre!="Alvear"))
                    , ~lon, ~lat,
                    color = ~palette_1(mapa_hospitales$`Tipo de Internación`), 
                    radius = 7,
                    fillOpacity = 0.1, weight = 2,
                   popup = paste("Nombre: ",mapa_hospitales$nombre, "<br>", "Tipo: ", Tabla$`Tipo de Internación`)) %>% 

addLegend(data=mapa_hospitales, position =  "bottomleft", pal = palette_1, values = mapa_hospitales$`Tipo de Internación`,
            title = "Tipo de Internación",
            opacity = 0.5)

Conclusiones

Si bien durante los años 2017-2019 ha aumentado el número de consultas en el área de Salud Mental en general, llama la atención el crecimiento en la zona sureste de la Ciudad. Podría esperarse que hubiese mayor número de consultas en las comunas más densamente pobladas, pero no es el caso si analizamos los mapas construidos. Por otro lado, si bien los hospitales monovalentes se encuentran concentrados en el sureste, vemos que para el resto de la ciudad no hay hospitales especializados de cercanía. Del trabajo realizado me surge el interrogante si ante el aumento de las consultas por patologías psiquiatricas que viene en aumento constante, y la ya conocida saturación de las instituciones especializadas, los hospitales generales podrán hacer frente a la atención de la Salud Mental, y si las intalaciones y el acceso a dicha antención se podrá garantizar a todas las comunas por igual.