Elsa for CTC is a project combining different tools and programs choerographed to improve the effectiveness of Health Care providers to take care of PLWA, all the while embracing digital systems.
Things we care about:
- Simple interfacing of personnel to the system
- Lowering barrier of entry in tech for health
This repository contains the documents and source code that talk about the system responsible for creating the Elsa for CTC Project. This README is intented to brush over the key things to look for within the repository.
The different elements that make up the project include:
- A Mobile Application
- A Synchronization Server
- And a EMR Storage module
- Dashboard System
An in-depth explanation for this can be found here. But in the meantime, here's a photo showing the basic structure of the system
Most of the introductory information about the Elsa for CTC can be found in this README.
But when higlighting more specific information, you might want to check out the other linked documents below:
To be able to build the project on your successfully on your end. You'll need:
- NodeJS (at least v14, preferable LTS)
- yarn (at least v1.22.14) - This is important as the project monorepo was made for yarn. (npm, or pnpm might not work)
- OpenJDK 11 (or any A Java Development Kit and Runtime)
- Android SDK Platform Tools
*If you'd want to development on top of what currently exists. You might to also include:
- Emulator application (Android Studio or Genymotion)
- A code editor of your choice (VSCode is great!)
-
After
git
cloning this project. Make sure to import the content of the submoules using:git submodule update --init --recursive
-
After acquiring the above requirements, and make the appropriate configurations for each application (like setting
export ANDROID_SDK_ROOT=
), navigate to the project folder throught the terminal and install the project by running:yarn install yarn build
-
We are using a firebase project to store information over there. So you should include your own
google-service.json
in themobile-ctc/android/app
.
The project is a Mono-repository (monorepo) created with Turborepo. Making it easier to house and work with the different building blocks that make up the entire project.
The project is split into 3 repositories:
mobile-ctc
- The main repository housing the mobile application that is used by the health care providers to interact with the systemdacc-server
- The repository housing the server that is used to sync the data between differentmobile-ctc
applications@elsa-health/emr
- The repository housing the module that is used to business and storage logic for themobile-ctc
applications as well as the housing types that used across the projects / repositories (e.g.Patient
,MedicationRequest
,Visit
types)
To be able to make contributions to the different parts of the project you need to make use of the workspace commands made available by the packages
manager (in our case, yarn
) and make the installations accordingly.
So to work with the mobile-ctc
application you'll need to run:
yarn workspace mobile-ctc android
More on using workspace related commands see Yarn workspaces