diff --git a/lib/derivantes/accounts/user.ex b/lib/derivantes/accounts/user.ex
index 12e4752..e2dc477 100644
--- a/lib/derivantes/accounts/user.ex
+++ b/lib/derivantes/accounts/user.ex
@@ -3,6 +3,7 @@ defmodule Derivantes.Accounts.User do
import Ecto.Changeset
schema "users" do
+ field :matricula, :string
field :email, :string
field :password, :string, virtual: true, redact: true
field :hashed_password, :string, redact: true
@@ -36,9 +37,15 @@ defmodule Derivantes.Accounts.User do
"""
def registration_changeset(user, attrs, opts \\ []) do
user
- |> cast(attrs, [:email, :password])
+ |> cast(attrs, [:email, :password, :matricula])
|> validate_email(opts)
|> validate_password(opts)
+ |> validate_matricula(opts)
+ end
+
+ defp validate_matricula(changeset, opts) do
+ IO.inspect(opts)
+ changeset
end
defp validate_email(changeset, opts) do
diff --git a/lib/derivantes_web/components/layouts/root.html.heex b/lib/derivantes_web/components/layouts/root.html.heex
index e5975b2..11cd701 100644
--- a/lib/derivantes_web/components/layouts/root.html.heex
+++ b/lib/derivantes_web/components/layouts/root.html.heex
@@ -10,6 +10,7 @@
+
diff --git a/lib/derivantes_web/live/derivantes/derivantes_live.ex b/lib/derivantes_web/live/derivantes/derivantes_live.ex
index 5c67ee4..e704964 100755
--- a/lib/derivantes_web/live/derivantes/derivantes_live.ex
+++ b/lib/derivantes_web/live/derivantes/derivantes_live.ex
@@ -4,12 +4,100 @@ defmodule DerivantesWeb.DerivantesLive do
import Ecto.Query
def mount(_params, _session, socket) do
- {:ok, socket}
+ {:ok,
+ socket
+ |> assign(studies: get_studies())
+ }
end
def render(assigns) do
~H"""
-
Listado
+
+
+
+
+ <%= if length(@studies) > 0 do %>
+
+
Bienvenido
+
Para ver un estudio haga click en el icono de Informe o de Imágenes.
+
+
+
+
Estudios
+
+
+
Informe
+
Imágenes
+
+
+ <%= for study <- @studies do %>
+
+
+
Fecha y hora: <%= format_date(study.fecha) %> - <%= format_hour(study.hora) %>
+
DNI: <%= study.dni %>
+
Accession N° <%= study.accession %>
+
+
+ <%= case {study.modality, study.esteco, study.estrx} do %>
+ <% {"US", "F", _} -> %>
+
+
+
+ <% {modality, _, "E"} when modality != "US" -> %>
+
+
+
+ <% _ -> %>
+
+ <% end %>
+ <%= if study.modality != "US" do %>
+
+
+
+ <% else %>
+
+ <% end %>
+
+
+ <% end %>
+ <% end %>
+
+
"""
end
+
+ def format_date(date_string) when is_binary(date_string) do
+ anio = String.slice(date_string, 0..3)
+ mes = String.slice(date_string, 4..5)
+ dia = String.slice(date_string, 6..7)
+ "#{dia}/#{mes}/#{anio}"
+ end
+ def format_hour(hour_string) when is_binary(hour_string) do
+ hora = String.slice(hour_string, 0..1)
+ minutos = String.slice(hour_string, 2..3)
+ segundos = String.slice(hour_string, 4..6)
+ "#{hora}:#{minutos}:#{segundos}"
+ end
+
+ def get_studies() do
+ query = from vl in "V_LISTAINGRESOS",
+ select: %{
+ idstudy: field(vl, :ID),
+ estrx: field(vl, :ESTRX),
+ esteco: field(vl, :ESTECO),
+# desc: field(vl, :PROD_DESC),
+ hora: field(vl, :START_TIME),
+ fecha: field(vl, :START_DATE),
+ modality: field(vl, :MODALITY),
+ dni: field(vl, :TIPO_DOCUMENTO),
+ lastname: field(vl, :PATIENTLASTNAME),
+ accession: field(vl, :ACCESSIONNUMBER),
+ patientname: field(vl, :PATIENTFIRSTNAME)
+ },
+ order_by: [desc: field(vl, :START_DATE)],
+ limit: 20
+ estudios = Derivantes.TdsRepo.all(query)
+ estudios
+ end
+
end
diff --git a/lib/derivantes_web/live/derivantes/derivanteshash_live.ex b/lib/derivantes_web/live/derivantes/derivanteshash_live.ex
deleted file mode 100755
index eeada6a..0000000
--- a/lib/derivantes_web/live/derivantes/derivanteshash_live.ex
+++ /dev/null
@@ -1,154 +0,0 @@
-defmodule DerivantesWeb.DerivantesHashLive do
- use DerivantesWeb, :live_view
- use Phoenix.Component
- import Ecto.Query
-
- def mount(params, _session, socket) do
- IO.inspect(params)
- hash = params["hash"]
- incorrecto = if hash != "123" do
- true
- else
- false
- end
- IO.inspect(incorrecto)
- socket =
- socket
- |> assign(:dato_incorrecto, incorrecto)
- |> assign(:logged_in, false)
- {:ok, socket}
- end
-
- defmodule DateFormatter do
- def format_date(date_string) when is_binary(date_string) do
- anio = String.slice(date_string, 0..3)
- mes = String.slice(date_string, 4..5)
- dia = String.slice(date_string, 6..7)
-
- "#{dia}/#{mes}/#{anio}"
- end
-
- def format_hour(hour_string) when is_binary(hour_string) do
- hora = String.slice(hour_string, 0..1)
- minutos = String.slice(hour_string, 2..3)
- segundos = String.slice(hour_string, 4..6)
-
- "#{hora}:#{minutos}:#{segundos}"
- end
- end
-
- def render(assigns) do
- ~H"""
- <%= if @logged_in == false do %>
-
-
-
-
Bienvenido a Entrega Digital Sanatorio Americano.
-
-
En este sitio, usted podrá visualizar los informes y estudios realizados en nuestra institución.
-
-
Si presenta inconvenientes con los datos ingresados, puede comunicarse con nosotros enviando un correo a
-
- mesadeayuda@sanatorio-americano.com.ar detallando su nombre completo y D.N.I.