Covid-19 Screening Interface using Covid-19 OpenEHR Clinical Models
Developed in the Open
This repository contains software which enables an organisation to rapidly deploy a Covid-19 screening programme. Data collected will be stored in the local openEHR database and reports to the WHO standard made available.
Being Open Source, the application can be implemented within an organisation using existing systems therefore reducing privacy and information governance challenges associated with cloud systems.
Being modular, the application can be connected to an existing openEHR repository or operated with a stand-alone repository.
The aims of this project are:
- Development of a clinicaly safe and sustainable Open Source Covid-19 screening application
- To ensure that it is accessible to anyone anywhere to use and improve
- Simple to deploy and operate
- Build using open standard interfaces and components
- Enable the user to collect screening data in an open, reusable and manageable way
- Provide reports to the WHO mandated standard
- Simplify and ensure maintenance of privacy
Project governance is be managed via the Custodian model with Apperta performing the Custodian role. This ensures that the software is perpetually available without encumbrance whilst being safe, secure and professionally supported.
openEHR CKM : https://ckm.openehr.org/ckm/incubators/1013.30.80
- openEHR CDR: ehrbase
- Front-end: REACT
- Back-end: DJango
The screening delivers a web form which enables the user to input responses to the screening questions and store the result in an openEHR Clinical Data Repository (CDR).
Basic information on the subject is stored (the name or ID) and reporting of cases available.
Contributions are subject to a CLA to ensure that contributions do not restrict how this software can be used. If you are not comfortable with this, you may still fork / copy the code and set your own rules. However to ensure that health professionals who rely on this software have perpetual and unencumbered use of this application, a CLA is necessary for our supported versions.
The software is provided as docker-compose containers whcih creates a low barrier to entry. However the associated docker files and images can be used within many container orchistration systems.
During the development phase, the instructions cover the individual components. The release version of the app will only require a single docker-compose which will perform all of the steps.
These instructions should get a CDR and the app up and running on a cloud hosted service or a local computing resource.
Use a recent Linux, for example
- Debian
- Ubuntu / Mint
- Centos / Fedora
or anything else that runs Docker.
For typical Linux systems, an up to date Docker can be installed as follows:
curl -fsSL https://get.docker.com -o /tmp/get.docker.sh
sudo sh /tmp/get.docker.sh
Other installation information can be found here: https://docs.docker.com/install/
ehrbase can be installed using the docker-compose file here: https://github.com/OpusVL/ehrbase-docker-compose
In summary:
- Download the ehrbase compose file:
git clone https://github.com/OpusVL/ehrbase.git
cd ehrbase
docker-compose up -d
git clone git@github.com:AppertaFoundation/COVID-19-screening-interface.git
cd COVID-19-screening-interface/frontend/
The docker-compose.yml brings in the back-end and runtime dependacies.
cd c19-backend
docker build -t quay.io/opusvl/c19:dev .
The compose should be considered unstable, paths and config will change.
The front-end is built in React. The following instructions should help get the development environment up and running.
Once complete, this will not be required.
Install and set up yarn - note that the last step may take a while
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
yarn
yarn
yarn start
00h00m00s 0/0: : ERROR: There are no scenarios; must have at least one.
Cause: outdated yarn (provided by cmdtest)
See solution: yarnpkg/yarn#2821
yarn run v1.22.4
$ react-scripts start
/bin/sh: 1: react-scripts: not found
Cause: starting before setting up
Solution: run 'yarn
' before 'yarn start
'
The application can operate within the existing IT estate of the customer therefore no data is stored outside the existing information governance scope through a standard installation.
Where information governance requires, approved hosting service should be used.
Please help us improve our documentation, installation process fix bugs, test and use.
You can engage and contribute in the following ways:
- Clone the repo's, make changes and create a Pull Request (PR)
- Raise an issue on Github
- Join us on Slack, contact info@apperta.org for details
- Share details of this project with others
- Add to the roadmap
Many people are involved in this project directly and indirectly and it builds on significant efforts of the industry and community. Some of the people in our direct team are:
- Dr Alexander Davey
- James C - Developer (OpusVL
- Adrianna - Front-end engineer (OpusVL
- Darren Wilson - User Experience (UX Centric)
- Paul B - Infrastructure engineer (OpusVL
- Nick - Developer (OpusVL
- Paul W - Developer (OpusVL
- Matt S - Developer (RBC/community)