5.2 Dataset de unidades de salud

hospitales <- vroom::vroom("data/hospitales.tsv") %>%
  janitor::clean_names() %>%
  mutate(municipality_id = as.character(municipality_id), 
         state_id = as.character(state_id))

 hospitales <- hospitales %>% 
  dplyr::mutate(state = replace(state, state == "Michoacán de Ocampo", "Michoacán"),
                state = replace(state, state == "Veracruz de Ignacio de la Llave", "Veracruz"),
                state = replace(state, state == "Coahuila de Zaragoza", "Coahuila"))

5.2.1 Obtener el número de unidades de salud en cada municipio

hospitales_by_mun <- hospitales %>% 
  dplyr::select(municipality_id, municipality, state, clues) %>%
  ## Nos aseguramos de contar una sola vez cada institución
  dplyr::distinct() %>%
  ## Agrupamos por variables geográficas y contamos
  dplyr::group_by(municipality_id, municipality, state) %>%
  ## Contamos las instituciones dado el agrupamiento y renombramos 
  ## la variable n
  dplyr::tally(name = "total")

head(hospitales_by_mun)
## # A tibble: 6 × 4
## # Groups:   municipality_id, municipality [6]
##   municipality_id municipality          state   total
##   <chr>           <chr>                 <chr>   <int>
## 1 10001           Canatlán              Durango    19
## 2 10002           Canelas               Durango     6
## 3 10003           Coneto de Comonfort   Durango     4
## 4 10004           Cuencamé              Durango    18
## 5 10005           Durango               Durango   160
## 6 10006           General Simón Bolívar Durango     9
vroom_write(hospitales_by_mun, "data/hospitales_by_mun.tsv")

5.2.2 Obtener el número de unidades de salud en cada municipio por institución

hospitales_by_mun_inst <- hospitales %>% 
  dplyr::select(municipality_id, municipality, state, clues, institution) %>%
  ## Nos aseguramos de contar una sola vez cada institución
  dplyr::distinct() %>%
  ## Agrupamos por variables geográficas y contamos
  dplyr::group_by(municipality_id, municipality, state, institution) %>%
  ## Contamos las instituciones dado el agrupamiento y renombramos 
  ## la variable n
  dplyr::tally(name = "total")

head(hospitales_by_mun_inst)
## # A tibble: 6 × 5
## # Groups:   municipality_id, municipality, state [2]
##   municipality_id municipality state   institution    total
##   <chr>           <chr>        <chr>   <chr>          <int>
## 1 10001           Canatlán     Durango IMSS               1
## 2 10001           Canatlán     Durango IMSS-BIENESTAR     8
## 3 10001           Canatlán     Durango ISSSTE             3
## 4 10001           Canatlán     Durango SMP                3
## 5 10001           Canatlán     Durango SSA                4
## 6 10002           Canelas      Durango IMSS-BIENESTAR     1
vroom_write(hospitales_by_mun_inst, "data/hospitales_by_mun_inst.tsv")

5.2.3 Obtener el número de unidades de salud en cada municipio según el tipo de servicios que ofrecen

hospitales_by_mun_serv <- hospitales %>% 
  dplyr::select(municipality_id, municipality, state, clues, establishment_type) %>%
  ## Nos aseguramos de contar una sola vez cada institución
  dplyr::distinct() %>%
  ## Agrupamos por variables geográficas y tipo de servicio y contamos
  dplyr::group_by(municipality_id, municipality, state, establishment_type) %>%
  ## Contamos las instituciones dado el agrupamiento y renombramos 
  ## la variable n
  dplyr::tally(name = "total")

head(hospitales_by_mun_serv)
## # A tibble: 6 × 5
## # Groups:   municipality_id, municipality, state [4]
##   municipality_id municipality        state   establishment_type  total
##   <chr>           <chr>               <chr>   <chr>               <int>
## 1 10001           Canatlán            Durango De consulta externa    15
## 2 10001           Canatlán            Durango De hospitalización      4
## 3 10002           Canelas             Durango De consulta externa     6
## 4 10003           Coneto de Comonfort Durango De consulta externa     4
## 5 10004           Cuencamé            Durango De consulta externa    17
## 6 10004           Cuencamé            Durango De hospitalización      1
vroom_write(hospitales_by_mun_serv, "data/hospitales_by_mun_serv.tsv")

5.2.4 Obtener el número de camas en las unidades de salud en cada municipio por institución

camas_by_mun_inst <- hospitales %>% 
  dplyr::select(municipality_id, municipality, state, institution, beds) %>%
  ## Agrupamos por variables geográficas y hacemos un summary
  dplyr::group_by(municipality_id, municipality, state, institution) %>%
  dplyr::summarise(camas = sum(beds)) %>%
  ## Eliminamos las entradas de las instituciones que no tienen camas
  ## en los municipios
  dplyr::filter(camas > 0)

head(camas_by_mun_inst)
## # A tibble: 6 × 5
## # Groups:   municipality_id, municipality, state [3]
##   municipality_id municipality state   institution camas
##   <chr>           <chr>        <chr>   <chr>       <dbl>
## 1 10001           Canatlán     Durango IMSS            3
## 2 10001           Canatlán     Durango SMP            15
## 3 10001           Canatlán     Durango SSA            14
## 4 10004           Cuencamé     Durango SSA            40
## 5 10005           Durango      Durango IMSS          273
## 6 10005           Durango      Durango ISSSTE        105
vroom_write(camas_by_mun_inst, "data/camas_by_mun_inst.tsv")