turicas / covid19-br

Dados diários mais recentes do coronavírus por município brasileiro
https://brasil.io/dataset/covid19
GNU Lesser General Public License v3.0
530 stars 128 forks source link

Coletar dados do Registro Civil por município #192

Open turicas opened 4 years ago

turicas commented 4 years ago

O Portal do Registro Civil disponibiliza dados de óbitos por município, como pode ser visto abaixo:

cwb

Isso resultaria em 11.140 novas requisições (2 por município, sendo 1 para 2020 e 1 para 2019). Provavelmente essas requisições não seriam um problema, dado que o limite parece ser de 600k requisições (por dia? por mês?):

req-limit

Porém, baseado no tempo que o script atual demora para fazer 2 requisições por estado (+ 1 de "login"), provavelmente o script demoraria muito para ser executado e isso poderia inviabilizar atualização diária.

Problema: apenas municípios com mais de 100 óbitos são listados (com isso, a soma de óbitos municipais ficará quase sempre menor à soma de óbitos estaduais - isso pode gerar confusão).

Parece que basta alterar state, city_id e chart para pegar os dados por município. Exemplo de URL para município de Curitiba/PR: https://transparencia.registrocivil.org.br/api/covid-cardiaco?start_date=2020-01-01&end_date=2020-07-22&state=PR&city_id=3009&chart=chartCardiac1&places[]=HOSPITAL&places[]=DOMICILIO&places[]=VIA_PUBLICA&places[]=OUTROS&cidade_id_tipo=city&cor_pele=I

Para isso, teremos que ter a lista de city_id (não é o código IBGE), daí basta baixar https://transparencia.registrocivil.org.br/api/cities (que talvez possa ser cacheado por muito tempo, dado que tem todos os municípios e isso não deve mudar tão cedo). O resultado tem o seguinte formato:

{
  "status":1,
  "cities": [
    {
      "uf": "SP",
      "name": "S\u00e3o Paulo",
      "id": 1
    },
    {
      "uf": "SP",
      "name": "S\u00e3o Bernardo do Campo",
      "id": 2
    },
    ...
  ]
}