Giter Site home page Giter Site logo

rodrigozepeda / capacidadhospitalariamx Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 3.0 1.11 GB

Repositorio con datos públicos y modelos para predicción de capacidad hospitalaria en México

License: MIT License

Python 1.08% R 3.74% Stan 4.73% Shell 0.15% HTML 58.03% TeX 0.49% Roff 31.78%
mexico covid19 covid19-data datos datos-abiertos datos-gob-mx scrapper-script covidmx datos-mexico red-irag

capacidadhospitalariamx's Introduction

CapacidadHospitalariaMX

⚠️ La actualización de información se realiza a las 3 am automáticamente. En caso de que no pase levanta un issue.

Capacidad Hospitalaria MX

Para ir al sitio web: https://rodrigozepeda.github.io/CapacidadHospitalariaMX

Paquete covidmx en rstats

Para analizar en R los datos de esta publicación instala el paquete covidmx:

#remotes::install_github("RodrigoZepeda/covidmx")
ocupacion <- covidmx::descarga_datos_ocupacion_hospitalaria()

Nota Si usas los datos del paquete cita esta publicación así como el paquete covidmx.

Información

El presente repositorio contiene los datos de capacidad hospitalaria divulgados por la Secretaría de Salud a través del portal de la UNAM https://www.gits.igg.unam.mx/red-irag-dashboard/reviewHome#

Datos

Los datos puedes encontrarlos con el siguiente DOI: 10.17605/OSF.IO/9NU2D. En dicho repositorio los datos descargados sin procesar están en la carpeta [estatal/] o [unidad_medica] según desees los datos desagregados por unidad o sólo por entidad. Se han procesado las bases pegando todas las fechas en [procesadas] para generar una única base de estados y una única de unidades. Te sugiero usar esas.

Para evitar que eventualmente quiten los vínculos a las bases éstas se encuentran ya publicadas con el siguiente DOI 10.17605/OSF.IO/9NU2D así como en este repositorio de Github

Datos faltantes

La información del 2022-05-21 y 2022-05-22 no está disponible en la página de la UNAM y por tanto no está disponible aquí.

Apariciones

Se han usado en Serendipia.

Si usas este repositorio en algo, ¡avísame para ponerlo aquí!

Predicciones

Predicciones de ocupación hospitalaria

En la carpeta predicted/ puedes encontrar las imágenes de ocupación hospitalaria predichas y el csv de donde salen los datos.

En la carpeta model/ puedes encontrar el modelo usado.

Descarga de datos via chromedriver

Si deseas descargar los datos por ti misma, el archivo scripts/descarga_estatal.py contiene el webscrapper para entrar al portal y bajar los datos de manera automática. Para hacerlo es necesario que tengas chromedriver (descarga aquí) vinculado a '/usr/local/bin/chromedriver' y GoogleChrome o Chromium.

En caso contrario, dentro del archivo es necesario que cambies las primeras líneas:

direccion_chromedriver = '/usr/local/bin/chromedriver'

Para correrlo basta con hacer:

#Descarga todas las fechas que no tengas en tu carpeta
python3 scripts/descarga_estatal.py

y de manera automática realiza la descarga. Para fechas específicas:

#Descarga desde "2020-09-12"  hasta "2020-09-15"
python3 scripts/descarga_estatal.py "2020-09-12" "2020-09-15" 

o bien descargar a partir de un momento

#Descarga desde "2021-01-01" hasta el día de ayer
python3 scripts/descarga_estatal.py "2021-01-01"

Ojo Te recomiendo ir de 20 en 20 días porque si no arroja error.

Automatización de la descarga

En Linux puedes usar un crontab como sigue:

00 15 * * * export DISPLAY=:0 && /bin/sh /directorio/a/CapacidadHospitalariaMX/download_only.sh > /dev/null 2>&1

para saber qué número de display tienes:

env | grep 'DISPLAY'

Limpieza de datos

El archivo scripts/genera_base_unica.R se encarga de generar una única base en .rds con la información completa.

Gráfica

El archivo scripts/grafica_ocupacion.R se encarga de generar la gráfica diaria de ocupación.

Generación del modelo

El archivo model/fit_model_hosp_multistate.R se encarga de generar las predicciones a partir del modelo programado en STAN.

Sitio web

El sitio del modelo está dentro de [docs]. Siéntete en libertad de ayudarnos a mejorar su interactividad.

¡Colabora!

Ve las guías de colaboración. Una buena idea del modelo es checar los issues y ver cuáles se sugieren como commits iniciales.

Nota Disculpa si no tengo mucho tiempo para esto. Lo mantengo lo mejor que puedo.

capacidadhospitalariamx's People

Contributors

nasaul avatar rodrigozepeda avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

capacidadhospitalariamx's Issues

Partes que no cargan en el headless

Usando chrome en headless como la más reciente actualización me arroja el siguiente error de que no puede encontrar el elemento. No sé si es algo mío por ahora voy a devolver el código a sin headless.

Traceback (most recent call last):
  File "scripts/descarga_estatal.py", line 106, in <module>
    browser.find_element_by_xpath("/html/body/section/section[2]/div[2]/section/article[2]/article/div[1]/nav/ul/li[1]/a").click()
  File "/usr/local/Caskroom/miniconda/base/envs/capacidadhospitalaria/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/usr/local/Caskroom/miniconda/base/envs/capacidadhospitalaria/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "/usr/local/Caskroom/miniconda/base/envs/capacidadhospitalaria/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/Caskroom/miniconda/base/envs/capacidadhospitalaria/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <a href="estatal">...</a> is not clickable at point (369, 145). Other element would receive the click: <a data-source="resumen" data-scale="no-scale" class="secTab tabItem" href="resumen">...</a>
  (Session info: headless chrome=95.0.4638.69)

Modelo nivel CLUES

Crear un modelo que prediga el % de ocupación hospitalaria para nivel CLUES

Agregar whitepaper y FAQ

Agregar descripción del modelo para que sea más fácil trabajar con él y sección de preguntas frecuentes para quien ve el modelo.

Evaluación ambigua

"Capacidad predictiva. Este repositorio es para construir modelos que nos sirvan para saber cómo se va ser la ocupación hospitalaria en el país. No necesitamos que el modelo explique, sólo que prediga."
Lo anterior no define un método de selección de modelos o bondad de ajuste, además el código no ejemplifica ninguna prueba efectuada hacerca de la evaluación del resultado. Bajo este enfoque todo es subjetivo.

Selenium sin abrir chrome

Por ahora la única forma en la que corre es abriendo el UI lo cual nos impide correrlo en un docker. Ver si podemos reescribir el archivo de descarga para que corra sin abrir chrome

intif2

los nombres de las variables de initf2 no están correctos

Permitir pip install de todo / conda install

Por ahora la descarga es un desastre porque además de las librerías de Python necesitas bajar R y sus librerías y luego librerías aparte (ghostscript). Hay que acomodar todo en algún mecanismo donde sea fácil instalar (o maybe dockerizar todo?)

Efecto de semana santa / Navidad

Agregar al modelo efecto de puente / semana santa / Navidad de tal forma que los coeficientes sean positivos (en teoría debería haber + casos).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.