covid19india / covid19india-react

Tracking the impact of COVID-19 in India
https://www.covid19india.org
MIT License
6.86k stars 3.41k forks source link

Add containment zones as they get declared #1040

Closed bootleg-icarus closed 4 years ago

bootleg-icarus commented 4 years ago

Is your feature request related to a problem? Please describe. New containment clusters are being declared by the govt with different severity levels. It would be helpful to add them to this project

Describe the solution you'd like A new page with the map color coded to match the govt's data. eg: Red- Total lockdown Orange- Partial lockdown Yellow - Community guidelines

Additional context Covid-19 containment zones in Delhi Although this link doesn't describe the severity levels, I'm assuming that will come when more data for more districts becomes available. This might be helpful to identify which zone can resume economic activity.

sudevschiz commented 4 years ago

Yes! This is an important piece of information, that would be useful even after Lockdown 2.0.

I just started off by creating a template of how the data should look like here : https://docs.google.com/spreadsheets/d/1A-9EDpiD6vxSaCCa9yYwTRKiNwoJ2hdxjbQkmw_RgTA/edit#gid=0

@bootleg-icarus , please do discuss here and edit the sheet if this has to look differently. If you're interested, can you please take the lead on this?

bootleg-icarus commented 4 years ago

@sudevschiz Sure, would love to work on this. Would you please mention your sources, so that we could add more states?

Also, for the view, are you thinking editing the colors on the map itself or create an entirely new map or page?

ipimran commented 4 years ago

@bootleg-icarus @sudevschiz

It will be helpful to also include details of containment zones within cities and district.

Many district info centers, collector offices, municipalities are announcing this info through their twitter handles,FB pages. Additionally it is also available through media like mentioned in link in above comment.

A new page "Containment Zones" will be better. This may contain map or drop downs (State, District, City) to get filtered results.

Data can also be crowd sourced (like in patients DB). Can also announce in channel to report specific zones.

Let me know if I also can join to take this further.

bootleg-icarus commented 4 years ago

@ipimran we first need to collect all the data in a API friendly format, so if you can, please find data and update the document.

@sudevschiz I'm unable to find data on containment zones (other than Delhi, Maharastra) although the hot-spot districts data looks more open right now, Hot-Spots districts list maybe we should be working on that right now?

keshank commented 4 years ago

@bootleg-icarus Details for containment zone in Mumbai:- https://www.businessinsider.in/india/news/checkout-the-name-of-coronavirus-containment-zones-in-mumbai/articleshow/75045928.cms

http://stopcoronavirus.mcgm.gov.in/pdf-doc-view.jsp

jeremyphilemon commented 4 years ago

Reply with /claim to have this issued assigned to you.

cc @sudevschiz, can we add the zones to the sheet → api?

bootleg-icarus commented 4 years ago

/claim

github-actions[bot] commented 4 years ago

Thank you @bootleg-icarus for claiming this issue! 🎉

Please reference this issue when you submit your Pull Request and make sure you follow the contributing guidelines.

bootleg-icarus commented 4 years ago

I assumed I'll be able to find tehsil (sub- district) level data for each state. In my mind that's the only useful data for any sort of economic planning. The district level data would lead to a solution that currently is already up on the website ( instead of different colors, it's different shades of the same color. but the key take away is the same ). This level of detailed data is available for certain places ( New Delhi ) but sadly not for the entire country. @jeremyphilemon Would you please change the tag again. :grimacing:

jeremyphilemon commented 4 years ago

@bootleg-icarus I see, I think we can support cities that have containment details currently available, I don't think that would be a problem since it's obviously difficulty to obtain it for the entire country as a whole.

How many cities have these details available?

bootleg-icarus commented 4 years ago

This is all I've found till now - Delhi Mumbai Chennai Hyderabad Indore Bengaluru

srikoushik commented 4 years ago

@jeremyphilemon @bootleg-icarus Here is an official overall picture of TamilNadu’s COVID19 status. Red, Green, and Orange at the district level. Not in zone wise yet. https://nhmtn.maps.arcgis.com/apps/opsdashboard/index.html#/095ad0a1c0254b058fa36b32d1ab1977

bootleg-icarus commented 4 years ago

@srikoushik this is still district level data, as you mentioned. Which doesn't help us all that much. I don't understand what gain authorities expect from keeping such data locked. If the general public knew which areas to avoid while still being productive wouldn't that be the best of both worlds?

srikoushik commented 4 years ago

@srikoushik this is still district level data, as you mentioned. Which doesn't help us all that much. I don't understand what gain authorities expect from keeping such data locked. If the general public knew which areas to avoid while still being productive wouldn't that be the best of both worlds?

Yeah it would be. Right now the zone information is only available in the media links which you shared earlier.

srikoushik commented 4 years ago

Here is the Chennai contamination zone list. https://www.google.com/maps/d/viewer?mid=1cB9aB7wFszdzKCsBR45bZE6A6gxs3hIz&shorturl=1&ll=13.036272231113742%2C80.26422099332149&z=15

ishandutta2007 commented 4 years ago

I was eager to know if the number of red districts is increasing or decreasing, which is why I created https://github.com/covid19india/covid19india-react/pull/1679 . As per interests in this thread, It doesn't solve the problem completely as we need more data to know finer granular containment zones of cities and areas inside cities. For the time being we can merge my changes to the deep-dive page until we have higher granular data ready.

KMaheshBhat commented 4 years ago

Attached TXT is district-wise zones in CSV format : 20200501-india-covid-zones.txt

Source: https://www.news18.com/news/india/centre-marks-all-metro-city-as-red-zones-for-covid-19-curbs-post-may-3-heres-the-full-list-2600595.html (Fixed source)

ishandutta2007 commented 4 years ago

Attached TXT is district-wise zones in CSV format : 20200501-india-covid-zones.txt

Source: https://www.news18.com/news/india/standalone-shops-including-those-selling-liquor-to-be-allowed-in-orange-green-zones-sources-2601535.html

The colour of the zones will change daily so mark this file with date as initial day, I have calculated from our raw data as

KMaheshBhat commented 4 years ago

Attached TXT is district-wise zones in CSV format : 20200501-india-covid-zones.txt Source: https://www.news18.com/news/india/standalone-shops-including-those-selling-liquor-to-be-allowed-in-orange-green-zones-sources-2601535.html

The colour of the zones will change daily so mark this file with date as initial day, I have calculated from our raw data as

  • last case > 28 days or no case till now means green,
  • 14<last case<28 days means orange
  • last case<=14 days means red If we have to know the colour of days before this list we have to calculate from raw data.

That makes sense.

On a bit broader note, I realized after commenting here that this possibly need to go to the API project and not the UI. Anycase - I am leaving the comment+attachment up for posterity.

ishandutta2007 commented 4 years ago

On a bit broader note, I realized after commenting here that this possibly need to go to the API project and not the UI. Anycase - I am leaving the comment+attachment up for posterity.

Yes It's slowing down the UI not matter how hard I try, can you review the code and suggest parts to move to API. I will refactor it and move the core logic to API. I am not familiar with API layer of this project, meanwhile let me learn about it. As per me API should pre-compute the results and return the daily [red_count, orange_count, green_count] array immediately on calling.

Why are @jeremyphilemon, @shuklaayush , @JunaidBabu not reviewing the code or even commenting on this thread. who else has merging rights ?

shuklaayush commented 4 years ago

Hi @ishandutta2007 , appreciate your analysis, but I don't think redefining the criteria for district zones is a good way forward. It directly conflicts with government terminology and might lead to confusion.

And yes, ideally we'd like all heavy computation to be done on the API side. @JunaidBabu might be able to help with that.

@KMaheshBhat We already added an API endpoint :)

ishandutta2007 commented 4 years ago

Hi @ishandutta2007 , appreciate your analysis, but I don't think redefining the criteria for district zones is a good way forward. It directly conflicts with government terminology and might lead to confusion.

I though that's the govt criteria, what is the govt criteria ?

@KMaheshBhat We already added an API endpoint :)

this is static for one particular day, we need dynamic view to know number of red zones are increasing or decreasing? see my plot to understand.

shuklaayush commented 4 years ago

@ishandutta2007 I'm not sure either. That article seems to suggest that the final authority is with the Health ministry and that the 14-28 days classification isn't used anymore. Someone better versed with current affairs might be able to help out here. /cc @bee-rickey

Yes, it's a list only for the current day. I was just pointing out that we've added it to the API. We can add another API endpoint containing the time series to be plotted. No point in calculating the information on the client side :)

ishandutta2007 commented 4 years ago

No point in calculating the information on the client side

True, UI will become slow. In the process of extracting out the code from UI to API repo I checked the https://github.com/covid19india/api. but couldn't follow as I found there are only static jsons, how are you updating the data in that, where are those jobs running?

ishandutta2007 commented 4 years ago

That article seems to suggest that the final authority is with the Health ministry and that the 14-28 days classification isn't used anymore.

I don't think govt would release new red, orange, green list everyday. To calculate intermediate lists you have to use 12-28 day classification.

ishandutta2007 commented 4 years ago

@shuklaayush @jeremyphilemon Is there any dynamic red/orange/green API ready already ? It's important to know if the reds are increasing or decreasing. Static colouring is fine but it's becoming very less useful now, given that every one already knows the declared colour of their district from 2nd May itself.

shuklaayush commented 4 years ago

@ishandutta2007 We plan to update the API as the zones are reclassified. Not sure if I understand correctly, but no, we haven't yet added an API containing the history of classification for each district.

ishandutta2007 commented 4 years ago

@ishandutta2007 We plan to update the API as the zones are reclassified. Not sure if I understand correctly, but no, we haven't yet added an API containing the history of classification for each district.

zones wont get reclassified by govt everyday. would it ? where from would you know the daily trend then? Look at my plots above to understand how the daily trend looks like. if you don't want to confuse with govt terminology we can name them as recent positive zone, moderately old positive zone, very old positive zone. I have the entire code written as well but in UI , you just need to move that code to API and rename to new terminology.

shuklaayush commented 4 years ago

@ishandutta2007 Adding it to the API might not be that straightforward. I don't know the entire API generation pipeline myself, hence I'm not the best person to ask. @JunaidBabu would be able to help with this. Alternatively, if it's not too big a performance hit, we can keep it in the client code as well.

Yes, the terminology will have to be changed since otherwise, it would lead to confusion. Also, I think it's best if you can create a new issue for this so that we can separate the discussion.