GNUHealth on openSUSE
GNU Health is a Free Health and Hospital Information System that provides an integrative medicine approach, including the following functionalities:
- Electronic Medical Record (EMR)
- Hospital Information System (HIS)
- Health Information System
- Electronic signature for medical documents
This site describes the available GNU Health packages for openSUSE and the SUSE Linux Enterprise Server (SLES).
With the intent to provide a common installation method the GNU Health Project provides an installation method using a bash script (see also the GNU Health Installation Guide). Since this script aims to be distribution agnostic, it uses methods that do not integrate well with best practices on openSUSE systems.
A short listing of the advantages when using openSUSE or SLES packages:
- Full automatic handling of package dependencies.
- No need to install additional compilers or deal with source code – GNU Health is precompiled for your operating system version.
- Full integration with zypper, the distribution package manager. Zypper will not only update the system automatically, but the GNU Health installation as well
- Integration with systemd for automatic start and stop of the GNU Health system
- Management of the server with distribution tools.
The easiest way to install GNU Health is via the openSUSE One-Click-Install.
Just select the desired GNU Health and operating system version, One-Click will manage all the rest for you.
Read the section 'How to get it running (Without reading the Instructions)' of GNUHealth.README.SUSE ---
Installation of the GNU Health server
The very easy way
openSUSE comes with a setup-script, which should run as user root
su openSUSE-gnuhealth-setup setup
The script gives you an easy entry into the GNU Health world, but it should not be used for production environments, as this requires a more detailed setup (like dedicated database server).
Setup more in detail
For the first-time installation, a few steps have to be followed. We assume you have the package gnuhealth installed, as well the editor GNU nano.
Log in as root and start the database
su systemctl start postgresql
Change postgres parameters. You need to log in as user postgres, in order to avoid authorisation issues. Assuming we have nano installed as editor, and you are still logged-in as user 'root'
su postgres nano /var/lib/pgsql/data/pg_hba.conf
For a local connection (Database on the same machine) change the line with 'local' to TRUST:
local all all md5 to local all all trust
Save your input. This will make sure that Tryton/GNUHealth server can connect to the database
Create a role for 'tryton' in the database (still logged-in as user postgres)
psql -c "CREATE USER tryton WITH CREATEDB;"
Create a database, for example 'mydb'
createdb mydb --encoding='UTF-8' --owner=tryton
Note: The owner of the database should be the same user, as under which the tryton server runs (default:tryton)
Exit as user postgres and restart the database
exit systemctl restart postgresql
One more step before we can use the database - we need to initialize it. This should happen under the user 'tryton'. As you are still logged-in as 'root':
su tryton -s /bin/bash /usr/bin/trytond-admin -c /etc/tryton/trytond.conf --all -d mydb
Note: Use the database name you chose in the previous step (here as default: mydb). During the initialization you will be asked for the admin password for this database. For the first time, log in to the newly initialized database with user admin and password as set during initialization.
Start the server afterwards (as root)
systemctl start gnuhealth
As result you will have a bare GNU Health database with the base modules installed.
Installation of the GNU Health client
Install the GNU Health client:
zypper in gnuhealth-client
Open the GNU Health client, either by selecting the icon from the menu, or from the command-prompt with the command 'gnuhealth-client'. Go to
'manage profiles' -> add -> name it 'localhost' -> Host: localhost
You should now see a selection of available databases. Add your newly created database. Done.
What is different from the GNU Health setup from source?
On the technical side, GNU Health is a set of modules for the Tryton server. Tryton itself makes use of a (postgres) database to store its information. When installing GNU Health using the openSUSE packages, GNU Health is tightly integrated into the openSUSE standard system. For security reasons, there is a seggregation of duties and roles:
- The Postgres database runs under the user 'postgres'
- The Tryton Server runs under the user 'tryton'. This is by default a system user without login capabilities. (use 'sudo su – tryton -s /bin/bash' to log in)
As GNU Health is an additional set of modules on top of Tryton, it runs as user 'tryton' as well.
This is the major difference to the installation via the bash script from source: The script installs everything in the home directory of the (real!) user gnuhealth! No further integration with system tools (e.g. systemd) is provided.
The numbering schema of GNU Health is different from the one of Tryton. For the One-Click-Installation, this is not an issue, just chose the desired GNU Health version and SUSE does the rest for you.
|GNUHealth Version||Tryton Version||Remarks|
|3.4||4.6||Expected Nov 2018|
|3.2||4.2||Released July 2017|
|3.0||3.8||Released Jan 2016|
|2.8||3.4||Released Feb 2015|
|2.6||3.2||Released Jul 2014|
The Live CD
Due to the shutdown of SUSEStudio, there is currently no Live-CD available. We are working on a replacement.
Each installation has a set of Documentation:
Installation of Tryton Server and GNU Health on openSUSE Link to the backup of Tryton Wiki - will be replaced once the new Wiki is available
Please note that the openSUSE packages are not compliant with the GNU Health packaging guidelines, as they would prevent us from taking advantage of openSUSE's advanced system management features, and would result in a lack of integration.
Watch the Installation Video for Leap and Tumbleweed