Note
This document is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Author: | Luis Falcon |
---|---|
Contact: | info@gnuhealth.org |
Version: | 2.2.0 |
Warning
MyGNUHealth Personal Health Record is not intended to replace the advice of a health professional. Your doctor, nurse, nutritionist and psychologist are the best sources for your health and well-being.
Contents
MyGNUHealth is the GNU Health Libre Personal Health Record. This application can be used on desktops and mobile devices.
MyGNUHealth is a desktop and mobile application that helps you to take control of your health. As a Personal Health Record, you will be able to record, assess and proactively take action upon the determinants of the main health spheres (bio-psycho-social).
MyGNUHealth will be your health companion. You will be able to connect with your health professionals, and share the health data you wish to share with them in real time.
MyGNUHealth puts you in the driver's seat, as an active member of the system of health.
A Personal Health Record must respect the freedom and privacy of the individual.
There are Personal Health Record applications in the market, but MyGNUHealth is unique. MyGNUHealth is a Libre program that respects your freedom and privacy. By Libre we mean that the source code of the application is available; the user can modify it if they wish, and interact with the community to improve the application. You are in control of the application. Unlike other closed-source health applications, you can rest assured that your health information won't be leaked or sold to anyone.
MyGNUHealth is part of the GNU Health ecosystem (https://www.gnuhealth.org), a project that uses state-of-the-art technology to deliver Social Medicine, equity, freedom and privacy in healthcare.
MyGNUHealth is licensed under the GNU General Public License v3+. It is Libre, and it will remain Libre.
MyGNUHealth will be available from different sources.
Note
Before installing MyGNUHealth via pip, double check that your operating system or distribution has the package . The package is the best way to keep MyGNUHealth updated with the latest functionality, patches and security fixes.
MyGNUHealth uses the Kivy framework and other great Python libraries.
The easiest way to install MyGNUHealth in your computer is via pip
$ pip install --user --upgrade mygnuhealth
(Keep in mind some systems might have pip3 instead of pip)
Warning
Never install MyGNUHealth with pip using the root user.
Click or tap into the MyGNUHealth icon on your mobile device or desktop. You will be presented with the welcoming screen.
Depending on the installation method, the icon on the menu might not be present. You can always invoke the application from the command line. The startup program can be found under
~/.local/bin/mygnuhealth
The very first time MyGNUHealth is run, you need to enter very basic information about yourself. The date of birth, height and sex are the main parameters to be included. They are used in medical contexts, so is important that you fill them in. In this step, you will also create your personal key
You need to enter the personal key that you created when setting up your profile. Remember the password is case sensitive.
If you later want to change your current password, you can do it on the "Profile settings" menu.
Once you sign in, you are presented to the MyGNUHealth main screen, with the main components:
Note
The main screen components and layout might change from one release to another.
MyGNUHealth can discover and pair medical devices and health trackers that use the bluetooth protocol. Currently it provides initial (experimental) support for the PineTime smartwatch, to retrieve the heart rate and automatically incorporate it to the PHR clinical data.
In addition, we have a generic approach to different trackers and devices, such glucometers, blood pressure monitors, scale or sleep monitors, among others.
We are looking for devices that are open hardware and that respect your privacy and freedom, so please let us know if you know any and we'll be happy to integrate it to MyGNUhealth!
The logout action closes all the pages, signs you out from MyGNUHealth and takes you to the initial screen.
The about page gives you license information, credits and the version. Knowing the version is important so you can report issues or know the latest functionality.
MyGNUHealth profile and databases are stored in your home directory, under ".config/mygnuhealth". You can backup that directory.
As we mentioned in the introduction, MyGNUHealth has two main sections, the Health tracker and the book of life.
The Health Tracker currently has three main blocks:
Note
In upcoming versions, MyGNUHealth will support for smartwatches, such as the PineTime, glucometers, oximeters and other devices that are open hardware and use open protocols.
The different contexts within the health tracker are encapsulated into items called "cards". The layout and contents of the cards contain a descriptive icon, a title and the last reading (date and values). In the lower corners of the cards there are two icons, one for the chart and in the lower right corner one to add a new entry.
All health tracker cards share the same layout.
Note
You can take as many measures as you need during the day. It is normal for some parameters to be taken several times during the day, like in the case of glucose. However, there are some parameters that usually are taken once a day (i.e., weight).
- Steps
- Aerobic and anaerobic activity (minutes)
MyGNUHealth allows you to keep a log of your mood and energy levels, either on a daily basis or the different times during a day. Keeping track of how you feel about your mood and energy provides a great deal of information to your health professional.
Please also provide your sleep patterns (see lifestyle section) that complement this mood and energy tracker.
The mood and energy meters are sliders situated on the left side of the page. In order to register a new entry, you need to activate (click on the slider) and set the current level.
On the center of the page, there are two emoticons, that change depending on the mood and energy levels.
Mood levels: The mood level has the [-3:3] range. Frequent values on the extremes (extremely happy (+3) or extremely sad (-3)) could be associated to mood disorders.
Energy level: The energy level is represented by the battery emoticon, and the interval has a range from 0 to 3 [0:3]. Zero being exhausted and 3 supercharged. As in the case of mood levels, frequent values on the extreme might be a warning sign of a mood disorder or other medical condition.
Note
It is your health professional who will make the best reading out of this and other logs from MyGNUHealth. Please consult with them. They will be able to interpret the recordings in a much broader context, with your help and other domains and readings from MyGNUHealth.
MyGNUHealth provides time series charts, so you can keep track of your evolution in the different health domains. To access the chart, you just have to click on the right side
Starting MyGNUHealth 2.0, we are using the pygal package.
Finally you can restrict the chart to a particular date range, either using the keyboard or the built-in calendar widget.
The other major section on MyGNUHealth is the Book of Life (BoL). Think about it as a health dairy, where you can register any event that happens in your lifetime, and that it can have an impact in your health and well-being. Each entry in the BoL is called a Page of Life. A difference with a traditional diary is that in MyGNUHealth, you can have many pages of life per day.
In the previous chapters and section, we covered the Personal Health Record (PHR). Anytime you register a new reading on your blood pressure, steps, calories, mood, etc.. MyGNUHealth generates an associated Page of Life entry.
Note
If you have configured MyGNUhealth to be part of the GNU Health Federation, the password field next to the "Create a new page" icon will be enabled
At the top of the book of life you will find to widgets:
Click on the New Page icon and you will be able to create a new page.
A new Page of Life is created by clicking on the top
By default, the date and time of the page of life will set the current time. You can adjust it to the specific date in the case of a past event.
Short, specific, summary of the page of life
Choose the importance of this page of life. You can pick it from:
As we just mentioned, the basic unit of information in MyGNUHealth is the Page of Life, and corresponds to a relevant event. To facilitate data gathering and information processing, each page of life has a category (domain), and each domain has several sections (contexts).
At the moment that you choose a particular domain, the context selection field automatically sets the list of contexts associated with that domain.
Domain | Contexts |
---|---|
Medical | Health condition, encounter, procedure, Self monitoring, Immunization, Prescription, Surgery, Hospitalization, Lab test, Dx Imaging, Genetics, Family History |
Social [1] | Social Gradient, Early life development, Stress, Social exclusion, Working conditions, Education, Physical environment, Unemployment, Social Support, Addiction, Food, Transportation, Health services, Family functionality, Family violence, Bullying, War, Misc |
Lifesyle | Physical activity, Nutrition, Sleep |
Biographical | Birth, Death, Misc |
Other | Misc |
If you enable this field, this record will remain private, stored locally, and will not be shared in the GNU Health Federation.
The structure of a Page of Life is constant for all domains and contexts, with the exception of the Medical Genetics context.
Thanks to UniProt [2], MyGNUHealth provides an up-to-date dataset of over 79000 natural variants and genetic conditions. The current dataset is based on UniProt index of human variants 2021_03 of 02-Jun-2021
In this context, you can enter any sort of information related to genetics. The natural variants / mutations are one of them.
Example on Cystic Fibrosis
The example will help to better understand how to create a Medical Genetics page of life. A health professional, after the evaluation of a patient, is suspicious about the clinical signs being compatible with cystic fibrosis and orders a genetic test to confirm. A genetic test was performed on the Cystic Fibrosis Transmembrane Conductance Regulator (CFTR) gene. The molecular test on CFTR gene confirmed the clinical suspicion of the health professional, with this result:
Discussion MyGNUHealth only requires the RefSNP ("rs") id related to the natural variant. Once the rsid is entered, the rest of the fields are automatically filled. In fact the rest of the fields related to the RefSNP are read-only.
Gene: The gene associated with that natural variant (eg, P13569) AA Change: The amino acid change and position (eg, p.Ser13Phe) Natural variant: The specific variant ID are related to the RefSNP. Protein ID: The UniprotKB protein ID (eg, P13569) Significance: The clinical significance of the protein natural variant can have the following values:
As described by the UniProt consortium, the significance (category) field shows the classification of the variant using the American College of Medical Genetics and Genomics/Association for Molecular Pathology (ACMG/AMP) terminology (Richards et al. PubMed:25741868)
Disease: If the natural variant is pathogenic, MyGHNUHealth will also display the associated disease(s). Along with the disease name, the MIM code is included in brackets (eg, [MIM:219700]).
Details textbox: The last relevant field is the "details" textbox. In this text area you can enter extra information about the variant or genetic condition in your personal experience. Information about the age of onset, family history, clinical manifestations, etc..
Getting more information about a protein and variants There are different ways to get more information about a specific variant. If we know the protein ID, one good approach is to search for it at UniProtKB. In this example, we would look for "P13569". Look at the section "Involvement in disease". The MIM code is part of the Online Mendelian Inheritance in Man (OMIM) database [3]. You can get the latest information on that by entering the code (eg, 219700)
If you have a Federation account and you have setup the network settings, then you will be able to sync your Pages of Life, pushing them into your Book of Life.
You just need to enter your Federation account personal key and click in the sync button on the right (the icon with a cloud shape).
At that moment, all the pending records will be sent to the GH federation.
Prerequisites to push:
Once you have typed in your federation key and press enter, the pages will start pushing in the background. You will notice a busy indicator animation while the synchronization is taking place. The synchronization is an asynchronous, non-blocking operation, so you can keep on working. We do recommend, however, to stay on the page until the synchronization process is over and the busy indicator disappears. In any case do not close MyGNUHealth until the process is over.
The following diagram shows the main items and actions in the Book of life view.
Science can not evolve if the information is kept in private hands. If we, as a society and as a scientific community, want to find solutions for neuro-degenerative diseases, cancer, autoimmune conditions, metabolic and genetic disorders, we need open science.
GNU Health is the Libre Digital Health ecosystem [4]. It has several components, such as a Hospital Management Information System (HMIS), a Lab Information System (LIMS), and the Personal Health Record (MyGNUHealth), among others. One of our goals is to deliver universality in health informatics.
All these components can interact with each other through the GNU Health Federation. The GNU Health Federation links patients, health professionals and researchers.
MyGNUHealth is a unique Personal Health Record system, because it combines the socioeconomic determinants of health with the molecular basis of disease. The environment (what you eat, where you work, where and with whom you live.. ) plays a crucial role in many of today's most devastating and elusive diseases.
MyGNUHealth and the GNU Health Federation open a fantastic opportunity in the areas of epigenetics and precision medicine. There are still many genetic variants of uncertain significance, and many environmental factors that can regulate gene expression.
The GNU Health ecosystem and its international community provide the key for boosting the research in bioinformatics, social medicine and public health. We need our governments to use Free/Libre software in the public administration, particularly, in the education and public health systems.
Last but not least, we need to work on human-relevant, animal free research. Science can not be complicit in the enslaving, torture and killing of millions of innocent beings in laboratories around the world. Speciesism and any other type of discrimination (racism, sexism,..) are appalling and must be abolished. In 2020 I signed with other scientists an open letter lead by Animal Free Research UK, a call to accelerate human-focussed medical research [5]. Today there are safer, effective and cruelty-free alternatives. Let's embrace them.
You can contact us at info@gnuhealth.org
To report bugs, please subscribe to the general GNU Health mailing list (https://lists.gnu.org/mailman/listinfo/health)
Footnotes
[1] | Many of the Social contexts are from the World Health Organization social determinants of health. |
[2] | The UniProt Consortium - https://www.uniprot.org |
[3] | Online Mendelian Inheritance in Man - https://www.omim.org |
[4] | The Libre Digital Health ecosystem - https://www.gnuhealth.org |
[5] | A call to accelerate human-focussed medical research https://www.animalfreeresearchuk.org/openletter/ |