An introduction to GNU Health Embedded
A diagram of the PrivacySafe Health Edition device.
The COVID-19 pandemic has demonstrated the vital importance of public health, scarring the globe with a dreadful impact on humanity. This harm is rooted in our technological landscape, as societies are not only injured by inequity in their healthcare systems, but also inequity and injustice built into the hardware and software they rely upon. Free software has a central role to play in the public health arena, a fact embodied by GNU Health and its deployments around the world. GNU Health Embedded, as I'll explain in greater detail below, is an initiative that extends the benefits of GNU Health by making it even more portable and simple to use, by applying it to small single-board computers.
GNU Health is a hospital information system that empowers individuals and organizations to manage electronic health records, laboratory information, and other health data. In addition to this broad functionality, GNU Health exemplifies the concept of social medicine -- focusing on people as humans and not just as patients. "GNU Health works first on the main pillars of a society," says project founder Luis Falcón. "As a result, the government will have better tools for health promotion and disease prevention. The government will be better prepared to fight this pandemic and future outbreaks."
I first learned about this vision at LibrePlanet 2018, becoming convinced that free software could create positive change in public health. That belief culminated in my work on GNU Health Embedded, coming full circle in my presentation for LibrePlanet 2020.
Laying the groundwork
In 2019, I founded a startup called PrivacySafe to bring private and secure free software to free hardware devices. Our focus was small and portable single-board computers, empowering people with libre technology they could carry in their pockets. We chose the BeagleBoard.org BeagleBone AI as our first target hardware, favoring BeagleBoard.org's commitment to transparency, which includes the publishing of schematics. BeagleBone AI is the latest in the BeagleBone line, improving upon the popular BeagleBone Black with solid backwards compatibility. (Though BeagleBoard.org builds some operating system images that include proprietary firmware, PrivacySafe only ships versions with 100% free software.)
Building upon a Debian GNU/Linux base, we decided to bring a variety of software to the platform, with PrivacySafe shipping various "editions" for different configurations. One of these was our Health Edition, shipping with GNU Health as part of the GNU Health Embedded project. GNU Health Embedded had already featured openSUSE images for Raspberry Pi hardware and, with the project's blessing, PrivacySafe would now add Debian images for BeagleBone hardware.
The PrivacySafe story is one of transformation. In the midst of COVID-19, the PrivacySafe Technology Foundation was founded as a separate nonprofit entity. It inherited the startup's work via the sustainability of free software licensing. The nonprofit PrivacySafe is now focused on remote education and health care, aligning our mission more closely with that of GNU Solidario, the nonprofit behind GNU Health.
This alignment was on full display at the Flatten The Curve Summit, when we brought together experts in public health, as well as technologists, makers, and free software advocates. Trish Greenhalgh spoke about remote consultation for COVID-19, Cory Doctorow gave his perspective on the post-pandemic world, Michael McMahon presented the Free Software Foundation (FSF) Hackers and Hospitals initiative (which you can read more about in this issue of the Free Software Foundation Bulletin) , and both Luis Falcón and I presented separately about our respective work for GNU Health. We did this all via BigBlueButton, a free software videoconferencing solution.
Confronting the COVID-19 challenge
A variety of default features already built into GNU Health make it especially useful during pandemics and similar crises. The underlying philosophy of "people before patients" means that this software already places a high emphasis on demographics and health infrastructure. Though GNU Health offers a slew of functionality that can help tackle pandemics such as COVID-19, it's worth highlighting a few areas that emphasize the software's utility during a crisis.
Social medicine requires information about people, where they live, and the conditions they live in. For this reason, GNU Health stores information about "domiciliary units" (DUs). These can be houses, apartments, buildings, or even temporary quarters for quarantine. The system also stores data about the infrastructure, sanitary conditions, and people occupying the DU. This is key to tracking possible contacts of individuals infected with a pathogen. Information about lines of communication (telephone, Internet, or lack thereof) is also vital for emergencies, and an understanding of a DU's size and layout gives crucial insight into overcrowding that would facilitate spreading of disease. Each DU can be geotagged via OpenStreetMap.
GNU Health allows organizations and administrators to better understand the spread of a pandemic, giving them the tools required not only for better insight but for faster and more effective action. For example, the software can reveal demographic correlations (ethnicity, sex, age, income, education level, population density) in a disease's incidence and prevalence. Health institutions can also use GNU Health to keep track of personal protective equipment (PPE) and other supplies, as well as the number of health professionals and their specializations, number of beds, and occupancy levels. Critically, GNU Health can be used to track a disease's incidence, prevalence, and mortality per institution.
Privacy, portability, and the pandemic
Specific features of GNU Health also highlight its privacy and portability. These features are a great fit for PrivacySafe and GNU Health Embedded deployments, positioning them in stark contrast to proprietary, surveillance-laden solutions.
Contact tracing has always been a vital component of public health strategy, as has been highlighted during the COVID-19 pandemic. The solutions suggested or implemented by governments, however, have been disappointing or downright scary. Location tracking via cellphones, Bluetooth, and even public registry have been used around the world with a serious impact on personal privacy. Google and Apple, who together control 95% or more of the smartphone market, have emerged as the dominant players in contact tracing. Though the Google/Apple implementation may not be adopted by governments and its accuracy is in question, it introduces tracking software into Android and iOS at a low level. We do not trust Google or Apple to respect privacy in the context of contact tracing, and the additional tracking they are introducing to smartphones is likely to be abused. The track record of these Big Tech companies with regard to privacy is abysmal, embodied by the always-on surveillance of products like spy speakers.
GNU Health, in contrast to Big Tech proposals, offers more traditional contact tracing with the added bonus of federation via a universal ID. While interviewing a person about their recent contacts, a health professional can record contact information alongside the rest of the patient's health record. Since GNU Health instances are now federated, the patient will be given a unique, universal identifier or "federation account." This account is valid outside of the institution and the specific GNU Health instance, making it possible to share the patient's clinical information around the world. That mobility and portability will be further bolstered by myGNUHealth, a personal health record application currently being developed with KDE Kirigami, and targeting libre mobile devices as well as desktop environments.
Perhaps most vital during a crisis, GNU Health reduces friction in testing and enables mobile test stations to be set up quickly and at low cost. Global health organizations have stressed the importance of testing through the COVID-19 pandemic, emphasizing testing as the best way to identify the spread of the novel coronavirus, as well as the only way for governments to safely reopen their societies after isolation. GNU Health workstations, which can be powered by portable single-board computers, can be deployed rapidly and can send data in real time to other GNU Health instances, with results that are signed and verified via GnuPG.
Goals for GNU Health Embedded
GNU Health and PrivacySafe are working together on GNU Health Embedded for portable free hardware devices. Our first goal is diversity, supporting multiple GNU/Linux distributions and hardware platforms. We're still working on our development roadmap, but can share some features that we know will boost the utility and privacy of GNU Health Embedded.
It's important to make GNU Health as easy to set up and configure as possible, especially for devices that are meant to be bootstrapped in minutes. For this reason, we'll be working on the administrative backend, either offering a Web-based admin interface, a CLI or dialog-based UI, or both. We're currently exploring options such as the Cloud9 IDE that BeagleBoard.org ships with its default images, and the confconsole that Turnkey GNU/Linux ships with its server images.
For improved privacy, we want to introduce Tor and onion services as an option. This will not only allow GNU Health to privately and securely send information to other federated GNU Health nodes, but it will also allow those nodes to circumvent censorship. Onion services simplify network addressing and remove barriers that can make it difficult for nodes to share information.
For similar reasons, we want to introduce the privacy-by-design 3NWeb protocols as an option for syncing and backing up data, as well as messaging between GNU Health administrators. In portable/mobile deployments, the ability to have quick and private conversations without resorting to insecure communication channels is a huge win.
Finally, we want to add public health resources that feature open data and free culture works. During a pandemic or other public health crisis, the ability to get reliable information that is also tailored to your location can be a critical factor for your health and survival. If a GNU Health Embedded device hosts this information via a simple HTML page based upon language and locale, for example, it would allow users in isolation or quarantine to stay informed using just their Web browser. Projects such as Nextstrain and the COVID-19 Dashboard reveal the power of public health data when combined with free software.
The goals of the free software movement are rooted in liberatory social change -- a conviction that information should be developed, remixed, and shared for the good of humanity. GNU Health reflects these ideals, and has demonstrated their strength. The project has not only weathered the peak of the COVID-19 storm, but will become stronger and more resilient because of it.
If you would like to help and contribute, start with the GNU Health documentation, connect with PrivacySafe via Matrix, or email firstname.lastname@example.org. With your support, we can move toward a better world -- one that responds effectively to public health crises with empowerment, humanity, and free software.
Graphic Copyright ©2020 by Sean O'Brien. This image is licensed under a Creative Commons Attribution ShareAlike 4.0 International license.