Skip to content

Commit 3acd058

Browse files
aldoEMatamalaaldoEMatamala
authored andcommitted
feat(RUP-437): registro en rup para colposcopia
1 parent 3a423f6 commit 3acd058

File tree

3 files changed

+126
-1
lines changed

3 files changed

+126
-1
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<ng-container *ngIf="!soloValores">
2+
<form #formColposcopia="ngForm">
3+
<plex-select label='Colposcopia' [(ngModel)]="colposcopiaRegistro.colposcopia" name="colposcopia1"
4+
[data]="colposcopia" (change)="onChange()">
5+
</plex-select>
6+
<plex-text [(ngModel)]="colposcopiaRegistro.detalle" label="Detalle colposcopia" name="detalle" multiline="true"
7+
grow="full" (change)="onChange()">
8+
</plex-text>
9+
<plex-select label='Visibilidad de la unión escamocolumnar' [(ngModel)]="colposcopiaRegistro.visibilidadUEC"
10+
name="visibilidadUEC" [data]="visibilidadUEC" (change)="onChange()">
11+
</plex-select>
12+
<plex-radio [(ngModel)]="colposcopiaRegistro.zona" label="Zona de transformación" [data]="zonaTransformacion"
13+
name="zona" (change)="onChange()">
14+
</plex-radio>
15+
<plex-select label='Hallazgos colposcopicos' [(ngModel)]="colposcopiaRegistro.hallazgos" name="hallazgos"
16+
[data]="hallazgos" (change)="onChange()">
17+
</plex-select>
18+
<hr>
19+
<plex-wrapper>
20+
<plex-bool type="checkbox" label="¿Se toma biopsia?" [(ngModel)]="colposcopiaRegistro.biopsia"
21+
name="biopsia" (change)="onChange()">
22+
</plex-bool>
23+
<plex-text *ngIf="colposcopiaRegistro.biopsia" [(ngModel)]="colposcopiaRegistro.descripcionBiopsia"
24+
label="Descripción Biopsia" name="biopsiaDescripcion" multiline="true" grow="full" (change)="onChange()">
25+
</plex-text>
26+
</plex-wrapper>
27+
<plex-bool type="checkbox" label="¿Se evalua conducto endocervical?"
28+
[(ngModel)]="colposcopiaRegistro.evaluacionEndocervical" name="evaluacionEndocervical" (change)="onChange()">
29+
</plex-bool>
30+
<plex-radio label="Test de Schiller" [(ngModel)]="colposcopiaRegistro.testSchiller" name="testSchiller"
31+
[data]="testSchiller" (change)="onChange()">
32+
</plex-radio>
33+
</form>
34+
</ng-container>
35+
<div *ngIf="soloValores">
36+
<plex-label [tituloBold]="true" titulo="Colposcopia {{registro.valor.colposcopia?.colposcopia?.nombre }}"
37+
subtitulo="{{ registro.valor.colposcopia?.detalle}}"></plex-label>
38+
<plex-badge *ngIf="registro.valor.colposcopia?.zona" type="info" hintIcon="informacion">Zona Transformación
39+
{{registro.valor.colposcopia.zona}}</plex-badge>
40+
<plex-badge *ngIf="registro.valor.colposcopia.hallazgos"
41+
type="info">{{registro.valor.colposcopia?.hallazgos?.nombre}}
42+
</plex-badge>
43+
<plex-badge *ngIf="registro.valor.colposcopia.visibilidadUEC" type="info"> UEC
44+
{{registro.valor.colposcopia.visibilidadUEC.nombre}}
45+
</plex-badge>
46+
<plex-badge *ngIf="registro.valor.colposcopia.biopsia" type="info"> Se toma biopsia
47+
</plex-badge>
48+
<plex-badge *ngIf="!registro.valor.colposcopia.biopsia" type="info"> No toma biopsia
49+
</plex-badge>
50+
<plex-badge *ngIf="registro.valor.colposcopia.testSchiller" type="info">Test Schiller positivo
51+
</plex-badge>
52+
<plex-badge *ngIf="!registro.valor.colposcopia.testSchiller" type="info"> Test Schiller negativo
53+
</plex-badge>
54+
<plex-badge *ngIf="registro.valor.colposcopia.evaluacionEndocervical" type="info">Conducto endocervical evaluado
55+
</plex-badge>
56+
</div>
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { Component, OnInit } from '@angular/core';
2+
import { RupElement } from '.';
3+
import { RUPComponent } from '../core/rup.component';
4+
import { Unsubscribe } from '@andes/shared';
5+
6+
@Component({
7+
selector: 'app-colposcopia', templateUrl: './colposcopia.component.html'
8+
}
9+
)
10+
@RupElement('ColposcopiaComponent')
11+
12+
export class ColposcopiaComponent extends RUPComponent implements OnInit {
13+
public colposcopiaRegistro: any =
14+
{
15+
colposcopia: null,
16+
detalle: null,
17+
visibilidadUEC: null,
18+
zona: null,
19+
hallazgos: null,
20+
biopsia: null,
21+
descripcionBiopsia: null,
22+
evaluacionEndocervical: null,
23+
testSchiller: null
24+
};
25+
26+
@Unsubscribe()
27+
ngOnInit() {
28+
if (!this.registro.valor) {
29+
this.registro.valor = {};
30+
}
31+
if (!this.registro.valor.colposcopia) {
32+
this.registro.valor.colposcopia = { ...this.colposcopiaRegistro };
33+
} else {
34+
this.colposcopiaRegistro = { ...this.colposcopiaRegistro, ...this.registro.valor.colposcopia };
35+
}
36+
}
37+
38+
onChange() {
39+
// Sincronizamos el valor con el registro
40+
if (!this.registro.valor) {
41+
this.registro.valor = {};
42+
}
43+
this.registro.valor.colposcopia = { ...this.colposcopiaRegistro };
44+
this.emitChange();
45+
}
46+
47+
public colposcopia = [
48+
{ id: 'adecuada', nombre: 'adecuada' },
49+
{ id: 'inadecuada', nombre: 'inadecuada' }
50+
];
51+
public visibilidadUEC = [
52+
{ id: 'completamenteV', nombre: 'completamente visible' },
53+
{ id: 'parcialmeteV', nombre: 'parcialmente visible' },
54+
{ id: 'noVisible', nombre: 'no visible' }
55+
56+
];
57+
public zonaTransformacion = [{ id: '1', label: '1' }, { id: '2', label: '2' }, { id: '3', label: '3' }];
58+
public hallazgos = [
59+
{ id: 'normal', nombre: 'normal' },
60+
{ id: 'grado 1', nombre: 'grado 1' },
61+
{ id: 'grado 2', nombre: 'grado 2' },
62+
{ id: 'sospechaInvasion', nombre: 'sospecha invasión' },
63+
{ id: 'hallazgosVarios', nombre: 'hallazgos varios' }];
64+
public testSchiller = [{ id: 'positivo', label: 'positivo' }, { id: 'negativo', label: 'negativo' }];
65+
66+
67+
}

src/app/modules/rup/elementos-rup.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ import { SemanticClassPipe } from './pipes/semantic-class.pipes';
7575
import { SemanticIconPipe } from './pipes/semantic-icon.pipes';
7676
import { RUPSoloValorPipe } from './pipes/elemento-rup-valor.pipes';
7777
import { DirectiveLibModule } from '../../directives/directives.module';
78+
import { ColposcopiaComponent } from './components/elementos/colposcopia.component';
7879

7980
const RUPComponentsArray = [
8081
RUPComponent,
@@ -159,7 +160,8 @@ const RUPComponentsArray = [
159160
SemanticClassPipe,
160161
ElementoRUPByIdPipes,
161162
RUPSoloValorPipe,
162-
RUPMedicamentosBusquedaDetalleComponent
163+
RUPMedicamentosBusquedaDetalleComponent,
164+
ColposcopiaComponent
163165
],
164166
entryComponents: [
165167
...RUPComponentsArray

0 commit comments

Comments
 (0)