diff --git a/lib/api_web/controllers/redirect.ex b/lib/api_web/controllers/redirect.ex index 229951d..888cf19 100644 --- a/lib/api_web/controllers/redirect.ex +++ b/lib/api_web/controllers/redirect.ex @@ -14,10 +14,34 @@ defmodule ApiWeb.Redirect do Logger.info("parametros: #{inspect(accession)}") if redirect == "TRUE" do - hash = case get_hash_v2(accession) do + case get_hash_v2(accession) do {:ok, hash} -> Logger.info("URL: https://estudio.informemedico.com.ar/#/#{idsite}/#{hash}") - url = "https://estudio.informemedico.com.ar/#/#{idsite}/" <> hash + viewer = Envar.get("imViewer4") + viewer_host = Envar.get("imViewer4_host") + viewer_uid = Envar.get("imViewer4_uid") + gethash = Envar.get("imViewer4_gethash") + + viewer_config = %{ + client_uuid: viewer_uid, + gethash: gethash, + imviewer4_domain: viewer_host + } + + url = case viewer do + "1" -> + case open_imviewer4(viewer_config, studyidentifier, 172800, assigns) do + {:ok, hash} -> + "https://#{viewer_host}/imviewer4/viewer/#{viewer_uid}/" <> hash + + {:error, reason} -> + Logger.error("No se pudo obtener el hash para ImViewer4: #{inspect(reason)}") + "https://#{viewer_host}/imviewer4/viewer/#{viewer_uid}/error" + end + "0" -> "https://estudio.informemedico.com.ar/#/#{idsite}/" <> hash + end + + # url = "https://estudio.informemedico.com.ar/#/#{idsite}/" <> hash redirect(conn, external: url) {:error, error_msg} ->