diff --git a/src/app/modules/rup/components/ejecucion/buscador.scss b/src/app/modules/rup/components/ejecucion/buscador.scss index 7733a2d63f..0db6cb14b3 100644 --- a/src/app/modules/rup/components/ejecucion/buscador.scss +++ b/src/app/modules/rup/components/ejecucion/buscador.scss @@ -93,8 +93,13 @@ align-items: center; justify-content: center; - .icon i { + .icon i, + i.icon { font-size: 25px; + + &.adi-hospital-building { + font-size: 28px; + } } .contador { diff --git a/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts b/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts index 89090288c4..6580b66154 100644 --- a/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts +++ b/src/app/modules/rup/components/ejecucion/hudsBusqueda.component.ts @@ -33,6 +33,8 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro laboratoriosFS: any; laboratorios: any = []; vacunas: any = []; + guardias: any = []; + private rupGuardias: any[] = []; derivaciones: any = []; ordenDesc = true; searchTerm: string; @@ -119,6 +121,7 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro elementoderegistro: ['elemento de registro'], laboratorios: ['laboratorios'], vacunas: ['vacunas'], + guardias: ['guardias'], recc: ['recc'] }; public prestacionesTotales; @@ -160,6 +163,7 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro public filtros = [ { key: 'planes', titulo: 'prestaciones', icono: 'clipboard-check-outline' }, + { key: 'guardias', titulo: 'guardias', icono: 'hospital-building' }, { key: 'solicitudes', titulo: 'solicitudes', icono: 'mano-corazon' }, { key: 'hallazgo', titulo: 'hallazgos', icono: 'hallazgo' }, { key: 'trastorno', titulo: 'trastornos', icono: 'trastorno' }, @@ -191,6 +195,7 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro public permisosLab; public permisosVac; public permisosRec; + public permisosGuardia; public pacienteSelected = null; @@ -239,11 +244,13 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro this.permisosLab = this.auth.check('huds:visualizacionParcialHuds:laboratorio'); this.permisosVac = this.auth.check('huds:visualizacionParcialHuds:vacuna'); this.permisosRec = this.auth.check('huds:visualizacionParcialHuds:receta'); + this.permisosGuardia = this.auth.check('huds:visualizacionParcialHuds:guardia'); this.filtroActual = this.permisosCompletos ? 'trastorno' : (this.permisosParciales || this.permisosLab) ? 'laboratorios' : - this.permisosVac ? 'vacunas' : - 'recetas'; + (this.permisosVac) ? 'vacunas' : + (this.permisosGuardia) ? 'guardias' : + 'recetas'; this.pacienteSelected = this.paciente; if (this.filtroActual === 'recetas') { @@ -354,7 +361,7 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro regenerarCDA() { this.disabledBtnCDA = true; - this.cantidadRegistros = Number(this.laboratorios.lenght); + this.cantidadRegistros = this.filtroActual === 'guardias' ? this.guardias.length : this.laboratorios.length; this.cdaService.regenerarCDA(this.paciente).subscribe( () => { @@ -517,8 +524,12 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro this.prestacionesTotales = prestaciones; const validadas = prestaciones.filter(p => p.estados[p.estados.length - 1].tipo === 'validada'); - this.prestaciones = groupBy(validadas).map(p => { + const filtradas = validadas.filter(p => p.solicitud.tipoPrestacion.conceptId !== ConceptosTurneablesService.Guardia_CDA_ID); + const guardiasRUP = validadas.filter(p => p.solicitud.tipoPrestacion.conceptId === ConceptosTurneablesService.Guardia_CDA_ID); + + const mapRUP = (p) => { if (Array.isArray(p)) { + p[0]._id = p[0]._id || p[0].id; return { data: p, tipo: 'rup-group', @@ -531,6 +542,7 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro }; } else { const lastState = p.estados[p.estados.length - 1]; + p._id = p._id || p.id; return { data: p, tipo: 'rup', @@ -542,7 +554,10 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro organizacion: p.solicitud.organizacion.id }; } - }); + }; + + this.rupGuardias = groupBy(guardiasRUP).map(p => mapRUP(p)); + this.prestaciones = groupBy(filtradas).map(p => mapRUP(p)); this.prestacionesCopia = this.prestaciones.slice(); this.setAmbitoOrigen('ambulatorio'); this.tiposPrestacion = this._prestaciones.map(p => p.prestacion); @@ -646,40 +661,45 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro }).subscribe({ next: (resultados) => { const protocolos = resultados.protocolos || []; - this.servicioPrestacion.getCDAByPaciente(this.paciente.id, token).subscribe(registros => { - this.cdas = registros.map(cda => { - cda.id = cda.cda_id; - return { - data: cda, - tipo: 'cda', - prestacion: cda.prestacion.snomed, - profesional: cda.profesional ? `${cda.profesional.apellido} ${cda.profesional.nombre}` : '', - fecha: cda.fecha, - estado: 'validada', - ambito: 'ambulatorio', - organizacion: cda.organizacion.id - }; - }); - this.prestaciones = this.prestacionesCopia; - // filtramos las vacunas y laboratorios por ahora para que se listan por separado - this.vacunas = this.cdas.filter(cda => cda.prestacion.conceptId === ConceptosTurneablesService.Vacunas_CDA_ID); - this.laboratorios = this.cdas.filter(cda => cda.prestacion.conceptId === ConceptosTurneablesService.Laboratorio_CDA_ID - || cda.prestacion.conceptId === ConceptosTurneablesService.Laboratorio_SISA_CDA_ID); - - this.laboratorios = this.ordenarLaboratorios(this.laboratorios, protocolos); - - // DEjamos el resto de los CDAS y los unimos a las prestaciones - const filtro = this.cdas.filter(cda => { - return cda.prestacion.conceptId !== ConceptosTurneablesService.Vacunas_CDA_ID - && cda.prestacion.conceptId !== ConceptosTurneablesService.Laboratorio_CDA_ID - && cda.prestacion.conceptId !== ConceptosTurneablesService.Laboratorio_SISA_CDA_ID; - }); - // Filtramos por CDA para poder recargar los estudiosc - this.prestaciones = [...this.prestaciones.filter(e => e.tipo !== 'cda'), ...filtro]; - this.tiposPrestacion = this._prestaciones.map(p => p.prestacion); - this.prestacionesCopia = this.prestaciones.slice(); - this.filtrar(); + const registros = resultados.cdaByPaciente || []; + this.cdas = registros.map(cda => { + cda.id = cda.cda_id; + cda._id = cda.cda_id; + return { + data: cda, + tipo: 'cda', + prestacion: cda.prestacion.snomed, + profesional: cda.profesional ? `${cda.profesional.apellido}, ${cda.profesional.nombre}` : '', + fecha: cda.fecha, + estado: 'validada', + ambito: 'ambulatorio', + organizacion: cda.organizacion.id + }; + }); + this.prestaciones = this.prestacionesCopia; + // filtramos las vacunas y laboratorios por ahora para que se listan por separado + this.vacunas = this.cdas.filter(cda => cda.prestacion.conceptId === ConceptosTurneablesService.Vacunas_CDA_ID); + this.guardias = [ + ...this.rupGuardias, + ...this.cdas.filter(cda => cda.prestacion.conceptId === ConceptosTurneablesService.Guardia_CDA_ID) + ]; + this.laboratorios = this.cdas.filter(cda => cda.prestacion.conceptId === ConceptosTurneablesService.Laboratorio_CDA_ID + || cda.prestacion.conceptId === ConceptosTurneablesService.Laboratorio_SISA_CDA_ID); + + this.laboratorios = this.ordenarLaboratorios(this.laboratorios, protocolos); + + // DEjamos el resto de los CDAS y los unimos a las prestaciones + const filtro = this.cdas.filter(cda => { + return cda.prestacion.conceptId !== ConceptosTurneablesService.Vacunas_CDA_ID + && cda.prestacion.conceptId !== ConceptosTurneablesService.Laboratorio_CDA_ID + && cda.prestacion.conceptId !== ConceptosTurneablesService.Laboratorio_SISA_CDA_ID + && cda.prestacion.conceptId !== ConceptosTurneablesService.Guardia_CDA_ID; }); + // Filtramos por CDA para poder recargar los estudiosc + this.prestaciones = [...this.prestaciones.filter(e => e.tipo !== 'cda'), ...filtro]; + this.tiposPrestacion = this._prestaciones.map(p => p.prestacion); + this.prestacionesCopia = this.prestaciones.slice(); + this.filtrar(); } }); } @@ -722,12 +742,13 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro // Mapeamos igual que antes const cdasMapeados = cdaByPaciente.map(cda => { cda.id = cda.cda_id; + cda._id = cda.cda_id; return { data: cda, tipo: 'cda', prestacion: cda.prestacion.snomed, profesional: cda.profesional - ? `${cda.profesional.apellido} ${cda.profesional.nombre}` + ? `${cda.profesional.apellido}, ${cda.profesional.nombre}` : '', fecha: cda.fecha, estado: 'validada', @@ -742,10 +763,19 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro cda.prestacion.conceptId === ConceptosTurneablesService.Laboratorio_SISA_CDA_ID ); + // 馃敼 GUARDIAS + this.guardias = [ + ...this.rupGuardias, + ...cdasMapeados.filter(cda => + cda.prestacion.conceptId === ConceptosTurneablesService.Guardia_CDA_ID + ) + ]; + // 馃敼 Orden especial de laboratorios this.laboratorios = this.ordenarLaboratorios(this.laboratorios, protocolos); - const nuevosRegistros = this.laboratorios.length - this.cantidadRegistros; + const countAfter = this.filtroActual === 'guardias' ? this.guardias.length : this.laboratorios.length; + const nuevosRegistros = countAfter - this.cantidadRegistros; const notificacion = nuevosRegistros > 0 ? 'Se encontraron ' + nuevosRegistros + ' nuevos registros.' : 'No se encontraron nuevos registros. Puede intentar regenerar/actualizar el listado nuevamente en unos minutos.'; this.plex.toast('info', notificacion, 'Informaci贸n', 6000); this.disabledBtnCDA = false; @@ -772,6 +802,8 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro return this.laboratorios.length; case 'vacunas': return this.vacunas.length; + case 'guardias': + return this.guardias.length; case 'recc': return this.derivaciones.length; case 'solicitudes': @@ -801,12 +833,19 @@ export class HudsBusquedaComponent implements AfterContentInit, OnInit, OnDestro return true; } else if (item.key === 'vacunas' && (this.permisosVac || this.permisosParciales)) { return true; + } else if (item.key === 'guardias' && (this.permisosGuardia || this.permisosParciales || this.permisosCompletos)) { + return true; } else if (item.key === 'recetas' && (this.permisosRec || this.permisosParciales)) { return true; } return false; } + mostrarBuscador() { + const filtrosSinBuscador = ['solicitudes', 'planes', 'laboratorios', 'vacunas', 'dominios', 'guardias']; + return !filtrosSinBuscador.includes(this.filtroActual); + } + filtrarTrastornos() { this.searchTerm = null; diff --git a/src/app/modules/rup/components/ejecucion/hudsBusqueda.html b/src/app/modules/rup/components/ejecucion/hudsBusqueda.html index 4ba285ff96..5c254fdc4d 100644 --- a/src/app/modules/rup/components/ejecucion/hudsBusqueda.html +++ b/src/app/modules/rup/components/ejecucion/hudsBusqueda.html @@ -6,14 +6,15 @@
+ (click)="filtroBuscador(filtro.key)">
+ [ngClass]="{'active': filtroActual === filtro.key}">
{{getCantidadResultados(filtro.key)}}
- + +
{{filtro.titulo}}
@@ -24,27 +25,28 @@
{{ getTitulo(filtroActual) | uppercase }}
-
+
+ [autodisabled]="true" (click)="refreshLaboratorios(token)"> + tooltip="Buscar nuevos registros" [disabled]="disabledBtnCDA" (click)="regenerarCDA()">
+ [items]="filtrosAmbitos">
+ [seleccionRecetas]="seleccionSuspender" [motivoSelector]="motivoSuspensionSelector" + [motivosSuspension]="motivosSuspension" [profesional]="profesional" + (reset)="resetSeleccionRecetas()"> + [title]="showFiltros ? 'Cerrar filtros' : 'Ver filtros'" class="float-right" + tooltipPosition="left" (click)="toogleFiltros()">
@@ -52,16 +54,16 @@
{{ getTitulo(filtroActual) | uppercas + *ngIf="mostrarBuscador()">
+ [autoFocus]="true">
+ label="{{filtroTrastornos ? 'Activos' : 'Todos'}}">
@@ -72,48 +74,48 @@
{{ getTitulo(filtroActual) | uppercas
+ [data]="tiposPrescripcion" idField="id" labelField="nombre" (change)="filtrarRecetas()" + [readonly]="true">
+ name="fechaInicioRecetas" label="Fecha Desde" [debounce]="400">
+ name="fechaFinRecetas" label="Fecha Hasta" [debounce]="400">
+ placeholder="Buscar recetas..." [autoFocus]="true">
  • + [ngModel]="seleccionRecetas[iReceta]" name="seleccionada" type="checkbox" + (change)="seleccionarReceta($event, grupo.recetas, iReceta)">
    + *ngIf="grupo.recetaVisible?.medicamento?.tratamientoProlongado"> {{ textoTratamientoProlongado(grupo) }}
    + [ngClass]="{'active': huds.isOpen(grupo, 'receta')}" + (click)="emitTabs(grupo, 'receta', iReceta)">
    + [ngClass]="{'active': huds.isOpen(grupo, 'receta')}">
    @@ -145,12 +147,12 @@
    {{ getTitulo(filtroActual) | uppercas
    + [type]="estadoReceta[grupo.recetaVisible?.estadoActual.tipo]"> {{ grupo.recetaVisible?.estadoActual?.tipo.replace('-', ' ') }} + [type]="estadoDispensa[grupo.recetaVisible?.estadoDispensaActual.tipo]"> {{ grupo.recetaVisible?.estadoDispensaActual?.tipo.replace('-', ' ') @@ -173,7 +175,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay recetas registradas">
    @@ -188,11 +190,11 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(registro, 'solicitud') || huds.isOpen(registro, 'concepto'), 'solicitud': true}" + (click)="clickSolicitud(registro, iPrestacion)">
    + [ngClass]="{'active': huds.isOpen(registro, 'solicitud') || huds.isOpen(registro, 'concepto'), 'rup-border-plan': true}">
    @@ -234,15 +236,16 @@
    {{ getTitulo(filtroActual) | uppercas
    + [type]="estadoRegistro(registro.estadoActual?.tipo)"> {{ registro.estadoActual.tipo }} + icon="information-outline" + title="Registrado por profesional" + titlePosition="left"> + icon="information-outline" + title="Registrado por gesti贸n" titlePosition="left">
    @@ -258,7 +261,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay solicitudes registradas">
    @@ -270,11 +273,11 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'solicitud': registro.esSolicitud}" + (click)="emitTabs(registro, 'concepto', iConcepto)">
    + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'rup-border-plan': registro.esSolicitud}">
    @@ -318,7 +321,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay hallazgos registrados">
    @@ -330,17 +333,17 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'solicitud': registro.esSolicitud}" + (click)="emitTabs(registro, 'concepto', iConcepto)">
    + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'rup-border-plan': registro.esSolicitud}">
    + [dragScope]="'registros-rup'" [dragData]="registro.concepto" + (onDragStart)="dragStart($event)" (onDragEnd)="dragEnd($event)">
    @@ -368,14 +371,14 @@
    {{ getTitulo(filtroActual) | uppercas
    + [type]="registro.evoluciones[0].estado === 'activo' ? 'success' : 'danger'"> {{ registro.evoluciones[0].estado }}
    @@ -391,7 +394,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay trastornos registrados">
    @@ -403,11 +406,11 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'solicitud': registro.esSolicitud}" + (click)="emitTabs(registro, 'concepto', iConcepto)">
    + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'rup-border-registro': registro.esSolicitud}">
    @@ -452,7 +455,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay elementos de registros cargados">
    @@ -464,17 +467,17 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'solicitud': registro.esSolicitud}" + (click)="emitTabs(registro, 'concepto', iPrestacion)">
    + [ngClass]="{'active': huds.isOpen(registro, 'concepto'), 'rup-border-plan': registro.esSolicitud}">
    + [class.adi-mano-corazon]="registro.esSolicitud">
    {{ registro.concepto.term }} @@ -512,7 +515,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay procedimientos registrados">
    @@ -524,26 +527,26 @@
    {{ getTitulo(filtroActual) | uppercas
    + idField="conceptId" labelField="term" (change)="filtrar()" [multiple]="true">
    + idField="id" labelField="nombre" (change)="filtrar()">
    + label="Fecha Desde" [debounce]="400">
    + label="Fecha Hasta" [debounce]="400">
    @@ -557,7 +560,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + name="documento">
    Detalle de la internacion
    @@ -575,9 +578,9 @@
    {{ getTitulo(filtroActual) | uppercas
    + class="item-prestacion list-group-item" + [ngClass]="{'activo': huds.someOpen(internacion, iInternacion)}" + (click)="emitTabs(internacion, 'internacion', iInternacion)">
    @@ -585,7 +588,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + size="lg" name="circulo-paciente">

    {{registro.term || 'Evoluciones y otros registros'}}

    @@ -600,7 +603,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + name="documento">
    Prestaci贸n fuera de internaci贸n
    @@ -616,15 +619,15 @@
    {{ getTitulo(filtroActual) | uppercas
    + class="item-prestacion list-group-item" + [ngClass]="{'activo': huds.someOpen(internacion, iInternacion)}" + (click)="emitTabs(otrasPrestaciones, 'internacion', iInternacion)">
    + class="icon" size="lg" name="mano-gota">
    + class="icon" size="lg" name="pildoras">
    + size="lg" name="circulo-paciente">

    {{indice.term || 'Evoluciones y otros registros'}}

    @@ -637,7 +640,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay prestaciones registradas">
    @@ -647,11 +650,11 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(prestacion.data, prestacion.tipo)}" + (click)="emitTabs(prestacion, prestacion.tipo, iPrestacion)">
    + [ngClass]="{'active': huds.isOpen(prestacion.data, prestacion.tipo)}">
    @@ -685,7 +688,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + [type]=" prestacion.tipo !== 'ficha-epidemiologica' ? 'success' : 'info'"> {{prestacion.estado}}
    @@ -700,7 +703,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay prestaciones registradas">
    @@ -714,7 +717,7 @@
    {{ getTitulo(filtroActual) | uppercas
  • + (click)="emitTabs(registro, 'concepto', iCronico)">
    @@ -740,7 +743,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + [type]="registro.evoluciones[registro.evoluciones.length-1].estado === 'activo' ? 'success' : 'danger'"> {{ registro.evoluciones[registro.evoluciones.length-1].estado }} @@ -757,7 +760,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay productos registrados">
    @@ -773,7 +776,7 @@
    {{ getTitulo(filtroActual) | uppercas
  • + [ngClass]="{'active': huds.isOpen(laboratorio.idProtocolo ? laboratorio : laboratorio.data, laboratorio.idProtocolo ? 'laboratorio' : 'cda')}">
    @@ -785,7 +788,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + (click)="emitTabs(laboratorio, laboratorio.idProtocolo ? 'laboratorio' : 'cda', iLaboratorio)">
    {{ @@ -821,7 +824,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + class="text-sm"> M茅dico solicitante: {{ laboratorio?.medicoSolicitante || laboratorio?.profesional }} @@ -843,7 +846,7 @@
    {{ getTitulo(filtroActual) | uppercas
    + titulo="No hay laboratorios registrados">
    @@ -855,7 +858,8 @@
    {{ getTitulo(filtroActual) | uppercas
    • -
      +
      @@ -868,7 +872,7 @@
      {{ getTitulo(filtroActual) | uppercas
      + (click)="emitTabs(unaVacuna, 'cda', iVacuna)"> {{ unaVacuna?.prestacion.term }}
      @@ -904,17 +908,83 @@
      {{ getTitulo(filtroActual) | uppercas
      + + + + +
      +
        + +
      • +
        +
        +
        + +
        +
        +
        +
        + +
        +
        +
        + + {{ + guardia?.prestacion?.term }} + +
        +
        +
        +
        + Organizaci贸n: {{ + guardia.data?.organizacion?.nombre || + guardia.data?.solicitud?.organizacion?.nombre + }} +
        +
        + Profesional: {{ guardia.profesional + }} +
        +
        + Fecha: {{ guardia.fecha | date: + 'dd/MM/yyyy HH:mm' }} +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
      • +
        +
      +
      +
      +
      +
      + + +
      +
      +
      +
      • + [ngClass]="{'active': huds.isOpen(registro, 'recc'), 'recc': true}" + (click)="clickDerivacion(registro, iDerivacion)">
        + [ngClass]="{'active': huds.isOpen(registro, 'recc') , 'rup-border-recc': true}">
        @@ -935,12 +1005,12 @@
        {{ getTitulo(filtroActual) | uppercas
        Profesional: + *ngIf='registro.profesionalSolicitante'> {{ registro.profesionalSolicitante | nombre }} + *ngIf='!registro.profesionalSolicitante'> No existe @@ -961,7 +1031,7 @@
        {{ getTitulo(filtroActual) | uppercas
        + titulo="No hay derivaciones registradas">
        diff --git a/src/app/modules/rup/components/ejecucion/hudsBusqueda.scss b/src/app/modules/rup/components/ejecucion/hudsBusqueda.scss index 220c78af90..1426f50bf2 100644 --- a/src/app/modules/rup/components/ejecucion/hudsBusqueda.scss +++ b/src/app/modules/rup/components/ejecucion/hudsBusqueda.scss @@ -59,8 +59,14 @@ align-items: center; justify-content: center; - .icon i { + .icon i, + i.icon { font-size: 25px; + + &.adi-hospital-building { + font-size: 28px; + color: #c1121f; + } } .contador { @@ -132,6 +138,10 @@ @include card-estilo($vacuna); } + .guardias { + @include card-estilo($guardia); + } + .recc { @include card-estilo($recc); } @@ -290,6 +300,10 @@ color: $vacuna } + &.guardias { + color: $guardia + } + &.recc { color: $recc } @@ -335,6 +349,11 @@ .icon-rup { max-width: 55px !important; + + i.adi-hospital-building { + font-size: 2rem; + color: #c1121f; + } } } } diff --git a/src/app/modules/rup/components/ejecucion/prestacionEjecucion.scss b/src/app/modules/rup/components/ejecucion/prestacionEjecucion.scss index a451ebf723..ae3cc63fb2 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionEjecucion.scss +++ b/src/app/modules/rup/components/ejecucion/prestacionEjecucion.scss @@ -4,7 +4,7 @@ .plex-box-content { padding-right: 0; } -} +} // .prestacionActual { @@ -174,4 +174,15 @@ background-color: #7b2ff7 !important; } } +} + +.nav-item-guardia { + a { + color: #c1121f !important; + + &.active { + color: #ffffff !important; + background-color: #c1121f !important; + } + } } \ No newline at end of file diff --git a/src/app/modules/rup/components/ejecucion/vistaHuds.component.ts b/src/app/modules/rup/components/ejecucion/vistaHuds.component.ts index f36af231d3..c0b897b07f 100644 --- a/src/app/modules/rup/components/ejecucion/vistaHuds.component.ts +++ b/src/app/modules/rup/components/ejecucion/vistaHuds.component.ts @@ -174,4 +174,12 @@ export class VistaHudsComponent implements OnInit, OnDestroy { registro.data.class === 'elementoderegistro' || registro.data.class === 'producto'; } + + esGuardia(registro: any) { + const term = (registro.tipo === 'rup') ? + registro.data?.solicitud?.tipoPrestacion?.term : + registro.data?.prestacion?.snomed?.term; + const isGuardia = term && term.toLowerCase().includes('emergencia'); + return isGuardia; + } } diff --git a/src/app/modules/rup/components/ejecucion/vistaHuds.html b/src/app/modules/rup/components/ejecucion/vistaHuds.html index 54e347032b..5c9dd7dad9 100644 --- a/src/app/modules/rup/components/ejecucion/vistaHuds.html +++ b/src/app/modules/rup/components/ejecucion/vistaHuds.html @@ -62,8 +62,15 @@ + + + + + + + [class]="registro.data.class" color="solicitud" *ngIf="registro.tipo === 'rup' && !esGuardia(registro)"> @@ -94,7 +101,7 @@ - diff --git a/src/app/modules/rup/components/ejecucion/vistaHuds.scss b/src/app/modules/rup/components/ejecucion/vistaHuds.scss index 3f65fe6a27..c1a9085870 100644 --- a/src/app/modules/rup/components/ejecucion/vistaHuds.scss +++ b/src/app/modules/rup/components/ejecucion/vistaHuds.scss @@ -28,6 +28,17 @@ plex-tab { } } +.nav-item-guardia { + a { + color: #c1121f !important; + + &.active { + color: #ffffff !important; + background-color: #c1121f !important; + } + } +} + form~form { border: none; } diff --git a/src/app/modules/rup/components/variables.scss b/src/app/modules/rup/components/variables.scss index f7f3da94a2..74f2e5497f 100644 --- a/src/app/modules/rup/components/variables.scss +++ b/src/app/modules/rup/components/variables.scss @@ -23,6 +23,7 @@ $vacuna: #11910D; $recc: #7a1e2b; $dominiosNac: #11312D; $informacion: #00A8E0; +$guardia: #c1121f; $recetas: #7b2ff7; // definimos esta lista para poder acceder mediante la funcion map-get() ya que en sass no se puede hacer // la interpolacion del string a una variable directamente @@ -44,6 +45,7 @@ $rup_colors: ( 'medicamento.cl铆nico': $producto, adjunto: $adjunto, vacuna: $vacuna, + guardia: $guardia, recc: $recc, dominiosNac: $dominiosNac, elemento: $registro, diff --git a/src/app/services/conceptos-turneables.service.ts b/src/app/services/conceptos-turneables.service.ts index 1c1307ff20..c50978638e 100644 --- a/src/app/services/conceptos-turneables.service.ts +++ b/src/app/services/conceptos-turneables.service.ts @@ -11,6 +11,7 @@ export class ConceptosTurneablesService extends ResourceBaseHttp