GNU Health/Guía Técnica/Instalación

Índice de la sección
«Guía Técnica»


IMPORTANTE

editar

Antes de iniciar la instalación del GNUHealth le recomendamos leer exhaustivamente la presente documentación, en la que encontrará información relevante acerca del método de instalación.

A su vez, el proceso de documentación implica una revisión permanente de la misma, por lo que su experiencia puede ser muy valiosa para el resto de la comunidad. Si considera que algún aspecto de la documentación presente no es exhaustivo o no refleja su experiencia, por favor háganoslo saber. En caso de requerir asistencia durante le proceso de instalación, le sugerimos consultar las FAQs (próximamente), escribir a la lista de distribución oficial de GNUHealth (https://lists.gnu.org/mailman/listinfo/health-es) o consultar en nuestro canal IRC #gnu-health-es

Componentes Centrales de GNU Health

editar

GNUHealth se hace de otros entornos de desarrollo y base de datos, entre ellos Python, PostgreSQL y Tryton

A continuación brindamos una breve referencia de cada componente, para mas información sugerimos leer la documentación original de cada uno de ellos.

Python: Python es un lenguage de programación de alto nivel de uso general y sumamente popular. Su filosofía de diseño enfatiza la facilidad de lectura de su código, así como también permite expresar conceptos en menos lineas de código comparado con lenguages similares, tales como C. Python soporta diversos paradigmas de programación, tales como la orientación a objetos, imperativo y programación funcional. La utilización de herramientas específicas (tales como py2exe o pyinstaller) permite empaquetar código en programas tipo standalone en la gran mayoría de los sistemas operativos. Esto último es fundamental a la hora de distribuir software como GNUHealth que está basado en Python, sin la necesidad de requerir un intérprete.

PostgreSQL: PostgreSQL es un sistema de gestión de bases de datos orientas a objetos basada en software libre. Con mas de 15 años de evolución y permanente desarrollo, PostgreSQL tiene una fuerte reputación por su confiabilidad e integridad. PostgreSQL corre en la mayoría de los sistemas operativos tales como Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows. Por tratarse de una base de datos de clase enterprise soporta Multi-Version Concurrency Control (MVCC), replicación asincrónica, backups online, etc.

Tryton: Tryton es una plataforma de desarrollo basado en software libre. Está basado en un modelo de 3 capas que permite implementar una solución de negocios integral, ofreciendo similares prestaciones a los conocidos ERPs (Enterprise Resource Planning). La principales ventajas de Tryton son su modularidad, escalabilidad y seguridad. La versión actual de GNUHealth basa su funcionamiento en Tryton 4.2, sobre el cuál se implementa módulos específicamente diseñados para la gestión de sistemas e instituciones de salud en todos sus niveles.

La próxima versión 3.4 de GNU Health también integra bases de datos documentales, como 'MongoDB.

Requerimientos

editar

EL ecosistema de la ultima versión estable de la GNU Health Federation utiliza los siguientes principales recursos

  • Sistema operativo: GNU/Linux o FreeBSD para el servidor.
  • RDBMS: PostgreSQL >= 10.x
  • Base de datos orientada a documentos para el Sistema de Información de Salud/Indice de la Tabla Maestra de Personas: PostgreSQL  :>= 10.x
  • Python: >= 3.6
  • Gunicorn : 19.9
  • Flask : 1.0
  • Tryton 5.0
  • Bash shell
  • PIP para Python 3, verificar a través de:
   pip --version
   Debería poder verse python3, como en:
   pip x.x.x from /usr/local/lib/python3.6/site-packages (python 3.6)
   Si fuese el caso que se ve python2.x, entonces parar la instalación y obtener pip para Python 3.

Instalar GNU Health en un Sistema GNU/Linux o FreeBSD

editar

La siguiente tabla contiene las instrucciones para preparar tu sistema operativo en una instalación estándar de GNU Health. Los sistemas operativos y sus respectivas versiones han que aparecen aquí han sido probados para la versión estable actual.

Las instrucciones para los distintos sistemas operativos y distribuciones se han basado en sistemas limpios, instalados desde cero. En beneficio de la claridad, el entorno del servidor se ha realizado sin interfaz gráfica. No se ha configurado el firewall (se cubre en la sección de seguridad) y se instaló el servidor OpenSSH.


Sistema Operativo Versión Enlace Notas
Arch Linux 2017.07.01 Arch Linux setup
Debian 9 Debian setup
FreeBSD 11.1 FreeBSD setup
openSUSE Leap 15 / Tumbleweed openSUSE setup
Ubuntu 16.04 LTS Ubuntu setup


Crear el Usuario en el Sistema Operativo

editar

Se recomienda emplear un usuario dedicado para la Instalación de GNU Health. Este usuario será diferente al usuario root del sistema.

Para la creación del usuario ejecute uno de los siguientes pasos, según su sistema operativo:

Ubuntu:

 sudo adduser gnuhealth

Arch Linux:

 sudo useradd -m gnuhealth
 sudo passwd gnuhealth

A continuación, se le solicitará ingresar una contraseña para el nuevo usuario gnuhealth. Le sugerimos tomar nota de la misma para su utilización en el futuro.

Crear el Usuario de Base de Datos en PostgreSQL

editar

El siguiente comando cambia al usuario administrador por defecto de dicho motor de base de datos (usuario postgres) y le otorga permisos al recientemente creado administrador gnuhealth. Se otorga permisos para crear usuarios y bases de datos (no permite crear roles ni permisos de superusuario en PostgreSql):

Ejecute, como root :

sudo su - postgres -c "createuser --createdb --no-createrole --no-superuser gnuhealth"

Descarga e Instalación de GNU Health

editar

Ejecutando el Instalador de GNU Health

editar

La instalación de GNU Health debe realizarse con el usuario gnuhealth. Este punto es muy importante. NUNCA realizar la instalación como "root".

Sugerencia: para mayor seguridad de estar como usuario gnuhealth, cerramos la sesión con la que instaló hasta este punto (generalmente el usuario root del sistema), e ingresamos con el usuario gnuhealth. Desde ahí podemos comenzar con todo el proceso que veremos a continuación.

Los pasos principales son para la descarga e instalación son los siguientes :

1. Convertirse en el usuario gnuhealth

su - gnuhealth

2. Descargar GNU Health

wget http://ftp.gnu.org/gnu/health/gnuhealth-latest.tar.gz

3. Descomprimir el archivo Una vez descargado el archivo de instalación (generalmente en /home), es necesario descomprimirlo mediante el siguiente comando:

tar xzf gnuhealth-latest.tar.gz
cd gnuhealth-*

De esta manera, se creará la carpeta "gnuhealth-3.2.x" la cuál contiene todos los archivos necesarios para correr el script de instalación.

4. Ejecutar el programa de instalación

./gnuhealth-setup install

(Requiere conexión activa a Internet)


Finalmente, habilite el entorno BASH para el usuario gnuhealth para poder definir las variables de entorno:

source $HOME/.gnuhealthrc

Active los dispositivos de red para el protocolo JSON-RPC

editar

El servidor Tryton de GNU Health atiende peticiones de red de localhost en el puerto 8000, no permitiendo conexiones directas desde otras terminales. Para ello es necesario editar el archivo /home/gnuhealth/gnuhealth/tryton/server/trytond-3.2.2/etc/trytond.conf. Esto puede hacerse mediante un editor de texto o a través del comando

editconf

Puede modificar la línea con el parámetro jsonrpc, activando el dispositivo de red para que las terminales en su red se puedan conectar. Por ejemplo, la siguiente línea

[jsonrpc]
listen = *:8000

Permitirá conectar con el servidor en los diferentes dispositivos de su sistema.

Configuración de un directorio local para archivos adjuntos

editar

Por defecto, Tryton utiliza un directorio a nivel de sistema para almacenar los archivos adjuntos. En GNU Health es recomendable guardar los archivos adjuntos en el espacio de usuario gnuhealth. Con un editor de texto, abra el archivo de configuración del servidor trytond.conf e ingrese el directorio para archivos adjuntos, por ejemplo :

editconf
[database]
path = /home/gnuhealth/attach

Arrancar el Servidor Tryton

editar

Para poder iniciar el servidor Tryton (//home/gnuhealth/gnuhealth/tryton/server/trytond-3.2.2/bin/trytond) debe moverse al directorio del sistema que acabamos de instalar. Para ello es posible utilizar el alias cdexe (disponible desde la versión 2.2.1 )

cdexe

Ahora sí estamos en condiciones de iniciar el servidor:

./trytond -v

Deberá ver algo como lo siguiente. Preste atención a la última línea INFO:server:starting JSON-RPC protocol on localhost:8000

[Sat Oct 29 21:03:48 2011] INFO:server:using default configuration
[Sat Oct 29 21:03:48 2011] INFO:server:initialising distributed objects services
[Sat Oct 29 21:03:48 2011] INFO:server:starting JSON-RPC protocol on localhost:8000

Esta última línea nos indica (tal como se haya configurado el archivo trytond.conf) si el sistema estará disposible para el localhost unicamente o para todas las terminales dentro de su red.

Instalación del cliente GNU Health

editar

Instalación Tradicional

editar

Comenzando en la versión GNU Health 3.2, hay un cliente nativo GTK para GNU Health

Puede instalar el cliente usando el código fuente o desde pip:

Instalación desde el código fuente

editar
  1. Descargar el último cliente GNU Health desde GNU.org
  2. Instalar dependencias de Python :
    pip2 install --user python-dateutil
    
  3. Descomprimir el cliente :
    tar -xzvf gnuhealth-client-latest.tar.gz
    
  4. Ejecutar el cliente:
    cd gnuhealth-client-3.2.6/bin
    ./gnuhealth-client
    

Instalación usando PIP

editar

El cliente GNU Health también puede ser instalado desde el Python Package Index (pypi).

El siguiente comando instalará el cliente GNU Health para todo el sistema (sin la opción --user):

pip install gnuhealth-client

Se puede actualizar el cliente con el siguiente comando :

pip install --upgrade gnuhealth-client

Ejecutar el cliente :

gnuhealth-client

MS Windows

editar

Descarga de Tryton Cliente para Windows


Siga las instrucciones al correr la instalación


Crear la base de datos de GNU Health

editar
 
Login

El primer paso es crear una base de datos para GNU Health. GNU Health HMIS guarda la información en PostgreSQL.

La base de datos es creada desde el sistema operativo, usando el usuario "gnuhealth". Por ejemplo, si quieres inicializar una base de datos con el nombre "health320", ejecutarías lo siguiente:

 createdb health320 --encoding=unicode --locale=C --template=template0

 cdexe

 python3 ./trytond-admin --all --database=health320 -v

Fíjate que no hayan errores en el log / consola.

Una vez la base de datos ha sido inicializada, estás listo para conectarte a GNU Health !

Inicio de sesión de la aplicación

editar

Ahora que ha vuelto a la pantalla de inicio de sesión, notará que el perfil seleccionado es el que recién acaba de crear. Complete el formulario de inicio de sesión:

  • Nombre de usuario: el nombre que ha usado antes, normalmente, admin
  • Contraseña: la contraseña introducida dos veces en la sección anterior

Instalación de los módulos por defecto

editar

A partir de este momento, usará el cliente para la mayoría de los procesos. Empiece por la instalación de la funcionalidad básica:

  1. Después de haber creado la base de datos, el sistema le preguntará para la creación de algunos usuarios nuevos. Puede saltar este paso desde ahora.
  2. Se le mostrará un listado de módulos que le proporcionarán la funcionalidad deseada. Si no ve la ventana de los módulos, navegue hacia ella en el lado derecho: Administración > Módulos > Módulos.
  3. Seleccione el módulo de perfiles health_profile, y haga click en marcar para instalación Marcar para instalación:

     

  4. Haga click en el icono de Ejecutar Acción (un cuadrado rotado azul) y seleccione Realizar instalaciones/actualizaciones pendientes:

     

  5. Tryton seleccionará de manera automática todos los módulos dependientes requeridos para la instalación:

     

  6. Haga Click en iniciar actualización Iniciar Actualización. Este proceso tomará un tiempo, dependiendo del ordenador en el que se esté instalando GNU Health. Una vez hecho, aparecerá el siguiente mensaje:

     

Enhorabuena, ha instalado satisfactoriamente GNU Health!

Instalación de Módulos Extra

editar

GNU Health está en evolucionando constantemente. Los módulos base son un paquete que brinda la funcionalidad básica. Dependiendo de su centro de salud, lo más probable es que deba instalar algunos de los otros módulos de GNU Health. Algunos de los módulos que están listos para su instalación son:

  • health_history: Genera reportes de la historia clínica del paciente.
  • health_reporting: Estadísticas basadas en diferentes indicadores (enfermedades, asignaciones médicas, .. ). También crea diferentes tipos de gráficos
  • health_services: Registra todos los servicios brindados al paciente, tanto para tratamiento ambulatorio como para hospitalización. Le permitirá generar facturas de los servicios seleccionados.
  • health_qrcodes: Permite identificar al paciente y los recién nacidos con códigos QR 2-dimensional Quick-Recognition codes.

Hay muchos más. Sólo hay que revisar la lista de módulos y seleccionar los que mejor se adapten a su centro de salud.

Enhorabuena ! Ya ha completado la instalación inicial de GNU Health.

Los próximos capítulos le guiarán a través de la personalización de GNU Health para satisfacer las necesidades de su centro de salud.


Epidemiología · Actualización