diff --git a/modules/centroOperativoMedico/derivaciones.routes.ts b/modules/centroOperativoMedico/derivaciones.routes.ts index 08945e4519..002848a856 100644 --- a/modules/centroOperativoMedico/derivaciones.routes.ts +++ b/modules/centroOperativoMedico/derivaciones.routes.ts @@ -104,6 +104,20 @@ DerivacionesRouter.post('/derivaciones/:id/historial', Auth.authenticate(), asyn if (derivacion) { const nuevoEstado = req.body.estado; + const rawOS: any = (nuevoEstado as any).obraSocial || (nuevoEstado as any).ObraSocial || (nuevoEstado as any).financiador; + if (rawOS) { + const obraSocialUpdate = typeof rawOS === 'string' ? { nombre: rawOS, financiador: rawOS } : rawOS; + (nuevoEstado as any).obraSocial = obraSocialUpdate; + (nuevoEstado as any).ObraSocial = obraSocialUpdate; + (nuevoEstado as any).financiador = obraSocialUpdate; + derivacion.paciente.ObraSocial = obraSocialUpdate; + (derivacion.paciente as any).obraSocial = obraSocialUpdate; + (derivacion.paciente as any).financiador = obraSocialUpdate; + derivacion.markModified('paciente'); + derivacion.markModified('paciente.ObraSocial'); + } + + if (nuevoEstado.estado === 'habilitada') { const orgCOM = (await Organizacion.find({ esCOM: true }))[0]; const { id, nombre, direccion } = orgCOM; diff --git a/modules/centroOperativoMedico/schemas/derivaciones.schema.ts b/modules/centroOperativoMedico/schemas/derivaciones.schema.ts index 61a0e0b57e..45aa4e946b 100644 --- a/modules/centroOperativoMedico/schemas/derivaciones.schema.ts +++ b/modules/centroOperativoMedico/schemas/derivaciones.schema.ts @@ -25,9 +25,13 @@ const DerivacionHistorialSchema = new mongoose.Schema({ dispositivo: DispositivoSchema, observacion: String, adjuntos: mongoose.Schema.Types.Mixed, - eliminado: Boolean + eliminado: Boolean, + ObraSocial: { type: obraSocialSchema }, + obraSocial: { type: obraSocialSchema }, + financiador: { type: mongoose.Schema.Types.Mixed } }); + DerivacionHistorialSchema.plugin(AuditPlugin); export const DerivacionSchema = new mongoose.Schema({