Skip to content

Commit

Permalink
fix(in): check paciente internado
Browse files Browse the repository at this point in the history
  • Loading branch information
negro89 committed Jun 8, 2022
1 parent 4def5ab commit bbb59bf
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 10 deletions.
6 changes: 6 additions & 0 deletions src/app/apps/rup/mapa-camas/services/mapa-camas.http.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ export class MapaCamasHTTP {
});
}

historialPaciente(ambito: string, capa: string, idPaciente: string): Observable<any[]> {
return this.server.get(`${this.url}/camas/historialCompleto/${idPaciente}`, {
params: { ambito, capa }
});
}

// [TODO] ver interfaz e ID
save(ambito: string, capa: string, fecha: Date, data): Observable<ICama> {
if (data._id) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import { IngresoPacienteService } from './ingreso-paciente-workflow/ingreso-paci
import { PacienteService } from 'src/app/core/mpi/services/paciente.service';
import { InternacionResumenHTTP } from '../../services/resumen-internacion.http';
import { Auth } from '@andes/auth';
import { MapaCamasService } from '../../services/mapa-camas.service';
import { map } from 'rxjs/operators';
import { MapaCamasHTTP } from '../../services/mapa-camas.http';

@Component({
selector: 'app-elegir-paciente',
Expand All @@ -20,21 +23,39 @@ export class ElegirPacienteComponent {
private ingresoPacienteService: IngresoPacienteService,
private pacienteService: PacienteService,
private InternacionResumenHTTP: InternacionResumenHTTP,
private auth: Auth
private auth: Auth,
private mapaCamasService: MapaCamasService,
private camasHTTP: MapaCamasHTTP
) { }

onPacienteSelected(paciente: IPaciente) {
// Si se seleccionó por error un paciente fallecido
this.pacienteService.checkFallecido(paciente);
// verificamos internaciones en curso
this.InternacionResumenHTTP.search({
organizacion: this.auth.organizacion.id,
paciente: paciente.id
}).subscribe(internaciones => {
const enCurso = internaciones.filter(i => !i.fechaEgreso);
if (enCurso.length) {
this.plex.info('warning', `${paciente.apellido}, ${paciente.alias || paciente.nombre}, DNI: ${paciente.documento || paciente.numeroIdentificacion} tiene una internacion
en curso con fecha de ingreso el <b>${moment(internaciones[0].fechaIngreso).format('DD/MM/YYYY hh:mm')}</b>.`, 'Paciente ya internado');
// verificamos internaciones en curso segun capa
let request;
if (this.mapaCamasService.capa === 'estadistica') {
request = this.camasHTTP.historialPaciente('internacion', 'estadistica', paciente.id).pipe(
map(internaciones => {
const ids = internaciones?.filter(i => i.extras.ingreso === true)?.map(i => i.idInternacion);
const internacionEnCurso = internaciones?.find(i => !ids.includes(i.extras?.idInternacion));
return internacionEnCurso ? { fechaIngreso: internacionEnCurso?.fecha } : null;
})
);
} else {
request = this.InternacionResumenHTTP.search({
organizacion: this.auth.organizacion.id,
paciente: paciente.id
}).pipe(
map(internaciones => {
const internacionEnCurso = internaciones?.find(i => !i.fechaEgreso);
return internacionEnCurso ? { fechaIngreso: internacionEnCurso?.fechaIngreso } : null;
})
);
}
request.subscribe(internacionEnCurso => {
if (internacionEnCurso) {
this.plex.info('warning', `${paciente.apellido}, ${paciente.alias || paciente.nombre}, DNI: ${paciente.documento || paciente.numeroIdentificacion} tiene una internación
en curso con fecha de ingreso el <b>${moment(internacionEnCurso.fechaIngreso).format('DD/MM/YYYY HH:mm')}</b>.`, 'Paciente ya internado');
} else {
this.ingresoPacienteService.selectPaciente(paciente.id);
}
Expand Down

0 comments on commit bbb59bf

Please sign in to comment.