Comments (13)
Pessoal, implementei um script que pega os dados da tabela caso
e gera, desde a primeira data até a última que temos, uma planilha com um registro por município por dia (além de um registro por estado por dia e um registro por "Importados/Indefinidos" por dia). Caso a Secretaria Estadual de Saúde não tenha publicado dados para aquele município naquele dia, o script colocará o dado mais recente possível (de alguma data anterior a date
) e sinalizará isso nas colunas is_fake
e last_available_date
.
Seguem os links relavantes:
- Issue para implementação dessa funcionalidade
- Branch em que estou trabalhando na funcionalidade
- Documentação de como ficará a API da tabela
caso-full
- Arquivo
caso-full.csv.gz
para download
@wcota você poderia testar se essa solução funciona para vocês? Nota: a API dessa tabela ainda não está disponível (só estará quando eu validar com vocês), mas vocês já conseguem baixar o arquivo.
from covid19br.
Qualquer dúvida para migrar podem contar comigo.
from covid19br.
@wcota se eu fizer um script que resolve isso, vc poderia adicioná-lo nesse repositório e usar a partir daí?
from covid19br.
Atualização: adicionei as colunas new_confirmed
e new_deaths
, que podem ajudar em diversas análises (tanto o script quando o CSV foram atualizados).
from covid19br.
@turicas com certeza! Enquanto isso alguns casos de municípios estou obtendo pelo brasil.io, comparando com a última atualização. Já facilitou bastante o trabalho. A ideia é conseguirmos obter a linha temporal do brasil.io a mais parecida possível com a atual em https://github.com/wcota/covid19br/blob/master/cases-brazil-cities-time.csv
Para chegar nesse CSV você precisa filtrar da nova tabela caso_full
somente os casos de municípios que possuem casos: SELECT COUNT(*) FROM caso_full WHERE place_type = 'city' AND last_available_confirmed > 0
(se você rodar o analysis.sh
ele gera um banco de dados SQLite, caso adicione um arquivo SQL na pasta sql/
ele executará pra você e gerar o CSV).
from covid19br.
@wcota mais uma atualização: adicionei uma coluna chamada had_cases
: ela só vira True
a partir da data em que o município confirmou o primeiro caso. Dessa forma, para gerar o arquivo cases-brazil-cities-time.csv
precisamos apenas filtrar por place_type = 'city' AND had_cases = 'True'
e depois adicionar os dados a nível nacional.
Eu criei um script para baixar os dados mais atuais do Brasil.IO, gerar uma base de dados SQLite e executar alguns arquivos SQL, extraindo os resultados: chama-se analysis.sh
. A partir desse script, criei algumas views para extrair os dados para ti, no formato do seu CSV. Colei os códigos SQL abaixo, mas se você clonar meu repositório, salvar esses 2 arquivos SQL e rodar ./analysis.sh
você terá o mesmo resultado que eu:
Views de apoio (arquivo sql/wcota-setup.sql
):
DROP VIEW IF EXISTS wcota_cities_cases;
CREATE VIEW wcota_cities_cases AS
SELECT
date,
'Brazil' AS country,
state,
(city || "/" || state) AS city,
city_ibge_code AS ibgeID,
new_confirmed AS newCases,
last_available_confirmed AS totalCases
FROM caso_full
WHERE
place_type = 'city'
AND had_cases = 'True';
DROP VIEW IF EXISTS wcota_country_cases;
CREATE VIEW wcota_country_cases AS
SELECT
d.date,
'Brazil' AS country,
'TOTAL' AS state,
'TOTAL' AS city,
0 AS ibgeID,
SUM(c.new_confirmed) AS newCases,
SUM(c.last_available_confirmed) AS totalCases
FROM all_dates AS d
JOIN caso_full AS c
ON d.date = c.date
WHERE
c.place_type = 'city'
AND c.had_cases = 'True'
GROUP BY
d.date;
DROP VIEW IF EXISTS wcota_cases_brazil_cities_time;
CREATE VIEW wcota_cases_brazil_cities_time AS
SELECT * FROM wcota_cities_cases
UNION
SELECT * FROM wcota_country_cases;
Query para extração (arquivo sql/wcota.sql
):
SELECT
*
FROM wcota_cases_brazil_cities_time
ORDER BY
date,
country,
state,
city;
Executei agora e gerei esse arquivo: data/analysis/wcota.csv.gz
. Você poderia conferir, por favor?
Acho que a partir de agora você não depende de mais nada do meu lado para fazer a migração. ;)
from covid19br.
Olá!
O que pode acontecer é que algumas secretarias corrigem certas informações como a cidade de residência e de alguma forma temos de estimar algumas datas. Em especial, a Secretaria de Saúde de São Paulo costuma ficar alguns dias sem divulgar a relação de cidades, dificultando muito a estimativa da série temporal (semana passada ficou 5 dias sem apresentar isso, e ainda não saíram os boletins dos dias 28 e 29/03). Além disso, estou recebendo reclamações de moradores do interior de SP de que o número de confirmações está muito menor: a secretaria estadual está demorando muito para computá-las!
O que fazemos é tentar manter o número total de casos registrados, estimando da melhor forma possível a série histórica nessas situações.
Acho importante ter esse outro ótimo trabalho do brasil.io feito em paralelo justamente para checarmos esse tipo de informação.
from covid19br.
@wcota parece que os dados do brasil.io não tem a incidência (casos novos por dia), que seria a coluna newCases
deste repositório. Dessa forma, fica complicado fazer diversas aplicações (e.g. estimar necessidade de UTI e leitos de hospitais).
from covid19br.
@wcota parece que os dados do brasil.io não tem a incidência (casos novos por dia), que seria a coluna
newCases
deste repositório. Dessa forma, fica complicado fazer diversas aplicações (e.g. estimar necessidade de UTI e leitos de hospitais).
Sim! Estou em contato com o pessoal de lá para melhorar a série histórica deles. Já tenho tudo pronto para gerar os arquivos no mesmo formato atual dos meus, mas utilizando o deles como base. Mas realmente, tem muita diferença na série histórica ainda.
Enquanto isso continuo a atualização independente!
from covid19br.
@wcota se fores colocar aqui e quiseres um review, faz uma PR e me marca que eu posso dar uma olhada.
from covid19br.
Opa! Problemas técnicos quanto à migração não tenho nenhum. O problema é a escala temporal por municípios obtida a partir dos dados do brasil.io que estão totalmente bagunçadas, como comentei no chat lá no Telegram.
from covid19br.
@turicas com certeza! Enquanto isso alguns casos de municípios estou obtendo pelo brasil.io, comparando com a última atualização. Já facilitou bastante o trabalho. A ideia é conseguirmos obter a linha temporal do brasil.io a mais parecida possível com a atual em https://github.com/wcota/covid19br/blob/master/cases-brazil-cities-time.csv
from covid19br.
Perfeito! Muito obrigado, @turicas. Já fiz a migração para combinar os dados do Brasil.IO + Ministério da Saúde + casos recém divulgados. Aparentemente está tudo funcionando bem, e eventuais diferenças na linha do tempo podem ocorrer, mas não são graves.
De qualquer forma, deixei o branch https://github.com/wcota/covid19br/tree/old com os dados antes da migração.
from covid19br.
Related Issues (20)
- commit 37c34f8, Curitiba, faltando novos casos e obitos. HOT 3
- Commit 6936053 faltando dado de vários estados HOT 3
- Casos Ativos HOT 2
- Recoveries Doubling in State Data HOT 1
- Arquivo cases-brazil-cities-time.csv não foi atualizado e cases-brazil-cities-time.csv.gz foi HOT 1
- 07/11 e 08/11 com vários valores de novos casos negativos HOT 1
- FinMango - Data Publishing License
- Mudança de dados entre datas HOT 2
- Dúvida
- 0 deaths now appearing in some municipalities after data update HOT 4
- Série temporal de vacinação HOT 2
- Recuperados por 100 mil habitantes HOT 1
- Dados do MS-SUS HOT 2
- NewDeaths e NewCases estão com 0 no dia 2021-05-16 HOT 1
- Vaccination data for municipalities HOT 7
- Atualização dos dados HOT 1
- Arquivo "cases-brazil-cities-time.csv.gz" perdeu observações HOT 4
- Número de casos confirmados por municípios agora só contém os dados de 2022 HOT 2
- Fix git history (and new temporary data repository)
- Colunas com valores "congelados" HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from covid19br.