-
Notifications
You must be signed in to change notification settings - Fork 13
Installing the MEDIC CR on openSUSE 13.2
There have been several requests to illustrate the installation of the MEDIC client registry on Linux, this tutorial will illustrate this process and guide you through the setup procedure.
Let's start off with a warning: The MEDIC CR is not officially supported on LINUX, most of the components will work and the software is quite stable under mono, however this environment does not undergo thorough testing
There are a few features which will not work under mono, namely:
- Any WCF interfaces including FHIR, HL7v3 or the Administrative interface. This is because there is a bug in the way that Mono loads WCF configuration data
- FHIR does not work as the HL7.FHIR.API.DLL file can't be loaded by Mono (we're checking into this)
- Notifications in HL7v3, that is noftifications originating from the CR bound to an HL7v3 endpoint
- The administrative interface
You can download the mediccr-1.1.2-msil.tar.bz2 package from CodePlex, download the tarball to a directory and extract it. This tutorial will place it in /opt/mediccr-1.1.2-msil
$ su # cd /opt # tar xvf ~user/Downloads/mediccr-1.1.2-msil.tar.bz2
The MEDIC CR requires PostgreSQL 9.0 or higher and Mono 3.8 or better. To install these:
# zypper install postgresql-server postgresql postgresql-contrib mono-complete # insserv postgresql
First, we want to configure access to the PostgreSQL server, this can be done by editing the pg_hba.conf file as follows:
# su - postgres $ vi data/pg_hba.conf
Ensure the following entries exist:
host all all 127.0.0.1/32 md5 host all all ::1/128 md5
Next, we’ll create the database:
$ psql
#=> CREATE USER cr WITH PASSWORD ‘changeit’;
#=> CREATE DATABASE cr OWNER cr;
#=> \connect cr
#=> CREATE EXTENSION fuzzystrmatch;
#=> \q
$ exit
# rcpostgresql start
First, you’ll have to ensure that the user running X-Windows has access to the installation directory, or you’ll have to be running X-Windows as root. To configure the application, the easiest way is to run the GUI configuration tool :
$ mono Configurator.exe
This will launch the service configuration tool, on my test machine this window looks like this:
I’m going to use the “easy configuration” which will perform a default setup of the client registry. You can perform a more advanced configuration (follow the advanced configuration tutorial) however to simply test the CR the easy way works:
Pressing configure will configure the client registry components:
You may also be prompted to install updates into the schemas created by the configuration tool:
Finally, if all succeeds, the configuration tool will be displayed. There are a few more things to configure:
- You must “un-configure” the Administrative Interface
- You cannot configure Everest (there is an issue with the Mono WCF configuration loading in Linux)
I recommend configuring HL7v2 to receive PIX/PDQ messages. You’ll need to install a TLS certificate into the mono security store if you want to secure the transport, this tutorial will use an unsecured port.
Finally, to test, run the client registry in console mode, I recommend following the log generated with tail to see output, otherwise you’ll be prompted with:
sudo mono ClientRegistry.exe --console MARC-HI Service Host Console v1.1.2.0 Copyright (C) 2010-2015, Mohawk College of Applied Arts and Technology Press any key to stop...
You can, of course, create an init script to keep this process running on boot.