Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 76 additions & 70 deletions modules/descargas/informe-rup/elementos-rup/odontograma.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,87 +4,93 @@ export class OdontogramaRefsetComponent extends HTMLComponent {
template = `
<div class="nivel-1">
<p>
{{ registro.concepto.term }}
<strong>{{ registro.concepto.term }}</strong>
{{#if registro.esDiagnosticoPrincipal}}<small>(PROCEDIMIENTO / DIAGNÓSTICO PRINCIPAL)</small>{{/if}}


{{#each valor.infDer}}
<p>&emsp;Cuadrante Inferior Derecho:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infDerT}}
<p>&emsp;Cuadrante Inferior Derecho Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infIzq}}
<p>&emsp;Cuadrante Inferior Izquierdo:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infIzqT}}
<p>&emsp;Cuadrante Inferior Izquierdo Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supDer}}
<p>&emsp;Cuadrante Superior Derecho:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supDerT}}
<p>&emsp;Cuadrante Superior Derecho Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supIzq}}
<p>&emsp;Cuadrante Superior Izquierdo:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supIzqT}}
<p>&emsp;Cuadrante Superior Izquierdo Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}




</p>

{{#if snapshot}}
<div style="text-align: center; margin: 20px 0; border: 1px solid #eee; padding: 10px; border-radius: 8px;">
<img src="{{ snapshot }}" style="max-width: 100%; height: auto;">
</div>
{{/if}}

<div class="detalle-odontograma" style="margin-top: 10px;">
{{#each valor.infDer}}
<p>&emsp;Cuadrante Inferior Derecho:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infDerT}}
<p>&emsp;Cuadrante Inferior Derecho Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infIzq}}
<p>&emsp;Cuadrante Inferior Izquierdo:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.infIzqT}}
<p>&emsp;Cuadrante Inferior Izquierdo Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supDer}}
<p>&emsp;Cuadrante Superior Derecho:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supDerT}}
<p>&emsp;Cuadrante Superior Derecho Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supIzq}}
<p>&emsp;Cuadrante Superior Izquierdo:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}

{{#each valor.supIzqT}}
<p>&emsp;Cuadrante Superior Izquierdo Temporal:
<small class="subregistro">
pieza N°{{ concepto.term }} | cara: {{ cara }} | cuadrante: {{ cuadrante }}
</small>
{{/each}}
</div>
</div>
`;
constructor(private prestacion, private registro, private params, private depth) {
super();
}

async process() {
const infDer = this.registro.valor.odontograma.cuadranteInferiorDerecho.filter(diente => diente.cara);
const infIzq = this.registro.valor.odontograma.cuadranteInferiorIzquierdo.filter(diente => diente.cara);
const supDer = this.registro.valor.odontograma.cuadranteSuperiorDerecho.filter(diente => diente.cara);
const supIzq = this.registro.valor.odontograma.cuadranteSuperiorIzquierdo.filter(diente => diente.cara);
const infDer = this.registro.valor.odontograma?.cuadranteInferiorDerecho.filter(diente => diente.cara) || [];
const infIzq = this.registro.valor.odontograma?.cuadranteInferiorIzquierdo.filter(diente => diente.cara) || [];
const supDer = this.registro.valor.odontograma?.cuadranteSuperiorDerecho.filter(diente => diente.cara) || [];
const supIzq = this.registro.valor.odontograma?.cuadranteSuperiorIzquierdo.filter(diente => diente.cara) || [];

const infDerT = this.registro.valor.odontograma.cuadranteInferiorDerechoTemporal.filter(diente => diente.cara);
const infIzqT = this.registro.valor.odontograma.cuadranteInferiorIzquierdoTemporal.filter(diente => diente.cara);
const supDerT = this.registro.valor.odontograma.cuadranteSuperiorDerechoTemporal.filter(diente => diente.cara);
const supIzqT = this.registro.valor.odontograma.cuadranteSuperiorIzquierdoTemporal.filter(diente => diente.cara);
const infDerT = this.registro.valor.odontograma?.cuadranteInferiorDerechoTemporal.filter(diente => diente.cara) || [];
const infIzqT = this.registro.valor.odontograma?.cuadranteInferiorIzquierdoTemporal.filter(diente => diente.cara) || [];
const supDerT = this.registro.valor.odontograma?.cuadranteSuperiorDerechoTemporal.filter(diente => diente.cara) || [];
const supIzqT = this.registro.valor.odontograma?.cuadranteSuperiorIzquierdoTemporal.filter(diente => diente.cara) || [];

this.data = {
registro: this.registro,
snapshot: this.registro.valor.snapshot,
valor: {
infDer,
infDerT,
Expand Down
12 changes: 11 additions & 1 deletion modules/descargas/informe-rup/informe-rup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { findById } from '../../../core-v2/mpi/paciente/paciente.controller';

export class InformeRUP extends InformePDF {

constructor(private prestacionId: string | Types.ObjectId, private registroId: string | Types.ObjectId = null, private usuario: any) {
constructor(private prestacionId: string | Types.ObjectId, private registroId: string | Types.ObjectId = null, private usuario: any, private snapshots: any = null) {
super();
}

Expand All @@ -21,6 +21,16 @@ export class InformeRUP extends InformePDF {

public async process() {
const prestacion: any = await Prestacion.findById(this.prestacionId);

if (this.snapshots) {
prestacion.ejecucion.registros.forEach(r => {
if (this.snapshots[r.id]) {
r.valor = r.valor || {};
r.valor.snapshot = this.snapshots[r.id];
}
});
}

const paciente = await findById(prestacion.paciente.id);
const organizacion = await Organizacion.findById(prestacion.ejecucion.organizacion.id);
const elementosRUPSet = await elementosRUPAsSet();
Expand Down
3 changes: 2 additions & 1 deletion modules/descargas/routes/descargas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,9 @@ router.post('/:tipo?', Auth.authenticate(), async (req: any, res, next) => {
try {
const idPrestacion = req.body.idPrestacion;
const idRegistro = req.body.idRegistro;
const snapshots = req.body.snapshots;

const informe = new InformeRUP(idPrestacion, idRegistro, req.user);
const informe = new InformeRUP(idPrestacion, idRegistro, req.user, snapshots);
const fileName = await informe.informe();

return res.download(fileName);
Expand Down
Loading