Skip to content

Hospital de Clínicas - Analisis de datos de entrada 2019-2022

Origen de los datos

En el año 2019 se informatizó la mesa de entrada del Hospital de Clínicas, institución dependiente de la Universidad de Buenos Aires.
Los datos fueron ingresados manualmente por el personal de recepción y consolidados en un archivo .xlsx que permanece inalterado y puede ser consultado en este mismo espacio de trabajo en la ruta '/data/'. Este archivo tiene una hoja por cada año desde el 2019 hasta el 2022.

suppressPackageStartupMessages(library(tidyverse))
suppressPackageStartupMessages(library(kableExtra))

Preprocesamiento

A fin de hacer más liviana la carga de este reporte, a partir del archivo .xlsx original se han exportado cuatro archivos .csv, uno por cada hoja removiendo registros duplicados según número de trámite (este oficia como identificador único de un servicio prestado a un paciente).
Además se ha normalizado el valor en variables categóricas como el sexo, campo en el que es un error comun que para representar un mismo valor se ingresen datos con distintos criterios. Por ejemplo para pacientes de sexo femenino se tenía 'f', 'F', 'Fem' coexistiendo en el mismo campo. Todos estos datos fueron reemplazador por 'F'. En los casos en que no era interpretable se reemplazó por 'NA'.
Como los registros estaban separados en distintas hojas, no contenian el año al que pertenecían, por lo que además se agregó a cada dataframe un campo con el año al que corresponde.

Lectura de los datos

Se leen desde los archivos .csv y se crean abjetos tipo Dataframe. Estos pueden entenderse como matrices que no se restringen a un único tipo de datos y además poseen otras funcionalidades.

df_inter_2019 <- read_csv('data/internaciones2019.csv', show_col_types = FALSE)

Esta misma operación se realiza para cada archivo.

df_inter_2019 <- read_csv('data/internaciones2019.csv', show_col_types = FALSE)
df_inter_2020 <- read_csv('data/internaciones2020.csv', show_col_types = FALSE)
df_inter_2021 <- read_csv('data/internaciones2021.csv', show_col_types = FALSE)
df_inter_2022 <- read_csv('data/internaciones2022.csv', show_col_types = FALSE)
# Normalizo MOTIVO como cadena de caracteres para todos los df
df_inter_2019$MOTIVO <- as.character(df_inter_2019$MOTIVO)
df_inter_2020$MOTIVO <- as.character(df_inter_2020$MOTIVO)
df_inter_2021$MOTIVO <- as.character(df_inter_2021$MOTIVO)
df_inter_2022$MOTIVO <- as.character(df_inter_2022$MOTIVO)

# agrego el año a cada dataframe (no poseen esta informacion)
df_inter_2019$year=2019
df_inter_2020$year=2020
df_inter_2021$year=2021
df_inter_2022$year=2022

# Unifico 
df_all <- bind_rows(df_inter_2019, df_inter_2020, df_inter_2021, df_inter_2022)

Estructura del dataframe: Morfología

print(str(df_inter_2019))

Vista de algnos registros del dataframe
Se presentan algunos registros del año 2019. La estructura de los datos se mantiene para los demás años.

head(df_inter_2019, n = 20)

Explorando la población

Una vez que se visualizan y se comprende cada campo del dataset es posible plantear algunas preguntas para caracterizar la muestra ¿de dónde procede el mayor número de pacientes? ¿Cual es el motivo que se registra con mayor frecuencia? ¿Tiene el motivo correlación con algún otro campo, como el sexo o a edad del paciente? Estas y otras preguntas serán respondidas mas adelante.
Se comenzará con un análisis basado en distintas variables categóricas.

Análisis por procedencia

Se representa la cantidad de pacientes que asisten según la zona desde la cual se trasladan, siendo estas: Capital Federal, Conurbano, Interior, Exterior.

Año 2019
# Análisis de procedencia, cantidad y porcentaje
por_proc_19 = df_inter_2019 %>%
		group_by(PROCEDENCIA) %>%
		dplyr::summarise(Total=n(),Porc=round(100*Total/dim(df_inter_2019)[1],2)) %>%
		na.omit()