Health29 platform scenarios – main principles
Patient Data Platform
The goal of the platform is to store patient’s data from different conditions and serve as daily support tool for patients and families. Primary users are patients and patient organizations. Secondary users are physicians.
The data stored in Health29 are personal data, demographic data and clinical data (with special focus on phenotype and genotype). Health29 is designed with a patient focus approach, the patient is the ultimate owner of the data and has the last word regarding custody, access by third parties and access revocation.
The other main users of the platform are patient organizations. The patient organizations in Health29 are the aggregators of individual patient information and perform a custodial and advisory role on access to information. In other patient data platforms this role has been assumed by the physician but in Health29 this role can be done by patient organizations.
GDPR is a great opportunity to empower citizens. The possibility for patients to have their medical data is a new paradigm for the healthcare ecosystem. But patients need secure containers where to store that data because medical data is the data with the greatest impact on privacy. Health29 is Foundation 29's data platform that provides patients with that secure container in which to store their medical information.
Patient Data Platform is built with a set of modules to keep information of patients with a disease (*)1:
General data points module: Contains basic personal and clinical data from patients. Data will be accessed and viewed differently according to the type of user (i.e. patient/parent/caregiver, clinicians, researcher, patient manager (usually patient organizations).
Clinical data points module: Contains Patient Reported Outcome Measures (PROMs), they are data generated by patients. This data is stored a structured way and using current standards for capturing clinical data.
Phenotype information module: Assists the user to identify the symptoms of the patient and put together a clinical phenotype. Phenotyping has been done in the past using professionals reading clinical records and extracting symptoms manually or by physicians doing the physical examination and anamnesis (patient’s medical history) capturing process.
Genotype information module: NGS is the primary source of information for patient genomic data. If full NGS data is not available Health29 provide an alternative way to code patient genetic information.
You can consult the documentation on the architecture of the H29 project.
This project contains the core of the H29 platform, the webapp. In particular in this repository is the server code of the project.This project contains the methods to access the different services that the H29 client will need.
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.
As a minimun, for local develop it is mandatory to configure the file config.js.sample. So, to be able to compile and execute this project you have to modify the extension of the config.js.sample file, removing ".sample" (you have to modify config.js.sample by config.js) and here complete the information of the secret keys of the services.
If you want to deploy on production environment you must configure in the Azure App Service in Configuration/Aplication settings the variables defined in config.js file.
To execute the project it is necessary to implement or configure a list of external services according to what is explained in the H29 architecture document.
Thus, we will mainly need:
- An Azure Blob storage for patient information.
- Two Azure Cosmos DB: one for accounts information and the other one for data information.
- F29 apis (api) -> TODO: URL to our opensource service
Download the repository code with git clone
or use download button.
Run npm install
to install the dependencies.
The project requires a current, active LTS, or maintenance LTS version of Node.js. In particular, we are using v12.13.0.
Run npm run serve
and the server will be deployed on http://localhost:<port>/
(port is configured in config.js file).
You can consult the documentation on the architecture of the H29 project.
- H29 client
- TODO: F29 API services github