< GNU Health

Welcome to the GNU Health Developer's corner

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

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

Server

 $ sudo zypper in patch gcc libxml2-devel  postgresql postgresql-server unoconv
 $ cd
 $ wget https://www.gnuhealth.org/downloads/development/unstable/gnuhealth-3.6RC2.tar.gz
 $ tar -xzvf gnuhealth-3.6RC2.tar.gz
 $ cd gnuhealth-3.6RC2
 $ ./gnuhealth-setup install
 $ cd
 $ source .bashrc
 $ ./start_gnuhealth.sh -v

Upgrade

This information comes from the Tryton migration. You should check the latest updates : + https://discuss.tryton.org/t/migration-from-4-6-to-4-8/440 + https://discuss.tryton.org/t/migration-from-4-8-to-5-0

BEFORE THE UPGRADE:

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)

AFTER THE UPGRADE:

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

  • 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 https://test.pypi.org/simple/ --extra-url https://pypi.org/simple/ gnuhealth-client==3.6rc2

Plugins

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.

Interfases

GNU Health Federation

Thalamus

GH Federation Portal

MyGNUHealth mobile application

Installation of MyGNUHealth PinePhone and Manjaro Plasma Mobile

Install requirements

  • Update de system (pacman -Syu)
  • Install gcc (pacman -S gcc)
  • Install base devel tools (pacman -S base-devel)
  • Install pyside2 package (pacman -S pyside2-es2) (Make sure you use this package! The regular "pyside2" won't work. Thanks Anupam!)

Installation on PinePhone and KDE Neon

Install required packages

  • apt-get install python3-pip
  • apt-get install qt5-qmake
  • apt-get install cmake
  • apt-get install qtbase5-dev
  • apt-get install clang clang libclang-6.0-dev
  • apt-get install qtbase5-private-dev
  • apt-get install qtdeclarative5-dev qtdeclarative5-private-dev


Create a swapfile (it will be needed during the building process)

  1. sudo bash
  2. cd /opt
  3. dd if=/dev/zero of=swapfile bs=1G count=1
  4. mkswap swapfile
  5. swapon swapfile

(you can later add it to the fstab if you want to have it permanent) add to /etc/fstab
/opt/swapfile swap swap defaults 0 0

Download,extract and build PySide2 https://doc.qt.io/qtforpython/gettingstarted-linux.html#getting-pyside2

Fix the following symlinks that are broken:

$ cd pyside2/pyside-setup/pyside3_install/py3.6-qt5.14.2-64bit-release/bin$

$ ln -si /usr/bin/qtchooser ./designer
$ ln -si /usr/bin/qtchooser ./rcc
$ ln -si /usr/bin/qtchooser ./uic

Installation on the Desktop

Nightly Builds to install MyGNHealth on a GNU/Linux Desktop are available at OpenBuildService

Issues

The following are issues that need to be fixed:

  • FIXED: DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory at startup. Using CMA=340m as a kernel boot param gives enough CMA memory. Colleagues at the KDE plasma channel said they would include it in next image.
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.