As everyone is aware with recent pandemic virus covid19, it spreads mainly from person to person. Anyone who comes into close contact with someone who has COVID-19 is at increased risk of becoming infected themselves, and of potentially infecting others. the rate at which virus spread from person to person is measured by r naught, so for example if some r0 is 3 then it means one infected person can infect 3 other persons.
So hers is the thought, if somehow we can trace who got infected by whom and traverse back till patient zero from where it began. Contact tracing also help prevent further transmission of the virus by quickly identifying and informing people who may be infected and contagious, so they can take steps to not infect others.
What it does
By using the artificial data, in this interactive web application we can visualize how infection spreaded across people and who was the patient zero - the first person who got infected by disease.
Tracing page : Interactive person tracing across multiple levels reaching back to patient zero.
Network page : Fully connected Hierarchical visualization.
How we built it
This web-app is built with GRAND stack, The components of GRANDstack are:
- GraphQL - A new paradigm for building APIs, GraphQL is a way of describing data and enabling clients to query it.
- Apollo - A suite of tools that work together to create great GraphQL workflows.
- Neo4j Database - The native graph database that allows you to model, store, and query your data the same way you think about it: as a graph. I have used Aura cloud database in this project.
Challenges we ran into
Having no experience with GRAND stack, it was very challenging to pull things off. I was frequently getting stuck with basics like looping over variable in react, defining global var in react or writing simple query in graphql etc.
Accomplishments that we're proud of
From having a thought in my mind and visualizing working of an web-app in my head to developing a working prototype is something that I'm proud of most.
What we learned
I almost learned everything to build this application. That is GrpahQL, React, Neo4j database etc with of course limited knowledge that was necessary develop this application.
What's next for Tracing Patient Zero
There can be another feature in which reverse tracing can be done starting from patient zero. And also performance improvement in terms of code and exception handling.