Coder Social home page Coder Social logo

covid19-vaccination's Introduction

Hello, world!

[JC's GitHub stats]

covid19-vaccination's People

Contributors

actions-user avatar juancri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

pescap

covid19-vaccination's Issues

Datos de vacunación

Hola, estamos trabajando en una integración completa con los datos del DEIS como hemos hecho con otros productos, sin embargo en el interinato nos gustaría usar tu archivo como fuente, para crear los productos estándares en el repo de MinCiencia. ¿Cómo citamos tu trabajo?

Cuéntame, y también si tienes algún reparo.

Saludos, y gracias.

BUG: Discrepancia en datos

Buenas @juancri,
Estamos integrando los datos por rango de edades y me di cuenta que el total de dosis administradas en los archivos chile-vaccination-ages y chile-vaccination es diferente. En concreto:

  • En chile-vaccination-ages: 15,200,840 primeras dosis y 10,676,196 segundas dosis (valores totales)
  • En chile-vaccination: 10,676,196 primeras dosis y 8,005,987 segundas dosis (valores totales)

Veo que el valor 10,676,196 aparece en metricas distintas en ambos casos.


UPDATE

Luego de echar un ojo en https://informesdeis.minsal.cl/SASVisualAnalytics/?reportUri=%2Freports%2Freports%2F9037e283-1278-422c-84c4-16e42a7026c8&sectionIndex=1&sso_guest=true&sas-welcome=false creo que se está asignando los campos originales Poblacion objetivo y 1o Dosis a primeras y segundas dosis, respectivamente. Intuyo el formato del dashboard de DEIS cambió.

Gracias de antemano!

Agregar soporte para ejecución de prueba

La idea es agregar un parámetro que permita detectar una ejecución de prueba. La ejecución de prueba podría limitar la cantidad de archivos que se descargan desde el DEIS para hacer la ejecución más rápida.

Tener esta característica podría permitir ejecutar el software luego de hacer el build en el action correspondiente.

Única dosis confundida con segunda dosis

Me parece que los output estan poniendo las vacunas de única dosis como segunda dosis, lo cual no correspondería.
Por ejemplo, en este caso cómo se podría saber qué cantidad de gente tiene una dosis aplicada? Es decir, cómo saber el número obtenido de sumar 1° dosis + única dósis?

Actualizar fechas anteriores

Según la info aportada en este issue, parece ser que el DEIS está publicando la información sobre fechas anteriores.

Debido a que el proceso actual se ejecuta una vez al día y la hora de actualización en el sitio web del DEIS no ha sido constante, pueden exitir diferencias entre los archivos de este repositorio y el DEIS.

Podemos actualizar el sistema para actualizar la información de fechas anteriores retroactivamente.

ETA: 07/02.

Aviso: Nuevo formato que incluye el tipo de vacuna

Debido a que la vacuna Sinovac necesita una sola dosis, es posible que el formato cambie una vez que comience la vacunación con esta vacuna.

No sabemos aún cómo el DEIS va a publicar ese datos. Apenas se vean un cambio en el sitio web del DEIS, voy a actualizar este issue con el nuevo formato.

Lamento la confusión. Son dos dosis para ambas vacunas. De todas formas, el DEIS comenzó a publicar, además de la información regional, la cantidad de vacunas para cada una: Pfizer-BioNTech y Sinovac (publicadas como "Campaña SARS-CoV-2 (Pfizer)" y "Campaña SARS-CoV-2 (Sinovac)" por el DEIS).

Mi objetivo es publicar una muestra del archivo lo antes posible y comenzar a generar la información nueva lo antes posible (ETA: domingo 07/02).

Para evitar interferir con proyectos que ya leen la data, lo más probable es que genere archivos nuevos.

Comentarios y sugerencias son bienvenidos.

Link estático al ultimo release?

La direccion del ultimo release parece depender de la fecha en la que se hizo el release. Como llego a este link sin saber la fecha del release? Alguna posibilidad de tener un link estatico?

Formato datos

Buenas,
He integrado tus datos en mi proyecto sin ningún problema. De todos modos, me preguntaba, si igual no sería interesante conservar el número de columnas constante? Creo que podría facilitar la integración en varios servicios.

En mi caso particular, por ejemplo, despues de procesar tus datos me quedé con un formato parecido a:

region,date,location_iso,region_iso,dose_1,dose_2
Aysén,2021-01-23,CL,CL-AI,11564,0
Aysén,2021-01-24,CL,CL-AI,160,0
Aysén,2021-01-25,CL,CL-AI,1454,0
Antofagasta,2021-01-23,CL,CL-AN,6105,0
Antofagasta,2021-01-24,CL,CL-AN,722,697
Antofagasta,2021-01-25,CL,CL-AN,2900,0
...

Gracias por tu trabajo!

Aviso: Frecuencia de actualización

Debido a que el proceso está generando más requests para generar el archivo de salida de vacunaciones por comuna, se ha cambiado la frecuencia de actualización a 1 vez cada 4 horas.

Automatizar completamente el proceso

Estoy intentando automatizar completamente el proceso.

El primer approach será utilizar puppeteer para obtener los headers necesarios (cookies y token csrf) para luego hacer los requests de los reportes.

Automatización sin navegación

Para poder incluir todos los reportes necesarios, voy a modificar el proceso de automatización para obtener algunos datos clave (token, cookies y executor ID) y así poder hacer un replay de los requests sin necesidad de utilizar puppeteer para todo el proceso.

Actualmente, puedo replicar el proceso utilizando este script:

#!/bin/bash

TOKEN="..."
SESSION_ID="..."
EXECUTOR_ID="..."

curl "https://informesdeis.minsal.cl/reportData/jobs?indexStrings=true&embeddedData=true&executorId=${EXECUTOR_ID}&wait=30&jobId=b5a530ef-47b1-443f-8559-126db49cb887f_c0&sequence=2" \
  -H "x-csrf-token: ${TOKEN}" \
  -H 'content-type: application/vnd.sas.report.query+json' \
  -H "cookie: JSESSIONID=${SESSION_ID};" \
  --data-raw '{"@element":"SASReport","xmlns":"http://www.sas.com/sasreportmodel/bird-4.2.4","nextUniqueNameIndex":9,"dataDefinitions":[{"@element":"ParentDataDefinition","name":"dd1","businessItems":[{"name":"bi4","@element":"SyntheticDataItem"},{"@element":"SyntheticItems","name":"si6","items":[{"name":"bi7","@element":"Item","purpose":"language"},{"name":"bi8","@element":"Item","purpose":"description"}]}],"childQueryRelationshipType":"independent","dataDefinitionList":[{"@element":"DataDefinition","name":"dd2","type":"procedural","proceduralQuery":{"@element":"ProceduralQuery","type":"licenseInfo","arguments":[{"@element":"Argument","purpose":"server","argumentValue":{"@element":"StringValue","value":"cas-shared-default"}},{"@element":"Argument","purpose":"type","argumentValue":{"@element":"StringValue","value":"list"}},{"@element":"Argument","purpose":"license","argumentValue":{"@element":"ReferenceValue","value":"bi4"}}]},"resultDefinitions":[{"@element":"ResultDefinition","name":"dd3","purpose":"primary"},{"@element":"ResultDefinition","name":"dd5","purpose":"languages","syntheticItemsList":["si6"]}]}]}],"sasReportState":{"@element":"SASReportState","data":{"@element":"Data_State","queryRequests":[{"@element":"queryRequest","data":"dd1","dataLevel":"custom"}]},"date":"2021-02-13T12:19:56.426Z"}}'

Recuperación de los datos DEIS para salud mental

Hola! Quiero armar un scraper del visualizador de salud mental DEIS.

Al parecer, el código para el dashboard COVID es muy similar a lo que permitiría recuperar los datos de Salud Mental. El código quedaría abierto, para servir a la comunidad.

¿Cómo sugieres que lo haga para crear un nuevo repositorio en base a tu código? Puede ser una carpeta en https://github.com/Data-Observatory, con la referencia a tu trabajo en el código y los README.md.

O si te tinca, podríamos seguir trabajando en este mismo repositorio, que se podría revivir (se podría cambiar el nombre para tener algo más general). No sé qué prefieres, hablamos!

Paralelizar requests

Tal vez es posible emitir requests en paralelo para disminuir el tiempo de ejecución

Nuevo archivo con las dosis por fabricante

Hola @juancri

Muchas gracias por poner a disposición estos datos, han sido muy útiles para nuestro trabajo en @owid.

Hoy hemos añadido un nuevo gráfico con las dosis de vacunas desglosadas por fabricante: https://twitter.com/redouad/status/1359199835056967680

Creo que la información relevante para Chile sería la última vista del dashboard del gobierno ("Total país por día"). No tengo ni idea de lo fácil que es importar esto, pero ¿hay alguna forma de que esté disponible en este repo?

Aviso: Nuevos grupos etarios

El DEIS realizó un cambio y ya no reporta los mismos grupos etarios. El archivo chile-vaccination-ages.csv incluye tanto los grupos antiguos como los nuevos. Los antiguos tienen datos sólo hasta su última actualización. Los grupos nuevos incluyen datos desde hoy.

Ejecutar el código

Al correr el código, parece que toda la parte Loading está ok, pero al llegar a la escritura de los datos de ChileVaccinationsAges tira un error: Cannot read properties of undefined (reading 'valueList').

Aviso: Nuevo formato por grupo de edades

Debido a que no existe historial en el sitio del DEIS, estoy pensando en ir agregando una columna diaria. Éste sería el formato:

Age Dose 2021-02-15
Total First 15200840
Total Second 1846093
15-17 First 0
15-17 Second 131
18-39 First 6677530
18-39 Second 391519
40-49 First 2658453
40-49 Second 149988
50-59 First 2392614
50-59 Second 116947
60-69 First 1857879
60-69 Second 179642
70-72 First 393493
70-72 Second 199332
73-74 First 221847
73-74 Second 147141
75-77 First 277482
75-77 Second 193006
78-80 First 221847
78-80 Second 156057
81-84 First 218686
81-84 Second 144545
85-86 First 78587
85-86 Second 51317
87-89 First 89617
87-89 Second 56177
90 y más First 112805
90 y más Second 60291

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.