Skip to content
Open Coronavirus
TypeScript HTML CSS JavaScript Swift Shell Other
Branch: master
Clone or download

Latest commit

aparraga Merge pull request #33 from rubentnf/master
Fixed padding bottom of safe area in iOS devices
Latest commit 3fc7101 Mar 30, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app-citizen Fixed padding bottom of safe area in iOS devices with notch in .foote… Mar 30, 2020
app-police Merge pull request #25 from aarongarciah/add-package-lock Mar 28, 2020
dashboard Added appointment initial implementation Mar 22, 2020
screenshots Latest translations Mar 29, 2020
server Fix querys by adding `strictObjectIDCoercion` param, remove like Mar 30, 2020
README.es.md Added README in english Mar 28, 2020
README.md Update README.md Mar 30, 2020
license.md First commit! Mar 17, 2020

README.md

This document is also available in spanish

What is Open Coronavirus?

The availability of an effective vaccine may be delayed indefinitely for up to possibly 18 months. This requires quarantine measures - currently of a general nature - for the entire population. At the same time, health authorities are contemplating performing diagnostic tests at the population level, to ensure proper epidemiological control.

The Open Coronavirus project offers, for this time interval, a digital solution for monitoring, diagnosing and containing SARS-CoV-2 infection that allows quarantine measures to be applied in a controlled manner at focal points or hotspots, thus minimizing the general quarantine of the population, reducing the overload of health systems, and at the same time facilitating the progressive resumption of daily activity in the shortest possible time.

The system will have 3 applications:

  • Citizen App. Mobile application for citizen collaboration and to control the spread of SARS-CoV-2. From the application a diagnostic test will be requested, and the results of the test can be seen. All citizen movements will be stored to control possible infection and to delimit the scope of action of SARS-CoV-2 by the health authorities. It will serve as QR-code based citizen identification.
  • Data control software where health and epidemiological control authorities will be able to consult and detect the movements of SARS-CoV-2. From the software, they will be able to see focal points of infection, compliance of mandatory quarantine for those infected or potentially infected.
  • Authorities’ App. Mobile application that enables relevant authorities to read citizens’ QR identification codes in the locations where they have decided to monitor their movements in this way.
Open Coronavirus Apps
Examples of the 3 applications for different types of users

Important A team of medical and bioethical research experts from Oxford University explains the need for such an application: http://www.ox.ac.uk/news/2020-03-17-infectious-disease-experts-provide-evidence-coronavirus-mobile-app-instant-contact For more information, you can consult WikiProject:

Example of how the citizen APP works
Example of how the citizen APP works

Why did we create Open Coronavirus?

We do not intend to publish this APP, since it must be the relevant Ministry or body that does so. We know that the government is investing in an application like this one however since speed is key, we are making this code available to the relevant bodies in the event it may be of use. Given the urgency of the current situation, no amount of help is enough. That is why we have designed and programmed the basic core of a project with 100% functional apps that can respond to some citizens’ needs during the quarantine period. The design is flexible enough to add or change functionalities in an easy and fast way, which is what we need now. This application aims to help citizens and fight the pandemic. Be responsible. Together, we will defeat the virus! #iamstayinghome

Legal considerations

The project has not been published. Before publishing, one of the things that must be done is its adaptation to the legislation on the processing of personal data. The project is available to any Ministry of Health, state administration or competent autonomous administration for implementation. They will be responsible for the dissemination of the app and processing of the data obtained, following the GDPR Law. The data collected must be managed following the law regarding security measures for its storage, maximum term of custody and storage, and information on user rights (especially information concerning purpose and revocation of consent). Likewise, although this app asks the user for their consent, the GDPR Law also contains exceptions to the need for prior consent for the treatment of data, in the event of an epidemic or for the protection of people's health based on general interest, which is our current situation. The scenario in which this report focuses is one in which the autonomous health authorities adopt extraordinary measures for the protection of public health, since it is the only body authorized to adopt this type of measure.

According to the Spanish Data Protection Authority (APED) To comply with decisions about the coronavirus pandemic that are adopted by the competent authorities, particularly health authorities, data protection regulations should not be used to hinder or limit the effectiveness of the measures that these authorities adopt in the fight against the pandemic. Data protection regulations allow the adoption of measures necessary to safeguard the vital interests of individuals, essential public interest in the healthcare field, the performance of medical diagnostics, or compliance with legal obligations in the work sphere, including the treatment of health data without the need for the explicit consent of the affected party. In any case, the processing of this data must observe the principles established in the GDPR, in particular those of minimization, limitation of purpose and minimization of data retention.

Project Structure

The project is built on top of an horizontal architecture of node servers running on dockers and being balanced against a mongoDB database. The design allow to replace the database by whatever data stores since repositories (classes in charge of comunicating with the data store) are decoupled from the rest of the code. The framework used is Loopback 4, which allow to define models, controllers, repositories and datasources completely decoupled.

Apart from that, we know that this application should be integrated with health department databases, so we have define some services as interfaces allowing easily to integrate it with real databases by just implementing those interfaces.

The project is organized as follows:

  • server - NODE server (Loopback)
  • app-citizen - Code of the CitizenApp (Ionic)
  • dashboard - Code of the web dashboard where the data analysis will be performed (Angular) (coming soon)
  • app-police - Code of the Authorities’ App (Ionic) The app compiles for both Android and iOS.

Server

To run the server, you need a mongoDB database and must adjust the .env.dev or .env.production settings accordingly. You will also need to download all dependencies using

cd server
npm install

Finally, to run the server use

npm start

Citizen App

The App is made with the ionic framework. You will need to install the client using

npm install -g @ionic/cli

You will also need to download all dependencies using

cd app
npm install

Then, to run it use (use configuration parameter to force english version)

ionic serve --configuration=en

This allows you to run the app in a browser.

Citizen App displays (main element of the project)

Pantalla 1 Pantalla 2 Pantalla 3
Pantalla 4 Pantalla 5 Pantalla 6
Pantalla 7 Pantalla 8 Pantalla 9
Pantalla 10 Pantalla 11 Pantalla 12

License

MIT License

Special thanks

Special thanks to Trayma Traducciones for the english translations

Special thanks to Alex Nogues for translate to english the wiki

How you can help

PRs welcome.

You can’t perform that action at this time.