Guía de instalación

Esta guía proporciona instrucciones para iniciar la Historia Clínica (HSI) localmente utilizando dos comandos docker run. Se asume que tienes Docker instalado y sabes cómo usarlo.

Prueba local

Crea y ejecuta el contenedor de PostgreSQL
Primero, vamos a crear y ejecutar un contenedor de PostgreSQL. Necesitarás definir las variables de entorno que normalmente colocarías en tu archivo .env.

docker run --name postgresql -p 5432:5432 \
-e POSTGRES_DB=hsi-db \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=tu_password_postgres \
-d postgres:16

Espera a que PostgreSQL esté listo
Puede tomar unos segundos para que el servidor PostgreSQL se inicie completamente dentro del contenedor. Puedes verificar los logs con docker logs postgresql hasta que veas un mensaje indicando que el servidor está listo para aceptar conexiones. 

Crea y ejecuta el contenedor de HSI
Ahora, vamos a crear y ejecutar el contenedor de HSI. Necesitarás pasarle las variables de entorno necesarias, incluyendo la información de conexión a PostgreSQL.  

docker run --name historia-clinica -p 8280:8280 \
-e SPRING_PROFILES_ACTIVE=prod \
-e DATABASE_IP_PORT=postgresql:5432 \
-e DATABASE_SCHEMA=hsi-db \
-e DATABASE_USER=postgres \
-e DATABASE_PASS=tu_password_postgres \
-e ADMIN_PASS=tu_password_admin \
-e SNOWSTORM_SERVICE=https://snowstorm.msal.gob.ar \
-e TOKEN_SECRET=tu_secreto_jwt \
-e DOCUMENT_ROOT_DIRECTORY=/mnt/hsi/ \
--link postgresql:db \
-d historiaclinica/hsi:latest

Espera a que HSI esté listo
Puede tomar unos segundos para que el servicio HSI se inicie completamente dentro del contenedor. Puedes verificar los logs con docker logs historia-clinica –follow hasta que veas el mensaje ”Started App in 206.825 seconds”.

HSI puede tardar varios minutos en iniciar la primera vez, dado que debe crear todo el esquema en la base de datos.

Verifica el inicio de HSI
Ejecuta el siguiente comando en tu terminal para verificar que HSI terminó de iniciar y está respondiendo:

curl http://localhost:8280/api/public/version

Debe mostrar algo como:

JavaScript
{"version":"2.44.2","branch":"v2.44.2","commitId":"b8119d4c59978ac750261b36db235c882dce80b2"}

Acceso Inicial
Una vez que los contenedores estén en funcionamiento, HSI estará accesible en tu navegador web a través de la URL http://localhost:8280

Puedes ingresar con el usuario administrador utilizando el siguiente correo electrónico y la contraseña que definiste con la variable -e ADMIN_PASS en el comando docker run de HSI.

Limpieza
Para detener y eliminar los contenedores, puedes usar los siguientes comandos:

docker stop historia-clinica postgresql
docker rm historia-clinica postgresql

Puesta en línea


Para poder probar HSI, el siguiente paso será ponerlo en línea. Poder utilizarlo con otros implica reemplazar localhost por un dominio público. Por ejemplo, en https://sgh.pladema.net se define:

-e AUTH_DOMAIN=sgh.pladema.net

Dado que hoy en día es dificil hacer funcionar bien un sistema web sin HTTPS. Se recomienda utilizar un proxy inverso como Nginx para gestionar el tráfico HTTPS. Puedes obtener certificados gratuitos con Let’s Encrypt o utilizar otros proveedores.

Por demás está aclarar que se deben cambiar las claves usadas en esta guía. La historia clínica es información muy sensible, las precauciones necesarias para tener un sistema seguro escapan de los propósitos de esta guía. Audite el sistema si va a almacenar datos de personas reales.