Calendar and WebDAV
Introduction
GNU Health provides its own WebDAV and Caldav server. It allows to create and associate calendars to health professionals. The calendar entries for appointments, hospitalizations and other resources can be accessed via WebDAV clients.
Installation
To install the webdav functionality, you need to install the following packages
pywebdav3-gnuhealth
: Python3 webDAV library for GNU Health (installed automatically when using the standard installation method)health_webdav3_server
: GNU Health webdav server, for Python3 and GNUHealth supporthealth_caldav
: GNU Health calendar package with webdav3 and caldav supporthealth_calendar
: Main calendar for appointmentshealth_inpatient_calendar
: Hospitalization / bed calendar support
If you have installed GNU Health from openSUSE packages, everything is already installed.
Setting up the WebDAV server
Check the settings for the host and port of the GNUHealth WebDAV server
[webdav]
listen = *:8080
In this sample from the default configuration file, the WebDAV server will accept connections from any network interface, on port 8080.
You can change the values editing the configuration file, using this command:
$ editconf
Creating and Assigning Calendars
In order to access a calendar, we first need to create it, and assign it to a user on our GNU Health Tryton instance.
To create a calendar, Follow the link:
Calendar → Calendars
Define a name to the calendar (use only letters, without punctuation or non-ascii characters).
Assign the calendar to a user (in this example, we assign the “Cordara” Calendar to the “Administrator” user
Finally, assign the calendar to the user that will login to GNU Health. In this example, the user associated to the “Cordara” calendar is “Administrator”, with username “admin”. The credentials (username and password) used in the calendar are the same as for login into the GNU Health HIS. For security reasons, use a SSL enabled connection.
Running the server
To start the webdav server, do the following
Check that the GNU Health server is running
Change to the webdav server directory
$ cdmods
$ cd health_webdav3_server/bin
Execute the server
$ ./gnuhealth-webdav-server
openSUSE comes with a systemd-service called gnuhealth-webdav. It expects the database name as parameter. If your database is gnuhealth34, you can start the service with
$ systemctl start gnuhealth-webdav@gnuhealth34
Configuring the client
Known clients
GNU Health Calendar system has been known to work on the following clients :
Mozilla Thunderbird, Lightning
Cadaver
Evolution
Set the hostname and port of the GNU Health WebDAV server . The default port is 8080
The nomenclature for the URL is :
http://your_server_hostname:your_server_port/database_name/Calendars/Calendar_name