Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PRIV - Visualizar motivos de acceso a la HUDS #2958

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aldoEMatamala
Copy link
Contributor

@aldoEMatamala aldoEMatamala commented Nov 28, 2023

Requerimiento

https://proyectos.andes.gob.ar/browse/PRIV-65

Funcionalidad desarrollada

Se reemplazan los motivos de acceso a la HUDS estáticos por accesos a BD.

  1. Acceso explícito a la HUDS (modal).
  2. Buscador de Turnos y prestaciones.
  3. Al iniciar una prestación.
  4. Desde la internación (modal) de acceso a los registros y plan de indicaciones.
  5. Solicitudes: bandeja de entrada/salida al iniciar una prestación.

UserStory llegó a completarse

  • Si
  • No
  • No corresponde

Requiere actualizaciones en la base de datos

  • Si ----> Crear colección llamada "motivosHuds" agregada a BD DEMO
  • No

Requiere actualizaciones en la API

Requiere actualizaciones en andes-test-integracion

@silviroa
Copy link
Contributor

silviroa commented Dec 7, 2023

USUARIO: amatamala
BUILD NUMBER: 10035
CYPRESS RUN: 9144
TEST START: 2023-12-07T14:37:40.604Z
TOTAL: 399
SUCCESS: 333
FAIL: 64
SKIPPED: 2

@silviroa
Copy link
Contributor

USUARIO: mcampetella
BUILD NUMBER: 10092
CYPRESS RUN: 9200
TEST START: 2023-12-20T14:47:03.531Z
TOTAL: 360
SUCCESS: 289
FAIL: 69
SKIPPED: 2

@silviroa
Copy link
Contributor

USUARIO: mcampetella
BUILD NUMBER: 10102
CYPRESS RUN: 9210
TEST START: 2023-12-20T18:23:57.909Z
TOTAL: 406
SUCCESS: 346
FAIL: 58
SKIPPED: 2

@JuanIRamirez
Copy link
Contributor

Al continuar una prestación no toma el motivo de acceso a la HUDS de la DB.

@JuanIRamirez JuanIRamirez self-requested a review December 22, 2023 11:51
@JuanIRamirez
Copy link
Contributor

JuanIRamirez commented Dec 22, 2023

En el modal la opción 'Intervención en el proceso de cuidado del paciente' se solapa en 2 lineas, esto se corrige en 'modal-motivo-acceso-huds.html' (linea 7) -div class="w-60"-

@aldoEMatamala
Copy link
Contributor Author

En el modal la opción 'Intervención en el proceso de cuidado del paciente' se solapa en 2 lineas, esto se corrige en 'modal-motivo-acceso-huds.html' (linea 7) -div class="w-60"-

corregido! gracias !

@negro89 negro89 self-requested a review May 31, 2024 18:05
Copy link
Contributor

@negro89 negro89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aldinho, habría que hacer unos pequeños cambios en el esquema de este nuevo recurso:

  1. Agregar una columna "key" para cada motivo
  2. Renombrar el atributo "motivo" a nombre/label que es mas representativo para como venimos usando internamente los componentes que sugieren opciones
  3. El atributo "descripcion" contendría texto a modo informativo para orientar al usuario (Después vemos qué, por ahora no lo utilizariamos)
  4. El atributo "moduloDefault" debería ser un array, para no repetir registros en caso de compartir motivo por defecto entre varios modulos

Por otro lado, almacenar del lado de la app el motivo y el detalle en un array puede ser un poco confuso en cuanto a recordar en qué posición se encuentra cada elemento o para el caso de los undefined. Sugeriría utilizar un objeto similar a
motivo: { key: string, detalle: string }

Cualquier cosita quedo a disposición

@aldoEMatamala
Copy link
Contributor Author

imagen

@aldoEMatamala
Copy link
Contributor Author

aldoEMatamala commented Jul 4, 2024

Aldinho, habría que hacer unos pequeños cambios en el esquema de este nuevo recurso:

1. Agregar una columna "key" para cada motivo

2. Renombrar el atributo "motivo" a nombre/label que es mas representativo para como venimos usando internamente los componentes que sugieren opciones

3. El atributo "descripcion" contendría texto a modo informativo para orientar al usuario (Después vemos qué, por ahora no lo utilizariamos)

4. El atributo "moduloDefault" debería ser un array, para no repetir registros en caso de compartir motivo por defecto entre varios modulos

Por otro lado, almacenar del lado de la app el motivo y el detalle en un array puede ser un poco confuso en cuanto a recordar en qué posición se encuentra cada elemento o para el caso de los undefined. Sugeriría utilizar un objeto similar a motivo: { key: string, detalle: string }

Cualquier cosita quedo a disposición

buendi lautaro!
Quedan subidas las modificaciones de esquema como se charlo por slack. Se crea interfaz en app (IMotivosAcceso) para los objetos motivo: { key: string, detalle: string }. Se hacen las modificaciones a los casos de test. Así quedan los registros en demo.

  • seleccion-manual para los motivos del modal
  • arreglo para multiples modulos con el mismo motivo
  • cambio de nombres
    motivo-> key
    descripcion-> label
    descripcion (nuevo)
    cualquier cosa lo seguimos viendo.Saludos!
    imagen

Copy link
Contributor

@negro89 negro89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holi, funciona de 10 pero dejé algunas observaciones. Trato de resumirlas en ...

  1. En relación al pasaje del motivo entre el modal y los otros componentes, noté que a veces se lo trata como un objeto (uso correcto) y otras veces como valores separados.
  2. En todos los casos la búsqueda del motivo por defecto (moduloDefault) está perfecto.
    No me quería extender mucho, cualquier cosa despejamos charlando 👌🏼

preAccesoHuds(motivoAccesoHuds) {
const motivo = (typeof motivoAccesoHuds !== 'string') ? motivoAccesoHuds[0] : motivoAccesoHuds;
preAccesoHuds(motivoAccesoHuds: IMotivoAcceso | string) {
const motivo = (typeof motivoAccesoHuds !== 'string') ? motivoAccesoHuds.motivo : motivoAccesoHuds;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En este caso, cuando se cancela el modal para seleccionar motivo, entra con valor null y muestra error por consola

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agregado el control!

profesional: this.auth.profesional ? this.auth.profesional : null,
idTurno: null,
idPrestacion: null,
detalleMotivo: motivoAccesoHuds[1]
detalleMotivo: motivoAccesoHuds.descripcionAcceso
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esta propiedad no debería enviarse. El uso correcto es enviar el objeto completo en la prop. "motivo" de la linea 85. De esta manera podemos estandarizar su uso y no varía en cada componente.

@@ -912,7 +929,7 @@ export class PuntoInicioComponent implements OnInit, OnDestroy {
profesional: this.auth.profesional,
idTurno: this.accesoHudsTurno,
idPrestacion: this.accesoHudsPrestacion,
detalleMotivo: (typeof motivoAccesoHuds !== 'string') ? motivoAccesoHuds[1] : ''
detalleMotivo: (typeof motivoAccesoHuds !== 'string') ? motivoAccesoHuds.descripcionAcceso : null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

misma observación que en componente anterior. Debería pasarse el objeto completo en "motivo" para estandarizar su uso.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se mantienen las dos interfaces como se charlo. Saludos!

motivoSelect() {
return this.motivoSelected === null;
}

notificarAccion(flag: boolean) {
if (flag) {
const item = this.motivosAccesoHuds.find((elem) => elem.id === this.motivoSelected);
this.motivoAccesoHuds.emit([item.label, this.detalleMotivo]);
this.motivo = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acá si no se pasa el objeto completo, al menor debería respetarse las keys de la interfaz key y label (nuevamente para estandarizar su uso y que no varía de componente a componente).

Si el problema es identificar los valores por separado en el html, se puede acceder haciendo [(ngModel)]="motivo.label"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se mantienen las dos interfaces como se charlo. Saludos!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes done test ok Los test estan ok
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants