COVID-19 Live Visualization using Guided Analytics

This workflow is connecting an API to get new data on the spreading of the virus COVID-19. Confirmed cases, deaths and recovered patients time series are visualized by country in different ways. The dashboard can be displayed locally on the open source KNIME Analytics Platform desktop tool and it can be also deployed on KNIME Server via KNIME WebPortal as a remotely accessible web based application.


This is a companion discussion topic for the original entry at https://kni.me/w/SjvvBM2fXG3APLP-

Hello,

Thanks for this workflow.
When I tried this workflow this afternoon, it stopped inside the Transform JSAN to table node with the error message:
WARN Unpivoting 0:136:136 No column ‘value’ defined for unpivoting operation.

It did some research and found there is an update in the REST API.
I tried this unsuccessfully.

Should this workflow be updated?

Regards
Johnny

I @Johnny_Gel I just updated it. Can you please try again now and tell me if it works?

Basically the Johns Hopkins University (https://github.com/CSSEGISandData/COVID-19) decided to not support recovered time series anymore and removed all the data, therefore also the API (https://github.com/ExpDev07/coronavirus-tracker-api) has an empty list for recovered cases.

I had to remove the recovered cases entirely from the application and it will stay like that until the API guys find some other source.

This is the link to the GitHub thread.

3 Likes

I can confirm it’s working again.
I did a quick repair by removing the the recovered cases from the column loop start.
The strange thing is in the configuration of this node I had to remove the deaths column to get the desired result Is there the expected behavior?

Have you tried the version 2 of the api?

Regards

Hi @Johnny_Gel, no it is not.
The workflow should have an additional column filter to totally remove the recovered cases now.

Capture

Did you re-download the workflow from the Hub?

The column list loop start should have the enforce exclusion on an empty list like this now.
The Column List Loop Start cannot be used to exclude the column entirely. The column would excluded in the sense the columns on the left won’t have a dedicated iteration but the data won’t be removed.

Hello,
Yes I did download your workflow. What you saw in my screenshot was the change which I did in your previous version of the workflow in order to make it work.

I saw your update, which was also my first thought, but I looked into the column list loop start and saw another method to avoid the recovered column processed.
It was just another method of solving the same problem. And when I did that I saw the strange behavior. I had to add the recovered column to the include filter and got the death column as a resulting loop column.
Is that normal? At least it is not intuitive.

Regards
Johnny

Hi,

Nice viz workflow! I just deployed in our on-prem server in our company.

I have two issues here:

  1. On page 1, “Select World Region” seems not linked with chart, chart not updating based on this drop down menu selection
  2. On the page 2, I see an error “Loading Google API failed”.

Can you help troubleshoot the issues? Thx.

Regards,
D.W.

Hello @paolotamag,

Thank you for this valuable contribution.
This is helping me to monitor the evolution of the virus in Central America (the countries in which my company has operations).

But i have a problem, do you know if the source is still updating the data?
In Honduras for example we have 139 cases, but the in the data it looks like it freezes at 110 cases.

Thank you

@paolotamag

Can you connect to the database of this site??

Best regards.

Hi @AR7,
regarding the Honduras or any other countries where you have conflicting data with another source it’s because on the really last day it is normal there is a bit of difference.

The API I am using (https://github.com/ExpDev07/coronavirus-tracker-api) is updating every hour checking whether the Johns Hopkins University is updating this dataset here:

I think they are a pretty good source and I do apologize if the data on yesterday is not yet updated.
I also write this aspect on top of the bar chart.

Regarding adding this other source from which the cool website you linked is generated (https://www.worldometers.info/coronavirus/) I apologize but I won’t do that: such source is not official enough and I am not sure it would display the right info.

Despite this you could do it on your own. Download the workflow and replace the first two nodes.
More infos here (I think) on how to use the Worldometer API: https://www.worldometers.info/licensing/what/

Cheers
Paolo

Hi @debeerswang,
sorry for the delay.

  1. Unfortunately the first Composite View generated by the first Component “COVID-19 Overview” is not changing the chart below on user interaction of the drop down. After selecting a region you need to select “Apply and Close” in the lower right corner of the view. Like this:

Once the first Component re-executes with your selection saved, you can open the second view and see the data on the selected region.

If you own a KNIME Server and deploy there the workflow on the KNIME WebPortal, you would be able to let users access it from any web browser or device given they have credentials. On the KNIME WebPortal you can simply click “Next” and move to the following Component / page without having to do this “Apply and Close” or even acknowledging there is a workflow behind such pages. Like this:

  1. Regarding the Google GeoChart API, does it never work or only on certain regions? It might due your connection especially if is somehow protected by your corporate laptop and it does let KNIME communitcate with Google.

Please let me know more on when “Loading Google API failed” happens and when it does not happen.

Cheers
Paolo

I understand your point @Johnny_Gel . Yes it is normal but it can look odd, but if you think about it still makes sense.
The Column Loop List Loop Start is not excluding the column from the data. It’s only to defines which column will have its own iteration. Consider you need to sum 10 columns to another column always the same one. You could use the Math Formula (Multi Column) or you could use the Column List Loop Start where each iteration is hosting the iteration column plus the one you need to sum it to: the excluded column.

In other words if you do not need a column to have its own iteration but you still need it available in the table at each iteration you exclude it with the Column List Loop Start. If you want it gone completely you use a Column Filter before the Column List Loop Start.

Don’t forget to join us for the Webinar on this workflow!

Register here:

https://www.knime.com/about/events/visualizing-the-spread-ofcovid-19-pandemic-with-knime-online-apr-7-2020

1 Like

I just updated the workflow with new features. Please download to check them out!

New Controls

Capture3

Normalization

Heatmap

1 Like

Does the heatmap not work when executed in KNIME server?

The heatmap should work on KNIME Server. Maybe it does not appear cause you selected “Normalization”. In fact he heatmap is displayed only if normalization is not requested. You can change this behavior in the workflow if needed.
Cheers

hello Paolo
I am new in knime forum and would like to ask you few questions if possible:

  • Am I allowed to use this workflow for my assignment ? Also can you please guide me how to use my dataset to work with this workflow ?
    Thanks!

Hi,
You can use this workflow for whatever you want. it’s publicly available and totally open source.
I can help but you have to come up with more precise questions. The workflow works with cached data from an api I found online. If the api does not work anymore the workflow fetches the old cached data. Execute the workflow, inspect the table before the first blue component and make sure the structure of that table does not changes after removing the api setup and loading your dataset. It might require quite a bit of work but with some advanced data wrangling it should work.

Thank you for the swift reply
I am totally new to KNIME , I don’t know what is an API
I have a dataset from github about covid19 and i would like to load it into this workflow, would you please give me baby steps ? Thank you!