Skip to content

Commit

Permalink
feat(HUDS): se agrega estado solicitud y link a la prestación (#2389)
Browse files Browse the repository at this point in the history
* feat(HUDS): se agrega estado solicitud y link a la prestación

* feat(HUDS): se agrega estado solicitud y link a la prestación

* feat(HUDS): se agrega estado solicitud y link a la prestación
  • Loading branch information
waltergarrido authored Aug 13, 2021
1 parent 66b90b2 commit a3646a4
Show file tree
Hide file tree
Showing 11 changed files with 75 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export class HudsBusquedaComponent implements AfterContentInit {
laboratorios: ['laboratorios'],
vacunas: ['vacunas'],
};

public prestacionesTotales;
public registrosTotales = {
procedimiento: [],
hallazgo: [],
Expand Down Expand Up @@ -262,6 +262,7 @@ export class HudsBusquedaComponent implements AfterContentInit {


this.servicioPrestacion.getByPaciente(this.paciente.id, false).subscribe(prestaciones => {
this.prestacionesTotales = prestaciones;
const validadas = prestaciones.filter(p => p.estados[p.estados.length - 1].tipo === 'validada');
this.prestaciones = groupBy(validadas).map(p => {
if (Array.isArray(p)) {
Expand Down Expand Up @@ -328,6 +329,14 @@ export class HudsBusquedaComponent implements AfterContentInit {
});

this.servicioPrestacion.getByPacienteSolicitud(this.paciente.id).subscribe((solicitudes) => {

solicitudes.forEach(solicitud => {
const prestacion = this.prestacionesTotales.find(p => solicitud.idPrestacion === p.solicitud.prestacionOrigen);
if (prestacion) {
solicitud['dataPrestacion'] = prestacion;
solicitud['estadoActual'] = prestacion.estadoActual;
}
});
this.solicitudes = solicitudes;
this.servicioPrestacion.getSolicitudes({ idPaciente: this.paciente.id, origen: 'top' }).subscribe((solicitudesTOP) => {
this.solicitudesTOP = solicitudesTOP;
Expand All @@ -339,6 +348,7 @@ export class HudsBusquedaComponent implements AfterContentInit {

private cargarSolicitudesMezcladas() {
this.solicitudesMezcladas = this.solicitudes.concat(this.solicitudesTOP);

this.solicitudesMezcladas.sort((e1, e2) => {
let fecha1 = e1.fechaEjecucion ? e1.fechaEjecucion : e1.solicitud.fecha;
let fecha2 = e2.fechaEjecucion ? e2.fechaEjecucion : e2.solicitud.fecha;
Expand Down
22 changes: 14 additions & 8 deletions src/app/modules/rup/components/ejecucion/hudsBusqueda.html
Original file line number Diff line number Diff line change
Expand Up @@ -196,14 +196,20 @@
</div>
<div class="col-2 p-0 m-0">
<div class="p-0 pt-1 pr-1 float-right">
<plex-button *ngIf='registro.evoluciones' size="sm" type="info"
icon="information-outline"
title="Registrado por profesional" titlePosition="left">
</plex-button>
<plex-button *ngIf='!registro.evoluciones' size="sm" type="info"
icon="information-outline" title="Registrado por gestión"
titlePosition="left">
</plex-button>
<plex-badge size="sm"
[type]="registro.estadoActual.tipo === 'validada' ? 'success' :'info'"
*ngIf="registro.estadoActual">
{{ registro.estadoActual.tipo }}
<plex-button *ngIf='registro.evoluciones' size="sm" type="info"
icon="information-outline"
title="Registrado por profesional"
titlePosition="left">
</plex-button>
<plex-button *ngIf='!registro.evoluciones' size="sm" type="info"
icon="information-outline"
title="Registrado por gestión" titlePosition="left">
</plex-button>
</plex-badge>
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ <h5 class="text-primary">
</plex-button>
</plex-badge>


</span>
<br>
</ng-container>
Expand Down
21 changes: 11 additions & 10 deletions src/app/modules/rup/components/huds/vistaContextoPrestacion.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';
import { IPrestacionRegistro } from '../../interfaces/prestacion.registro.interface';
import { IPrestacion } from '../../interfaces/prestacion.interface';
import { PrestacionesService } from '../../services/prestaciones.service';
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { gtag } from '../../../../shared/services/analytics.service';
import { IPrestacion } from '../../interfaces/prestacion.interface';
import { IPrestacionRegistro } from '../../interfaces/prestacion.registro.interface';
import { getSemanticClass } from '../../pipes/semantic-class.pipes';
import { HUDSService } from '../../services/huds.service';
import { PrestacionesService } from '../../services/prestaciones.service';
@Component({
selector: 'vista-contexto-prestacion',
templateUrl: 'vistaContextoPrestacion.html',
Expand All @@ -29,12 +29,14 @@ export class VistaContextoPrestacionComponent implements OnInit {
return this._prestacion;
}

_registro: IPrestacionRegistro;
_registro;
_prestacion: IPrestacion;


constructor(public _prestacionesService: PrestacionesService,
public huds: HUDSService) { }
constructor(
public _prestacionesService: PrestacionesService,
public huds: HUDSService
) { }

ngOnInit() {

Expand All @@ -45,17 +47,16 @@ export class VistaContextoPrestacionComponent implements OnInit {
}

emitTabs(registro, tipo, index: number) {
let registroAux = this.todoRegistro.find(r => r.evoluciones.some(e => e.idRegistro === registro.id));
const registroAux = this.todoRegistro.find(r => r.evoluciones.some(e => e.idRegistro === registro.id));
registroAux.class = getSemanticClass(registroAux.concepto, false);
gtag('huds-open', tipo, registroAux.concepto.term, index);
this.huds.toogle(registroAux, tipo);

}

getPrestacion() {
let tipo = 'rup';
const tipo = 'rup';
this.huds.toogle(this.prestacion, tipo);
}


}
4 changes: 2 additions & 2 deletions src/app/modules/rup/components/huds/vistaPrestacion.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@
<plex-badge *ngIf="elemento?.relacionadoCon && elemento?.relacionadoCon.length === 1"
size="sm" type="info">
<b> Relacionado con: </b>
{{ elemento.relacionadoCon[0].concepto.term[0].toUpperCase() +
elemento.relacionadoCon[0].concepto.term.slice(1)}}
{{ elemento.relacionadoCon[0].concepto?.term[0].toUpperCase() +
elemento.relacionadoCon[0].concepto?.term.slice(1)}}
</plex-badge>
<plex-badge size="sm" type="info" *ngIf="elemento.esDiagnosticoPrincipal">
Procedimiento / diagnóstico principal
Expand Down
11 changes: 8 additions & 3 deletions src/app/modules/rup/components/huds/vistaProcedimiento.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<section class="grid-envolvente">
<div class=" concepto prestacion-offset">
<div>
<plex-badge type="danger" *ngIf="registro.privacy.scope !== 'public'">
<plex-badge type="danger" *ngIf="registro.privacy !== 'public'">
Registro Privado
</plex-badge>
<plex-badge type="{{ !registro.esSolicitud ? registro.concepto.semanticTag : 'solicitud' }}">
Expand All @@ -19,10 +19,15 @@ <h4 *ngIf="registro?.concepto">
<div class="divisor">
<div class="datos-prestacion">
<plex-icon name="historial" class="text-info" size="xl"></plex-icon>
<h5 class="ml-1 text-primary evoluciones">Registros</h5>
<h5 class="ml-1 text-primary evoluciones">
Registros
</h5>
</div>
<div class="justify-content-end nav-fecha">

<plex-button size="sm" type="info" tooltip="Registros de la solicitud"
*ngIf="registro.estadoActual?.tipo === 'validada'" (click)="abrirSolicitud()">
<plex-icon name="zoom"></plex-icon>
</plex-button>
</div>
</div>

Expand Down
21 changes: 14 additions & 7 deletions src/app/modules/rup/components/huds/vistaProcedimiento.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';
import { IPrestacionRegistro } from '../../interfaces/prestacion.registro.interface';
import { IPrestacion } from '../../interfaces/prestacion.interface';
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { IPaciente } from '../../../../core/mpi/interfaces/IPaciente';
import { IElementoRUP } from '../../interfaces/elementoRUP.interface';
import { PrestacionesService } from '../../services/prestaciones.service';
import { IPrestacion } from '../../interfaces/prestacion.interface';
import { ElementosRUPService } from '../../services/elementosRUP.service';
import { IPaciente } from '../../../../core/mpi/interfaces/IPaciente';
import { HUDSService } from '../../services/huds.service';
import { PrestacionesService } from '../../services/prestaciones.service';

@Component({
selector: 'vista-procedimiento',
Expand All @@ -15,7 +15,7 @@ import { IPaciente } from '../../../../core/mpi/interfaces/IPaciente';
export class VistaProcedimientoComponent implements OnInit {

@Input() paciente: IPaciente;
@Input() registro: IPrestacionRegistro;
@Input() registro: any;
@Input() prestacion: IPrestacion;
@Input() evolucionActual: any;
@Input() indice = 0;
Expand All @@ -25,7 +25,8 @@ export class VistaProcedimientoComponent implements OnInit {

constructor(
public prestacionesService: PrestacionesService,
public elementosRUPService: ElementosRUPService
public elementosRUPService: ElementosRUPService,
public huds: HUDSService
) { }

ngOnInit() {
Expand All @@ -51,4 +52,10 @@ export class VistaProcedimientoComponent implements OnInit {
}
}

abrirSolicitud() {
this.huds.toogle(
(this.registro as any).dataPrestacion,
'rup'
);
}
}
2 changes: 1 addition & 1 deletion src/app/modules/rup/components/huds/vistaRegistro.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<section class="grid-envolvente">
<div class="concepto prestacion-offset titulo-concepto">
<div>
<plex-badge type="{{ registro.concepto.semanticTag }}">
<plex-badge [type]=" registro.concepto.semanticTag ">
{{ registro.concepto.semanticTag }}
</plex-badge>
</div>
Expand Down
7 changes: 6 additions & 1 deletion src/app/modules/rup/components/huds/vistaSolicitudTop.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ <h4 *ngIf="registro?.solicitud">
<div class="datos-prestacion">
<plex-icon name="historial" class="text-info" size="xl"></plex-icon>
<h5 class="ml-1 text-primary evoluciones">Datos de la Solicitud</h5>
<plex-button class="ml-2" *ngIf="estado === 'validada'" size="sm" type="primary" icon="eye"
tooltip="Ver prestacion" (click)="getPrestacion()">
</plex-button>
</div>
<div class="justify-content-end nav-fecha">

Expand All @@ -33,7 +36,8 @@ <h5 class="ml-1 text-primary evoluciones">Datos de la Solicitud</h5>
{{registro.solicitud.registros[0].valor.solicitudPrestacion.motivo}}
</span>
<b>Estado</b>
<span *ngIf="!turno">{{estado}}</span>
<span *ngIf="!turno">{{estado}}
</span>
<ng-container *ngIf="turno">
<span>Turno Dado</span>
<b>Fecha Turno</b>
Expand All @@ -51,6 +55,7 @@ <h5 class="ml-1 text-primary evoluciones">Datos de la Solicitud</h5>
<small *ngIf="!registro?.solicitud?.registros[0].valor.documentos?.length">(Sin documentos
adjuntos)</small>
<historial-solicitud [prestacion]="registro" [turno]='turno'></historial-solicitud>

</div>
</div>
</div>
Expand Down
8 changes: 7 additions & 1 deletion src/app/modules/rup/components/huds/vistaSolicitudTop.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, OnInit, Input } from '@angular/core';
import { TurnoService } from '../../../../services/turnos/turno.service';

import { HUDSService } from '../../services/huds.service';
@Component({
selector: 'vista-solicitud-top',
templateUrl: 'vistaSolicitudTop.html'
Expand All @@ -15,6 +15,7 @@ export class VistaSolicitudTopComponent implements OnInit {

constructor(
public servicioTurnos: TurnoService,
public huds: HUDSService
) { }

ngOnInit() {
Expand All @@ -37,4 +38,9 @@ export class VistaSolicitudTopComponent implements OnInit {
}
}

getPrestacion() {
let tipo = 'rup';
this.huds.toogle(this.registro, tipo);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export class IRegistroPrivacy {
export class IPrestacionRegistro {
id: string;
idPrestacion: string;

elementoRUP: string;
// Indica el nombre del registro, calculado por el elementoRUP.
// Ejemplo: 'Prescripción de novalgina'
Expand Down

0 comments on commit a3646a4

Please sign in to comment.