An open source project to support the delivery of Health Care in Remote locations, using the Twilio communication system and the Quasar web framework. Components for development (current prototype):
- A Twilio plugin to take the number called and log details, to show a list of people who have called on that number, and log details about the caller, access information about that locality including maps, details of closest clinic, air strips and other distances (currently the 1st or caller page in the Quasar project)
- A Quasar web page which launches committed to a single location - controlling entry to the facility, control of the video cameras and voice, remote monitoring and dispensing. This component (currently pages 2 - Entry, 3 - Video, 4 - Monitoring and 5 - Dispensing in the Quasar project) will need to have the video feeds, entry controls, monitoring and dispensing controls extracted into a location specific set up.
- Remote Call DB a separate database project using Express and better-sqlite to store and retrieve information, logs and dispensing information.
yarn
# or
npm install
quasar dev
yarn lint
# or
npm run lint
yarn format
# or
npm run format
quasar build
See Configuring quasar.config.js.
Depending on what you have installed already this may take some work. Remove old versions of node, npm and yarn if they are present (unless they are in use of course!)
You can use npm (node package manager) which is the traditional way of managing Javascript frameworks and packages
Yarn is a newer and easier Javascript package manager for newbies
sudo apt-get install yarn
There seems to be some dispute over names (!!) a program called cmdtest may be selected which has no relation to yarn.
See the discussion groups for a solution.
The frameworks used to create Quasar are node.js and vue.js
Vue will complain if the node.js version is too old - likely the Ubuntu repository accessed by your package manager has an older version In my case it was 10.* when vue needs >=12.0
Add a PPA repo to your package lists with
# Home directory
cd ~
# write a bash script to /tmp - inspect this for security with nano if you wish
curl -sL https://deb.nodesource.com/setup_16.x -o /tmp/nodesource_setup.sh
# run the script as root
sudo bash /tmp/nodesource_setup.sh
# download node.js
sudo apt install nodejs
# Check the version
node -v
In my case it was 16.0
Now use Yarn to install vue
yarn add vue.js
and create Quasar
yarn create quasar
This should give you a dialog where you are asked for various options via the command line to set up your project Then navigate to your project folder and run
vue add quasar
quasar dev
This should create a running instance of Quasar and open a Quasar webpage at localhost:8080
But if the project home folder is blank the index will default to the Quasar front page
Clone this repo to the folder where you intend to edit/run the app
# navigate to project folder
cd `~/../<project_folder>
git clone https://github.com/samheard/digital-first
Create another instance of the Quasar server Note that you have to be outside the project folder
yarn create quasar
Edit the various options presented on the CLI
Generally accept the defaults
Navigate to //digital-first
Add quasar to vue with
vue add quasar
You will be asked whether to modify some files - dont!
Otherwise you will end up with the default webpage again
Then start the server with
yarn quasar dev
If all is well you should see the current state of the project
git clone https://github.com/samheard/RemoteCalldB
Follow the Readme.md to install
The dispensing cycle is as follows: There are 3 categories; 1 = Medication with expiry date, 2 = supplies no expiry date, 3 = reusable device There are two columns; Available Y/N and open Y/N
The button on the dispensing table has the following labels:
- Open - blue with white text
- Close - red with black text
- Refill - outline only - as refills are not enabled
- Refill - yellow with black text - refills enabled
When refills are not enabled (toggle on the top of the dispensing page)
Categories 1 & 2: Open -> Close -> Refill outline (no further possibilities) Category 3: Open -> Close -> Open (device returned to locker)
When refills are enabled
Categories 1 & 2: (Open ->) Refill (yellow) -> update locker content dialog -> Close -> Open Category 3: Open -> Refill (yellow) -> update locker content dialog -> Close -> Open
The two columns keep tabs on whether there is available contents and whether the locker is open.