Skip to content

Commit

Permalink
fix(RUP): Se corrige formato de diagnostico en receta
Browse files Browse the repository at this point in the history
  • Loading branch information
silviroa committed Jan 10, 2025
1 parent 8922365 commit eb0fa7e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 37 deletions.
41 changes: 16 additions & 25 deletions src/app/modules/rup/components/elementos/recetaMedica.component.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Component, Output, Input, EventEmitter, OnInit, AfterViewInit, ViewChild, ElementRef } from '@angular/core';
import { RUPComponent } from '../core/rup.component';
import { RupElement } from '.';
import { forkJoin } from 'rxjs';
import { forkJoin, Observable } from 'rxjs';
import { Unsubscribe } from '@andes/shared';
import { NgForm } from '@angular/forms';
@Component({
Expand All @@ -15,14 +15,14 @@ import { NgForm } from '@angular/forms';
export class RecetaMedicaComponent extends RUPComponent implements OnInit {

@ViewChild('formMedicamento') formMedicamento: NgForm;

intervalos$: Observable<any>;
public medicamento: any = {
generico: null,
presentacion: null,
cantidad: null,
cantEnvases: null,
diagnostico: '',
tipoReceta: 'Simple',
diagnostico: null,
tipoReceta: { id: 'simple', label: 'Simple' },
tratamientoProlongado: false,
tiempoTratamiento: null,
dosisDiaria: {
Expand All @@ -47,24 +47,19 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
{ id: '3meses', nombre: '3 meses' },
{ id: '6meses', nombre: '6 meses' }
];

ngOnInit() {
if (!this.registro.valor) {
this.registro.valor = {};
}
if (!this.registro.valor.medicamentos) {
this.registro.valor.medicamentos = [];
}
this.registros = this.prestacion.ejecucion.registros.filter(reg => {
reg.nombre !== 'receta';
}
).map(reg => { if (reg.nombre !== 'receta') { return { id: reg.id, nombre: reg.nombre, elementoRUP: reg.elementoRUP }; } });
for (let i = 1; i <= 24; i++) {
this.horas.push({ id: i, nombre: i + ' hora' + (i > 1 ? 's' : '') });
}
this.registros = this.prestacion.ejecucion.registros.filter(reg => reg.id !== this.registro.id).map(reg => reg.concepto);
this.intervalos$ = this.constantesService.search({ source: 'plan-indicaciones:frecuencia' });

}


@Unsubscribe()
loadMedicamentoGenerico(event) {
this.comprimidosEditados = false;
Expand All @@ -79,18 +74,13 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
event.callback([]);
}
}

loadRegistros() {
this.registros = this.prestacion.ejecucion.registros
.filter(reg => reg.nombre !== 'receta')
.map(reg => {
return {
id: reg.id,
nombre: reg.nombre,
elementoRUP: reg.elementoRUP
};
});
.filter(reg => reg.id !== this.registro.id)
.map(reg => reg.concepto);
}

};
editarComprimidos() {
if (!this.comprimidosEditados) {
this.plex.confirm('La cantidad recetada no se encuentra en ninguna presentación comercial ¿Desea continuar?', 'Atención').then(confirmacion => {
Expand All @@ -102,7 +92,6 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
} else {
this.comprimidosEditados = false;
}

}

loadPresentaciones() {
Expand Down Expand Up @@ -132,7 +121,6 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
}
}


agregarMedicamento(form) {
if (form.formValid) {
if (this.medicamento.cantidad?.valor) {
Expand All @@ -145,8 +133,8 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
presentacion: null,
cantidad: null,
cantEnvases: null,
diagnostico: '',
tipoReceta: 'Simple',
diagnostico: null,
tipoReceta: { id: 'simple', label: 'Simple' },
tratamientoProlongado: false,
tiempoTratamiento: null,
dosisDiaria: {
Expand All @@ -161,6 +149,7 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {

}
}

borrarMedicamento(medicamento) {
this.plex.confirm('¿Está seguro que desea eliminar el medicamento de la receta?').then((resultado) => {
if (resultado) {
Expand All @@ -169,9 +158,11 @@ export class RecetaMedicaComponent extends RUPComponent implements OnInit {
}
});
}

colapsar() {
this.collapse = !this.collapse;
}

truncateDiagnostico(nombre: string): string {
if (nombre.length > 20) {
return nombre.substring(0, 20) + '...';
Expand Down
23 changes: 11 additions & 12 deletions src/app/modules/rup/components/elementos/recetaMedica.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<ng-container *ngIf="!soloValores">
<form class="mt-1" #formMedicamento="ngForm">
<plex-select [(ngModel)]="medicamento.diagnostico" hintType="info" label="Diagnóstico" [data]="registros"
name="diagnostico" multiline="true" (click)="loadRegistros()" [required]="true"
hint="Se listaran los conceptos registrados en esta consulta" hintType="info" hintIcon="eye">
name="diagnostico" multiline="true" (click)="loadRegistros()" [required]="true" labelField="term"
idField="conceptId" hint="Se listaran los conceptos registrados en esta consulta" hintType="info"
hintIcon="eye">

</plex-select>

<plex-grid cols="2">

<plex-select [(ngModel)]="medicamento.generico" name="generico" (getData)="loadMedicamentoGenerico($event)"
placeholder="Medicamento genérico" label="Medicamento" idField="conceptId" labelField="term"
(change)="loadPresentaciones()" required="true">
Expand Down Expand Up @@ -44,7 +44,6 @@

<div class="mt-2">
<plex-title name="tipoReceta" titulo="Tipo de receta" size="sm"></plex-title>

<plex-radio class="m-2" [(ngModel)]="medicamento.tipoReceta" [data]="opcionesTipoReceta" name="tipoReceta">
</plex-radio>
</div>
Expand All @@ -61,8 +60,8 @@
<div class="d-flex">
<plex-text name="dosis" label="Dosis" [(ngModel)]="medicamento.dosisDiaria.dosis" required="false">
</plex-text>
<plex-select name="Frecuencia" label="Frecuencia" [(ngModel)]="medicamento.dosisDiaria.frecuencia"
required="false" [data]="horas">
<plex-select name="Frecuencia" label="Intervalo" [(ngModel)]="medicamento.dosisDiaria.intervalo"
required="false" [data]="intervalos$ | async">
</plex-select>
<plex-int name="Duracion" label="Duración (días)" [(ngModel)]="medicamento.dosisDiaria.dias"
required="false" min="1" max="90">
Expand All @@ -84,14 +83,14 @@
<plex-item *ngFor="let item of registro.valor.medicamentos">
<plex-icon size="md" *ngIf="true" name="pildoras" class="icon icon--border--producto mr-2">
</plex-icon>
<plex-label [tituloBold]="true" titulo="{{ item.generico.term }}" subtitulo=" {{ item.cantEnvases}} envase(s) de {{ item.cantidad}} {{item.presentacion.term }}(s) {{ item.dosisDiaria.dosis? '| ' + item.dosisDiaria.dosis : '| ' }} {{ item.dosisDiaria.frecuencia? ' cada ' + item.dosisDiaria.frecuencia.nombre: '' }} {{ item.dosisDiaria.dias? ' durante ' + item.dosisDiaria.dias + ' día(s)':'' }}
<plex-label [tituloBold]="true" titulo="{{ item.generico.term }}" subtitulo=" {{ item.cantEnvases}} envase(s) de {{ item.cantidad}} {{item.presentacion.term }}(s) {{ item.dosisDiaria.dosis? '| ' + item.dosisDiaria.dosis : '| ' }} {{ item.dosisDiaria.intervalo? ' cada ' + item.dosisDiaria.intervalo.nombre: '' }} {{ item.dosisDiaria.dias? ' durante ' + item.dosisDiaria.dias + ' día(s)':'' }}
"></plex-label>
<plex-badge *ngIf="item.diagnostico" size="sm" type="warning" hintType="warning">
{{ truncateDiagnostico(item.diagnostico.nombre) }}
{{ truncateDiagnostico(item.diagnostico.term) }}
</plex-badge>
<plex-badge *ngIf="item.tratamientoProlongado" type="info">Tratamiento prolongado
</plex-badge>
<plex-badge *ngIf="item.tipoReceta" type="info">{{item.tipoReceta}}
<plex-badge *ngIf="item.tipoReceta?.nombre" type="info">{{item.tipoReceta?.nombre}}
</plex-badge>
<plex-button type="danger" size="sm" (click)="borrarMedicamento(item)" icon="delete"></plex-button>
</plex-item>
Expand All @@ -100,14 +99,14 @@
<div *ngIf="soloValores">
<plex-list size="md" *ngIf="registro.valor.medicamentos">
<plex-item *ngFor="let item of registro.valor.medicamentos">
<plex-label [tituloBold]="true" titulo="{{ item.generico.term }}" subtitulo=" {{ item.cantEnvases}} envase(s) de {{ item.cantidad}} {{item.presentacion.term }}(s) {{ item.dosisDiaria.dosis? '| ' + item.dosisDiaria.dosis : '| ' }} {{ item.dosisDiaria.frecuencia? ' cada ' + item.dosisDiaria.frecuencia.nombre: '' }} {{ item.dosisDiaria.dias ? ' durante ' + item.dosisDiaria.dias + ' día(s)':'' }}
<plex-label [tituloBold]="true" titulo="{{ item.generico.term }}" subtitulo=" {{ item.cantEnvases}} envase(s) de {{ item.cantidad}} {{item.presentacion.term }}(s) {{ item.dosisDiaria.dosis? '| ' + item.dosisDiaria.dosis : '| ' }} {{ item.dosisDiaria.intervalo? ' cada ' + item.dosisDiaria.intervalo.nombre: '' }} {{ item.dosisDiaria.dias ? ' durante ' + item.dosisDiaria.dias + ' día(s)':'' }}
"></plex-label>
<plex-badge *ngIf="item.diagnostico" size="sm" type="warning" hintType="warning">
{{ truncateDiagnostico(item.diagnostico.nombre) }}
{{ truncateDiagnostico(item.diagnostico.term) }}
</plex-badge>
<plex-badge *ngIf="item.tratamientoProlongado" type="info">Tratamiento prolongado
</plex-badge>
<plex-badge *ngIf="item.tipoReceta" type="info">{{item.tipoReceta}}
<plex-badge *ngIf="item.tipoReceta?.nombre" type="info">{{item.tipoReceta?.nombre}}
</plex-badge>
</plex-item>
</plex-list>
Expand Down

0 comments on commit eb0fa7e

Please sign in to comment.