covidcaremap / covid19-healthsystemcapacity

Open geospatial work to support health systems' capacity (providers, supplies, ventilators, beds, meds) to effectively care for rapidly growing COVID19 patient needs
https://www.covidcaremap.org
MIT License
97 stars 38 forks source link

Generate visualization and reporting of new metrics (such as capacity gaps) #100

Open abarciauskas-bgse opened 4 years ago

abarciauskas-bgse commented 4 years ago

A lot of great work has gone into estimating and forecasting supply and demand of hospital resources from COVID 19.

The existing visualizations represent ventilator and hospital bed supplies per state, healthcare referral region (HRR), county and facility.

Additional data discovery and analysis are producing the following metrics which could also be added to these existing maps or produced in new maps or reporting:

I think each of these (and other metrics) could be a separate ticket, this ticket is just to start to brainstorming and understand the data being generated.

Next steps will be to:

abarciauskas-bgse commented 4 years ago

@lossyrob @daveluo @Geoyi let me know if you have any thoughts on this topic.

Geoyi commented 4 years ago

Totally, Aimee. These are already multiple tickets out, PPE needs/demands, and supply. Generate visualization and reporting of the new metrics you listed above it's going to be super helpful. From PPE side, we don't have data from supply-side yet, I could not track down any such data.

Rob has given me some instruction on generating data visualization:

If you are building a map, another template to take a look at is viz/hghi-vents. That app is React and laid out in a way we probably want to move towards; the viz/us-healthcare-system-capacity site is vanilla javascript. I think some good frontend-dev would be to merge those codebases into a single React framework so that we have one frontend codebase to understand/work with/modify

But I'm afraid that it's going to take me some time to get it out with React and don't have much Javascript scripting skill. Though, if someone can help me with the data visualization part of work that'd be awesome. I've done a lot of data visualization and online interactive maps in the past with R, flexdashboardr, shiny and plotly, example 1- Mapping rubber and biodiversity and example 2 - UNICEF school. If Rob, Dave or Jeff are too stretched on current tasks, I was thinking I will start to visualize the PPE burn rate in my old way with R. I will keep you updated on how it goes.

abarciauskas-bgse commented 4 years ago

Thanks @Geoyi for the additional references! I wasn't think you take on building the visualizations to be clear. I was thinking either me or someone else try and pick this up. I think you have your hands full with PPE modeling. But of course you should work on this if you have the time and interest! I also have to learn both about the data and the visualizations technologies. Let's stay in touch with any progress!

abarciauskas-bgse commented 4 years ago

Some notes on how to estimate a "capacity gap" in supply and demand for hospital beds.

It seems clear that number of cases reported by usafacts and nytimes is a cumulative number https://github.com/nytimes/covid-19-data#united-states-data. I would assume not all accumulated cases require hospitalization as of the current date, either because these cases are recovered, are not severe cases, or worst case, have passed. It's impossible to know from data we have here and I think without hospital reporting, what proportion of all reported cases require hospitalization. It's my understanding this data is not being generated and shared yet (which makes sense, reporting may very well not be a priority and hospitals may also require a platform to share this data even if they have it).

So a very rough estimate of number of hospitalizations required I think would be cumulative reported cases on any given day minus any that should have been recovered by that date. The default CHIME recovery parameter is 14 days. So for example, if King County has reported cumulatively 1830 cases as of March 27, we can subtract the number of cases which should have recovered by that date which is the number of cases reported by March 13 (329 cases) - we have 1501 cases as of March 27.

We can compare our estimate for "active / not-yet-recovered" cases number with the number of beds available according to us_healthcare_capacity-county-CovidCareMap.csv:

The difference between number of "Staffed ICU" and "Staffed All" beds is dramatic. So it seems the real information we need reported is also how many reported cases result in the need for a staffed ICU bed.

Geoyi commented 4 years ago

Go back to what I've learned so far, @abarciauskas-bgse. Instead of using the accumulated confirmed cases, we can treat each confirmed case as an independent case, which:

I think if we deal with day to day independent cases, it'll make the math and assumption much easier (unfortunately it's far away from accurate). The above conclusions/stats were learned from physicians I talked to and will link back to the original diagram they provide.

abarciauskas-bgse commented 4 years ago

That's super helpful @Geoyi thank you!

daveluo commented 4 years ago

But I'm afraid that it's going to take me some time to get it out with React and don't have much Javascript scripting skill. Though, if someone can help me with the data visualization part of work that'd be awesome. I've done a lot of data visualization and online interactive maps in the past with R, flexdashboardr, shiny and plotly, example 1- Mapping rubber and biodiversity and example 2 - UNICEF school. If Rob, Dave or Jeff are too stretched on current tasks, I was thinking I will start to visualize the PPE burn rate in my old way with R. I will keep you updated on how it goes.

@Geoyi, I'm similar to you in being slow at building visualizations and found Kepler to be a pretty fast and intuitive way to drop geojson files in and style a map viz into roughly something I want it to look like or for others to explore. And it can easily export to a static html file that can be hosted on the repo or anywhere else. Check it out: https://kepler.gl/demo