# 馃摝 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: ```bash 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: ```bash 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: ```bash cd /home/informemedico/api/bin/ ``` Y crear un archivo `.env` con las siguientes variables (reemplazar con los datos correctos): ```dotenv # 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 #SMTP_USER= #SMTP_PASS= #SMTP_RELAY= #EMAIL_BODY_PATH= #SERVER_NAME_INDICATION= # El FROM se usa para el title de la entrega digital, es obligatorio FROM=Clinica del Sol # 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: ```bash cp /ruta/soffice/generar_pdf.py /ruta/soffice/generar_pdf_api.py ``` Editar `generar_pdf_api.py` y agregar un `break`: ```python # 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: ```bash sudo ./api daemon ``` Contenido del script `server`: ```bash #!/bin/sh set -eu cd -P -- "$(dirname -- "$0")" PHX_SERVER=true exec ./api start ``` Agregar al `crontab`: ```bash @reboot /home/informemedico/api/bin/server ``` --- ## 馃寪 Paso 6: Configuraci贸n Apache Agregar lo siguiente en la configuraci贸n del VirtualHost: ```apache # 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` |