What it does
How I built it
Challenges I ran into
CodeVid Live is a mobile application that allows its users to estimate the probability of contamination of corona virus if they stay at a particular area. This way the users can plan their travel routes, by knowing ahead of time to avoid routes where the probability of contamination is high. The same feature can be used by government and health care organizations to identify hot spots of contamination and take better and early measures for quarantine, preparation of medical supplies including provision of ventilators, quarantine wards etc.
In December 2019, there was a cluster of pneumonia cases in China. Investigations found that it was caused by a previously unknown virus now named the Novel Coronavirus 2019. Since its first discovery, the global impact of the coronavirus has been profound, significantly changing the lifestyle of people around the world. Initially, the governments' combat plan against the virus was to have a lockdown, however, the economy of any country cannot bear the prolonged lockdown without crashing. As a result, employees of several industries such as manufacturing, health care etc. have no choice but to go outside their homes to their workplaces. If left as is, coronavirus will spread very quickly and herd immunity maybe the only option especially for underdeveloped countries. The question arises whether we can make the travel and period outside less prone to infection thereby, reducing the spread of coronavirus to controllable levels. Framed nicely, the question is "What is the probability of me getting infected if I stay at a specific place for some timeframe?".
A list of documented use cases can be found here. A quick overview of features is given below:
- Predict chance of exposure to COVID-19.
- Identify hot spots of exposure of COVID-19.
- API availability of the model to developers and healthcare organizations.
Install Julia and include in system path
For help getting started with Flutter, view their online documentation, which offers tutorials.
Setup Genie server
To run in interactive mode
cd genie_app/bin repl
- Under the genie_app/bin folder, run
- When prompted with julia REPL, run
Build flutter app
- Julia: High level programming language for numerical analysis and computational sciences.
- Pathogen.jl: Infectious Disease Transmission Network Modelling with Julia.
- Genie.jl: The highly productive Julia framework.
- JuliaDB.jl: A package for working with persistent datasets.
- Flutter: Open source, cross-platform UI software development kit.
- charts_flutter: Material Design data visualization library written natively in Dart.
- google_maps_flutter: A Flutter plugin that provides Google Maps widget.
- DigitalOcean: IAAS provider for deployment.
The problem statement is to give an estimation of chance being infected by the coronavirus given map coordinates and time frame. For instance, I may want an estimation of me being infected given the condition that Hamilton Hospital has a coronavirus case while I am at Auckland Airport, New Zealand with a 48 hour timeframe window. To calculate the transmission of virus from Hamilton Hospital to Auckland Airport, imagine yourselves as a virus who is using Google Maps to reach from Hamilton Hospital to Auckland Airport, like the famous Plague Inc game but on a smaller scale. This is exactly how the algorithm is operating. For a given set of coordinates and time frame as input, it finds the nearest virus cluster and uses Google Direct API to navigate to the requested location. A composite function weights the various routes available with a virus factor to give an estimation of a chance of coronavirus infection. The pathogen is modelled using Pathogen.jl