DataPackage Viewer


Daily time series on COVID-19 in Brazil

Data on the evolution of the COVID-19 disease in Brazil, processed from each state Health Secretariat's COVID-19 daily reports. — Read more

Data Files

boletim

Field Information

Field Name Order Type (Format) Description
date 1 date (default) Data da publicação do boletim
notes 2 string (default) Observações
state 3 string (default) Unidade federativa
url 4 string (uri) Link para o boletim

caso

Field Information

Field Name Order Type (Format) Description
date 1 date (default) Data
state 2 string (default) Unidade federativa
city 3 string (default) Município
place_type 4 string (default) Se o dado é referente ao município ou ao estado
confirmed 5 integer (default) Quantidade de casos confirmados
deaths 6 integer (default) Quantidade de mortes
order_for_place 7 integer (default) Ordenação para esse local
is_last 8 boolean (default) É a última atualização?
estimated_population_2019 9 integer (default) População estimada 2019, segundo IBGE
city_ibge_code 10 string (default) Código IBGE do município ou estado
confirmed_per_100k_inhabitants 11 number (default) Casos confirmados por 100.000 habitantes
death_rate 12 number (default) Mortes por casos confirmados

populacao-estimada

Field Information

Field Name Order Type (Format) Description
state 1 string (default) Unidade federativa (código de 2 letras)
state_ibge_code 2 integer (default) Código numérico da Unidade Federativa
city_ibge_code 3 integer (default) Código numérico do IBGE para o municipio
city 4 string (default) Nome do município
estimated_population 5 integer (default) População estimada no ano de 2019, segundo a PNAD contínua do IBGE

schema-boletim

Field Information

Field Name Order Type (Format) Description
field_name 1 string (default)
field_type 2 string (default)

schema-caso

Field Information

Field Name Order Type (Format) Description
field_name 1 string (default)
field_type 2 string (default)

schema-populacao-estimada

Field Information

Field Name Order Type (Format) Description
field_name 1 string (default)
field_type 2 string (default)

schema-epidemiological-week

Field Information

Field Name Order Type (Format) Description
field_name 1 string (default)
field_type 2 string (default)

schema-obito_cartorio

Field Information

Field Name Order Type (Format) Description
field_name 1 string (default)
field_type 2 string (default)

epidemiological-week

Field Information

Field Name Order Type (Format) Description
date 1 date (default)
epidemiological_year 2 integer (default)
epidemiological_week 3 integer (default)

obito_cartorio

Field Information

Field Name Order Type (Format) Description
date 1 date (default) Data da ocorrência do óbito no formato YYYY-MM-DD
state 2 string (default) Sigla da unidade federativa com dois dígitos, exemplo: SP.
epidemiological_week_2019 3 integer (default) Número da semana epidemiológica para essa data em 2019.
epidemiological_week_2020 4 integer (default) Número da semana epidemiológica para essa data em 2020.
new_deaths_sars_2019 5 integer (default) Quantidade de óbitos em decorrência de SRAG para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_pneumonia_2019 6 integer (default) Quantidade de óbitos em decorrência de pneumodia para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_respiratory_failure_2019 7 integer (default) Quantidade de óbitos em decorrência de falha respiratória para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_septicemia_2019 8 integer (default) Quantidade de óbitos em decorrência de septicemia para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_indeterminate_2019 9 integer (default) Quantidade de óbitos em decorrência de causa indeterminada para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_others_2019 10 integer (default) Quantidade de óbitos em decorrência de outras causas para o estado em `state` ocorridos na data em `date`, porém para o ano de 2019.
new_deaths_sars_2020 11 integer (default) Quantidade de óbitos em decorrência de SRAG para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_pneumonia_2020 12 integer (default) Quantidade de óbitos em decorrência de pneumonia para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_respiratory_failure_2020 13 integer (default) Quantidade de óbitos em decorrência de falha respiratória para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_septicemia_2020 14 integer (default) Quantidade de óbitos em decorrência de septicemia para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_indeterminate_2020 15 integer (default) Quantidade de óbitos em decorrência de causa indeterminada para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_others_2020 16 integer (default) Quantidade de óbitos em decorrência de outras causas para o estado em `state` ocorridos na data em `date`, para o ano de 2020.
new_deaths_covid19 17 integer (default) Quantidade de óbitos em decorrência de **suspeita ou confirmação** de covid19 para o estado em `state` ocorridos na data em `date`.
deaths_sars_2019 18 integer (default) Quantidade de óbitos em decorrência de SRAG para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_pneumonia_2019 19 integer (default) Quantidade de óbitos em decorrência de pneumonia para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_respiratory_failure_2019 20 integer (default) Quantidade de óbitos em decorrência de falha respiratória para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_septicemia_2019 21 integer (default) Quantidade de óbitos em decorrência de septicemia para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_indeterminate_2019 22 integer (default) Quantidade de óbitos em decorrência de causa indeterminada para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_others_2019 23 integer (default) Quantidade de óbitos em decorrência de outras causas para o estado em `state`, acumulado até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_sars_2020 24 integer (default) Quantidade de óbitos em decorrência de SRAG para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_pneumonia_2020 25 integer (default) Quantidade de óbitos em decorrência de pneumonia para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_respiratory_failure_2020 26 integer (default) Quantidade de óbitos em decorrência de falha respiratória para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_septicemia_2020 27 integer (default) Quantidade de óbitos em decorrência de septicemia para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_indeterminate_2020 28 integer (default) Quantidade de óbitos em decorrência de causa indeterminada para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_others_2020 29 integer (default) Quantidade de óbitos em decorrência de outras causas para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
deaths_covid19 30 integer (default) Quantidade de óbitos em decorrência de **suspeita ou confirmação** de covid19 para o estado em `state`, acumulado até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).
new_deaths_total_2019 31 integer (default) Quantidade total de novos óbitos registrados para o estado em `state` na data em `date`, porém para o ano de 2019.
new_deaths_total_2020 32 integer (default) Quantidade total de novos óbitos registrados para o estado em `state` na data em `date`, para o ano de 2020.
deaths_total_2019 33 integer (default) Quantidade total de óbitos independente de causa, para o estado em `state`, acumulados até a data em `date`, porém para o ano de 2019 (a partir de 1 de Janeiro 2019).
deaths_total_2020 34 integer (default) Quantidade total de óbitos independente de causa, para o estado em `state`, acumulados até a data em `date`, para o ano de 2020 (a partir de 1 de Janeiro 2020).

README

🇺🇸 English?

covid19-br

pytest@docker goodtables

Esse repositório centraliza links e dados sobre boletins de número de casos das Secretarias Estaduais de Saúde (SES) sobre os casos de covid19 no Brasil (por município por dia), além de outros dados relevantes para a análise, como óbitos registrados em cartório (por estado por dia).

Licença e Citação

A licença do código é LGPL3 e dos dados convertidos Creative Commons Attribution ShareAlike. Caso utilize os dados, cite a fonte original e quem tratou os dados e caso compartilhe os dados, utilize a mesma licença. Exemplos de como os dados podem ser citados:

  • Fonte: Secretarias de Saúde das Unidades Federativas, dados tratados por Álvaro Justen e equipe de voluntários Brasil.IO
  • Brasil.IO: boletins epidemiológicos da COVID-19 por município por dia, disponível em: https://brasil.io/dataset/covid19/ (última atualização: XX de XX de XXXX, acesso em XX de XX de XXXX).

Dados

Depois de coletados e checados os dados ficam disponíveis de 3 formas no Brasil.IO:

Caso queira acessar os dados antes de serem publicados (ATENÇÃO: pode ser que não tenham sido checados), você pode acessar diretamente as planilhas em que estamos trabalhando.

Se esse programa e/ou os dados resultantes foram úteis a você ou à sua empresa, considere fazer uma doação ao projeto Brasil.IO, que é mantido voluntariamente.

FAQ SOBRE OS DADOS

Antes de entrar em contato conosco (estamos sobrecarregados) para tirar dúvidas sobre os dados, CONSULTE NOSSO FAQ.

Para mais detalhes veja a metodologia de coleta de dados.

Analisando os dados

Caso queira analisar os dados usando SQL, veja o script analysis.sh (ele baixa e converte os CSVs para um banco de dados SQLite e já cria índices e views que facilitam o trabalho) e os arquivos na pasta sql/. Por padrão o script reutiliza os arquivos caso já tenha baixado; para sempre baixar a versão mais atual dos dados, execute ./analysis.sh --clean.

Validando os dados

Os metadados estão descritos conforme os padrões Data Package e Table Schema do Frictionless Data. Isso significa que os dados podem ser validados automaticamente para detectar, por exemplo, se os valores de um campo estão em conformidade com a tipagem definida, se uma data é válida, se há colunas faltando ou se há linhas duplicadas.

Para fazer a verificação, ative o ambiente virtual Python e em seguida digite:

goodtables data/datapackage.json

O relatório da ferramenta Good Tables irá indicar se houver alguma inconsistência. A validação também pode ser feita online pelo site Goodtables.io.

Contribuindo

Você pode contribuir de diversas formas:

  • Criando programas (crawlers/scrapers/spiders) para extrair os dados automaticamente (LEIA ISSO ANTES);
  • Coletando links para os boletins de seu estado;
  • Coletando dados sobre os casos por município por dia;
  • Entrando em contato com a secretaria estadual de seu estado, sugerindo as recomendações de liberação dos dados;
  • Evitando contato com humanos;
  • Lavando as mãos várias vezes ao dia;
  • Sendo solidário aos mais vulneráveis;

Para se voluntariar, siga estes passos.

Procure o seu estado nas issues desse repositório e vamos conversar por lá.

Criando Scrapers

Estamos mudando a forma de subida dos dados para facilitar o trabalho dos voluntários e deixar o processo mais robusto e confiável e, com isso, será mais fácil que robôs possam subir também os dados; dessa forma, os scrapers ajudarão bastante no processo. Porém, ao criar um scraper é importante que você siga algumas regras:

  • Necessário fazer o scraper usando o scrapy;
  • Não usar pandas, BeautifulSoap, requests ou outras bibliotecas desnecessárias (a std lib do Python já tem muita biblioteca útil, o scrapy com XPath já dá conta de boa parte das raspagens e rows já é uma dependência desse repositório);
  • Deve existir alguma maneira fácil de fazer o scraper coletar os boletins e casos para uma data específica (mas ele deve ser capaz de identificar para quais datas os dados disponíveis e de capturar várias datas também);
  • O método de parsing deve devolver (com yield) um dicionário com as seguintes chaves:
    • date: data no formato "YYYY-MM-DD"
    • state: sigla do estado, com 2 caracteres maiúsculos (deve ser um atributo da classe do spider e usar self.state)
    • city (nome do município ou em branco, caso seja o valor do estado, deve ser None)
    • place_type: "city" para município e "state" para estado
    • confirmed: inteiro, número de casos confirmados (ou None)
    • deaths: inteiro, número de mortes naquele dia (ou None)
    • ATENÇÃO: o scraper deve devolver sempre um registro para o estado que não seja a soma dos valores por município (esse dado deve ser extraído da linha "total no estado" no boletim) - essa linha virá com a coluna city com o valor None e place_type com "state" - esse dado apenas deve vir preenchido como sendo a soma dos valores municipais caso o boletim não tenha os dados totais;
  • Quando possível, use testes automatizados.

Nesse momento não temos muito tempo disponível para revisão, então por favor, só crie um pull request com código de um novo scraper caso você possa cumprir os requisitos acima.

Instalando

Padrão

Necessita de Python 3 (testado em 3.8.2). Para montar seu ambiente:

  • Instale o Python 3.8.2
  • Crie um virtualenv
  • Instale as dependências:
    • Script de consolidação e robô: pip install -r requirements.txt
    • Extratores de dados estaduais: pip install -r requirements-collect.txt
  • Rode o script de coleta: ./collect.sh
  • Rode o script de consolidação: ./run.sh

Verifique o resultado em data/output.

Docker

Se você preferir utilizar o Docker para executar, basta usar os comandos a seguir :

make docker-build   # para construir a imagem
make docker-collect # para coletar os dados
make docker-run     # para consolidar os dados

VEJA TAMBÉM

Clipping

Quer saber quais projetos e notícias estão usando nossos dados? Veja o clipping.

Atualização dos Dados no Brasil.IO

Crie um arquivo .env com os valores corretos para as seguintes variáveis de ambiente:

BRASILIO_SSH_USER
BRASILIO_SSH_SERVER
BRASILIO_DATA_PATH
BRASILIO_UPDATE_COMMAND

Execute o script:

./deploy.sh

Ele irá coletar os dados das planilhas (que estão linkadas em data/boletim_url.csv e data/caso_url.csv), adicionar os dados ao repositório, compactá-los, enviá-los ao servidor e executar o comando de atualização de dataset.

Nota: o script que baixa e converte os dados automaticamente deve ser executado separadamente, com o comando ./collect.sh.

Related Projects at Open Knowledge International