diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.component.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.component.ts new file mode 100644 index 0000000000..1fc53dfe34 --- /dev/null +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.component.ts @@ -0,0 +1,41 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { PrestacionesService } from '../../../../../modules/rup/services/prestaciones.service'; +import { IPaciente } from '../../../../../core/mpi/interfaces/IPaciente'; + +@Component ({ + selector: 'alergias-paciente', + templateUrl: './alergias-paciente.html', + styles: [` + .bordered { + width: 175px; + height: 36px; + border: #ff8d22 solid 1px; + } + `] +}) +export class AlergiasPacienteComponent implements OnInit { + @Input() paciente: IPaciente; + @Input() cardSize: 'half' | 'full' = 'half'; + + public registrosAlergia$: Observable; + private expression = '<<39579001 OR <<419199007'; + + constructor( + private prestacionesService: PrestacionesService + ) {} + + ngOnInit() { + this.registrosAlergia$ = this.prestacionesService.getRegistrosHuds(this.paciente.id, this.expression, null, null, null, 'inferred').pipe( + map(alergias => alergias.map(a => { + return { + nombre: a.registro.nombre, + evolucion: a.registro.valor.evolucion?.replace(/<[/]*p>/gi, ' '), + fechaInicio: a.registro.valor.fechaInicio + }; + }) + ) + ); + } +} diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.html b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.html new file mode 100644 index 0000000000..220eb0f8c3 --- /dev/null +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/alergias-paciente.html @@ -0,0 +1,24 @@ + +
+ + + + + + + + + + + Evolución: +
+
+ + + Sin observaciones + + +
+
+
+
diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html index 9f9254e5ae..e8fec56e2d 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.html @@ -1,6 +1,7 @@ - + + diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts index 60e78ee8b4..10a746acd7 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.component.ts @@ -5,9 +5,9 @@ import { ActivatedRoute, Router } from '@angular/router'; import { BehaviorSubject, forkJoin, Observable } from 'rxjs'; import { map, tap } from 'rxjs/operators'; import { HeaderPacienteComponent } from 'src/app/components/paciente/headerPaciente.component'; +import { IPaciente } from 'src/app/core/mpi/interfaces/IPaciente'; import { PacienteService } from 'src/app/core/mpi/services/paciente.service'; import { RupEjecucionService } from 'src/app/modules/rup/services/ejecucion.service'; -import { ElementosRUPService } from 'src/app/modules/rup/services/elementosRUP.service'; import { HUDSService } from 'src/app/modules/rup/services/huds.service'; import { PrestacionesService } from '../../../../../modules/rup/services/prestaciones.service'; import { MaquinaEstadosHTTP } from '../../services/maquina-estados.http'; @@ -28,7 +28,7 @@ export class PlanIndicacionesComponent implements OnInit { private capa: string; private ambito: string; private idInternacion: string; - private paciente: any; + public paciente: any; public indicacion; public fecha = new Date(); public hoy = new Date(); @@ -37,18 +37,10 @@ export class PlanIndicacionesComponent implements OnInit { public horas = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5]; public indicaciones = []; public selectedIndicacion = {}; - private selectedBuffer = new BehaviorSubject({}); - - private seccion = true; - public suspenderIndicacion: Boolean; - public showSecciones = { - - }; - + public showSecciones = {}; public isToday = true; - - private internacion; + private selectedBuffer = new BehaviorSubject({}); private botones$ = this.selectedBuffer.pipe( map(selected => { const indicaciones = Object.keys(selected) @@ -58,6 +50,10 @@ export class PlanIndicacionesComponent implements OnInit { }) ); + get sidebarOpen() { + return this.indicacionView || this.indicacionEventoSelected || this.nuevaIndicacion || this.suspenderIndicacion; + } + public detener$ = this.botones$.pipe( map(indicaciones => { const b = indicaciones.length > 0 && indicaciones.every(ind => ind.estado.tipo === 'active' || ind.estado.tipo === 'on-hold' || ind.estado.tipo === 'pending'); @@ -104,9 +100,8 @@ export class PlanIndicacionesComponent implements OnInit { private hudsService: HUDSService, private auth: Auth, private maquinaEstadoService: MaquinaEstadosHTTP, - private elementoRUPService: ElementosRUPService, - public ejecucionService: RupEjecucionService, - private router: Router + private router: Router, + public ejecucionService: RupEjecucionService ) { } @@ -115,13 +110,11 @@ export class PlanIndicacionesComponent implements OnInit { this.ambito = this.route.snapshot.paramMap.get('ambito'); this.idInternacion = this.route.snapshot.paramMap.get('idInternacion'); this.getInternacion().subscribe((resumen) => { - this.internacion = resumen; this.pacienteService.getById(resumen.paciente.id).subscribe(paciente => { this.paciente = paciente; this.plex.setNavbarItem(HeaderPacienteComponent, { paciente }); }); this.actualizar(); - }); this.maquinaEstadoService.getAll( diff --git a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts index 994cf41803..b3575ca7d5 100644 --- a/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts +++ b/src/app/apps/rup/mapa-camas/views/plan-indicaciones/plan-indicaciones.module.ts @@ -15,6 +15,7 @@ import { PlanIndicacionesBotoneraComponent } from './indicaciones-botonera/indic import { PlanIndicacionesNuevaIndicacionComponent } from './nueva-indicacion/nueva-indicacion.component'; import { PlanIndicacionesComponent } from './plan-indicaciones.component'; import { SuspensionIndicacionComponent } from './motivo-suspension/motivo-suspension.component'; +import { AlergiasPacienteComponent } from './alergias-paciente.component'; @NgModule({ imports: [ @@ -35,12 +36,15 @@ import { SuspensionIndicacionComponent } from './motivo-suspension/motivo-suspen PlanIndicacionesBotoneraComponent, PlanIndicacionesNuevaIndicacionComponent, SuspensionIndicacionComponent, - DetalleIndicacionPipe + DetalleIndicacionPipe, + AlergiasPacienteComponent ], exports: [ IndicacionColorPipe, IndicacionLabelPipe, - PlanIndicacionesResumenComponent + PlanIndicacionesResumenComponent, + AlergiasPacienteComponent, + SuspensionIndicacionComponent ], providers: [ { provide: RupEjecucionService, useClass: PlanIndicacionesServices } diff --git a/src/app/modules/rup/services/prestaciones.service.ts b/src/app/modules/rup/services/prestaciones.service.ts index acc98a1ef4..4cf49ada1e 100644 --- a/src/app/modules/rup/services/prestaciones.service.ts +++ b/src/app/modules/rup/services/prestaciones.service.ts @@ -417,12 +417,14 @@ export class PrestacionesService { * @returns {any[]} Prestaciones del paciente que coincidan con los conceptIds * @memberof PrestacionesService */ - getRegistrosHuds(idPaciente: string, expresion, deadLine = null, valor = null) { + getRegistrosHuds(idPaciente: string, expresion, deadLine = null, valor = null, searchTerm = null, form = null) { const opt = { params: { - 'valor': valor, - 'expresion': expresion, - 'deadLine': deadLine, + valor, + expresion, + searchTerm, + form, + deadLine, hudsToken: this.hudsService.getHudsToken() }, options: {