📦 Instalación API V2

🧰 Paso 1: Verificar el sistema operativo

Asegurarse de conocer la versión del sistema operativo del cliente (por ejemplo, FreeBSD 13.4). Para poder elegir el compilado correcto.

En ese caso el código fuente estará en:

ssh -p 2229 informemedico@gitea.informemedico.com.ar    

cd /home/informemedico/api-13-4/api-v2/


📁 Paso 2: Copiar ejecutables al servidor del cliente

Ejecutar el siguiente comando desde el servidor del cliente para copiar los archivos necesarios:

rsync -av -e "ssh -p 2229" informemedico@gitea.informemedico.com.ar:'/home/informemedico/api-13-4/api-v2/_build/prod/rel/api/*' /home/informemedico/api/

⚙️ Paso 3: Crear archivo .env

Ubicarse en:

cd /home/informemedico/api/bin/

Y crear un archivo .env con las siguientes variables (reemplazar con los datos correctos):

# Datos de compilación
SECRET_KEY_BASE=9EtSIp/X8RGSgHIznn5J5GDxdwUr5oWMjRgK4tOLGIoh2IitPoI7yHx2ZIlLyGnv
DATABASE_URL=ecto://postgres:1nf0rm3@127.0.0.1/dicomscp
CHECK_ORIGIN=https://clinicadelsol.informemedico.com.ar:4443
PHX_PORT=4001
PHX_HOST=127.0.0.1
ROOT_PATH=/api
#PORT=443
SCHEME=https

# Datos consultas
PYTHON_EXECUTABLE=/usr/local/bin/python3.11
PYTHON_SCRIPT=/home/informemedico/cgi/soffice/generar_pdf_ed.py
# El template debe ser exactamente igual al nombre de la plantilla.
TEMPLATE_NAME=con membrete
pr2_statusname=FINAL
IDSITE=226
# url para escaneados en caso de usar encriptación agregar la clave.
ESCANEADOS=https://clinicadelsol.informemedico.com.ar:4443/
#ESCANEADOS_CLAVE=clave
# url para adjuntos en caso de usar encriptación agregar la clave (si usa /api es 1nf0rm3).
ADJUNTOS=https://clinicadelsol.informemedico.com.ar:4443/api/attachment/
ADJUNTOS_CLAVE=1nf0rm3
# Este es el identificador con el que acceden a la entrega digital.
acceso_ed=IDSTUDY
# Este es el identificador que tiene determinado en el admin. 
IDENTIFIERFIELD=IDSTUDY

# Datos SMTP/Mailer (en caso de no usar el mailer comentar las variables)
# indicar tls si SMTP_TLS es false sino indicar ssl
SMPT_TYPE=tls
SMTP_RELAY=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=resultados.hosp@semedic.in
SMTP_PASS=gtzrvsbrxnebddyy
SMTP_SSL=false
SMTP_TLS=true
SERVER_NAME_INDICATION=smtp.gmail.com
EMAIL_BODY_PATH=/home/informemedico/api-mailer/bin/htmlbody
# El FROM se usa para el title de la entrega digital, es obligatorio
FROM=Semedic

# Imagenes
LOGO=https://clinicadelsol.informemedico.com.ar:4443/cgi-bin/impacs.bf/get_logo
LOGO_SM=https://clinicadelsol.informemedico.com.ar:4443/api/images/clinsol_logo_sm.png

🐍 Paso 4: Copiar y adaptar script generar_pdf.py

Copiar el script que usa imPACS a la nueva ubicación:

cp /ruta/soffice/generar_pdf.py /ruta/soffice/generar_pdf_api.py

Editar generar_pdf_api.py y agregar un break:

# Se compone el stdin en un único texto
input = ""
for line in sys.stdin:
    input = input + line
    break  # <- agregar esta línea

🚀 Paso 5: Iniciar el api y agregar al crontab

Ejecutar:

sudo ./api daemon

Contenido del script server:

#!/bin/sh
set -eu

cd -P -- "$(dirname -- "$0")"
PHX_SERVER=true exec ./api start

Agregar al crontab:

@reboot /home/informemedico/api/bin/server

🌐 Paso 6: Configuración Apache

Agregar lo siguiente en la configuración del VirtualHost:

    # CORS
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

    # WebSocket
    RewriteEngine On

    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteRule /(.*) "ws://127.0.0.1:4001/$1" [P,L]

    # /api
    ProxyPass /api http://127.0.0.1:4001/api
    ProxyPassReverse /api http://127.0.0.1:4001/api

    ProxyPass /api/live ws://127.0.0.1:4001/api/live
    ProxyPassReverse /api/live ws://127.0.0.1:4001/api/live

    ProxyPass /pacientes http://127.0.0.1:4001/api/pacientes
    ProxyPassReverse /pacientes http://127.0.0.1:4001/api/pacientes

🔧 Activación de rutas V2 en Admin

  1. Cambiar la versión de API a 2.
  2. Reemplazar las nuevas rutas en el sistema:
Título Ruta Nueva URL
Document list URL https://dominio/api/study/{{accession}}
PDF downloads URL https://dominio/api/downloadpdf/{{iddocument}}
Studies URL https://dominio/api/studies
Description
No description provided
Readme 152 MiB
Languages
JavaScript 57.8%
Erlang 14.8%
Elixir 13.7%
Clojure 9.9%
CSS 1.5%
Other 2.3%