GNU Health/Developer's corner

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Welcome to the GNU Health Developer's corner[edit]

This chapter focus on the development of the upcoming version in different components of GNU Health

The developer's corner is highly volatile. It's chaotic and unstable, and we love it like that ;)

Please respect the target build of each component.

Hospital Management Information System[edit]

Target build : 3.5

Installation on openSUSE Leap 15.1

Update 24.10.2019: Beta packages can now be installed from OBS repository using zypper


 $ sudo zypper in patch gcc libxml2-devel  postgresql postgresql-server unoconv
 $ cd
 $ wget
 $ tar -xzvf gnuhealth-3.6RC2.tar.gz
 $ cd gnuhealth-3.6RC2
 $ ./gnuhealth-setup install
 $ cd
 $ source .bashrc
 $ ./ -v


This information comes from the Tryton migration. You should check the latest updates : + +


1) Assign rules linked to users to a group (must be done before update).

2) Check taxes and tax codes definitions (inactivate old children taxes and add them to the right codes)

3) Before update, set an accounting category to all products which have accounts and taxes defined (see issue3805 )

4) Execute the script "before.sql"

5) update tryton server (./trytond-admin --all)


1) Execute the script "after.sql"

2) synchronize records from Administration > Models > Models > Data

3) You should create the WriteOff Methods and Payment Methods to override the cash journals used for invoice payments and writeoff journals used for writeoff reconciliation. (see Tryton issue7450)

GTK Client[edit]

  • Disable Non-OSS repositoriess
  • Desktop with KDE Plasma
  • Create user "gnuhealth"

  • Login as "gnuhealth" user
  • Update PATH
   $ export PATH=$HOME/.local/bin:$PATH
  • Update pip3
   $ pip3 install update --user pip
  • Get the needed packages / dependencies
   $ sudo zypper install cairo-devel pkg-config python3-devel gcc gobject-introspection-devel 
  • Install cairo for pyhton3
   $ zypper in python3-cairo
  • Install Introspection bindings for the GTK+
   $ zypper in typelib-1_0-Gtk-3_0
  • Upgrade PyGobject
   $ pip3 install --user --upgrade PyGobject
  • Install GNU Health client from test
   $ pip3 install --user --index-url --extra-url gnuhealth-client==3.6rc2


The search path for plugins goes like this:

1. <config dir>/plugins

Example: /home/lfm/.config/gnuhealth/3.5/plugins

2. <current_gnuhealth_dir>/tryton/plugins

Example: /home/lfm/health/gnuhealth-client/tryton/plugins

3. $HOME/gnuhealth_plugins

Example: /home/lfm/gnuhealth_plugins

The third one ($HOME/gnuhealth_plugins) is the recommended place for most users. It makes easy automation and allows convinient drag and drop for plugins.

The first option is recommended for users that have different GH GTK client versions installed.


GNU Health Federation[edit]


GH Federation Portal[edit]

MyGNUHealth mobile application[edit]