Dx29 is a platform built to assist medical professionals during the diagnosis process to make it quicker and more accurate when dealing with rare diseases.
No tool can replace the knowledge of a clinician or physician, so we have designed Dx29 to help those professionals tap into the global community of medical knowledge to facilitate decision-making and diagnoses that might otherwise remain a mystery. Based on the symptoms drawn from a patient’s medical history, and suggesting new symptoms to look for. Dx29 offers medical teams possible pathologies from a wide range of rare diseases that many doctors may not have first-hand experience with.
Dx29 extends this idea further by offering medical teams feedback from their patients as new symptoms arise and leveraging available genetic information to surface additional pathologies that may not appear through standards tests. By combining the fundamental basics of good health care with cutting-edge medical technology, Dx29 gives medical professionals the chance to offer their patients a level of care that might not otherwise be possible.
You can consult the documentation on the architecture of the dx29 project.
This project contains the core of the dx29 platform, the webapp from where the frontend will be developed and the communications with different services to provide functionalities. In particular in this repository is the client code of the project.
This project was generated with Angular CLI version 9.0.1.
The project uses gitflow workflow. According to this it has implemented a branch-based system to work with three different environments. Thus, there are two permanent branches in the project:
- The develop branch to work on the development environment.
- The master branch to work on the production environment
And for the test environment, release branches will be created.
This project uses external services.
For each of the environments it will be necessary to configure the value of the secret keys to connect with the different APIs. So, to be able to compile and execute this project you have to modify the extension of the src/environments/ files, removing ".sample" (for example, you have to modify environments.ts.sample by environments.ts) and here complete the information of the secret keys of the services.
As a minimum, it is mandatory to perform these actions on the environment.ts file (to work locally) in order to compile and run the platform. If you want to use any of the other environments, it is also essential that this file has been modified in addition to the one corresponding to the environment on which you want to work.
To execute the project it is necessary to implement or configure a list of external services according to what is explained in the dx29 architecture document.
Thus, we will mainly need:
- Two Azure Blob storage, one for settings and the other one for patient information.
- Exomiser service
- Phenolyzer service
- F29 apis:
- (svc,bio,api,ncr) -> TODO: URL to our opensource service
Download the repository code with git clone or use download button.
Run npm install to install the dependencies.
Angular requires a current, active LTS, or maintenance LTS version of Node.js.
Run ng serve or ng serve -aot. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
It is mandatory to run the Dx29 server before.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory.
In the package.json file different scripts have been implemented to perform the build of these environments:
- build for localhost
- buildDev for development
- buildStaging for test
- buildProd for production In each case the corresponding environment file is used.
Run npm run <script> to build the project for each environment. The build artifacts will be stored in the dist/ directory.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve.
To get more help on the Angular CLI use ng help or go check out the Angular CLI README.
You can consult the documentation on the architecture of the dx29 project.
- Dx29 server
- Exomiser service
- Phenolyzer service
- TODO: F29 API services github

