diff --git a/modules/descargas/informe-rup/elementos-rup/receta-medica.component.ts b/modules/descargas/informe-rup/elementos-rup/receta-medica.component.ts index 2ff6e6335..c39c227c3 100644 --- a/modules/descargas/informe-rup/elementos-rup/receta-medica.component.ts +++ b/modules/descargas/informe-rup/elementos-rup/receta-medica.component.ts @@ -39,7 +39,12 @@ export class RecetaMedicaComponent extends HTMLComponent {
{{#each registro.valor.medicamentos}} - {{generico.term}} + + {{generico.term}} + {{#if esMagistral}} +
(Preparación Magistral) + {{/if}} + {{ unidades }} {{presentacion.term }}(s) diff --git a/modules/insumos/insumos-schema.ts b/modules/insumos/insumos-schema.ts index 8b8dc9f36..6648fc4d7 100644 --- a/modules/insumos/insumos-schema.ts +++ b/modules/insumos/insumos-schema.ts @@ -1,17 +1,21 @@ import * as mongoose from 'mongoose'; -import { AuditPlugin } from '@andes/mongoose-plugin-audit'; - export const insumoSchema = new mongoose.Schema({ - insumo: String, + nombre: String, + codigo: [{ + fuente: { type: String, enum: ['SIFAHO', 'SNOMED'] }, + valor: String + }], tipo: { type: String, enum: ['dispositivo', 'nutricion', 'magistral'] }, - requiereEspecificacion: Boolean + estado: { + type: String, + enum: ['activo', 'inactivo'] + }, + requiereEspecificacion: Boolean, + observaciones: String }); - -insumoSchema.plugin(AuditPlugin); - -export const Insumo = mongoose.model('insumo', insumoSchema, 'insumo'); +export const Insumo = mongoose.model('insumos', insumoSchema, 'insumos'); diff --git a/modules/insumos/insumos.routes.ts b/modules/insumos/insumos.routes.ts index f4758a038..ab889ad25 100644 --- a/modules/insumos/insumos.routes.ts +++ b/modules/insumos/insumos.routes.ts @@ -7,8 +7,18 @@ class InsumosResource extends ResourceBase { resourceName = 'insumos'; middlewares = [Auth.authenticate()]; searchFileds = { - insumo: MongoQuery.partialString, - tipo: MongoQuery.inArray, + nombre: MongoQuery.partialString, + termino: (value) => { + return { + $or: [ + { nombre: { $regex: value, $options: 'i' } }, + { 'codigo.valor': { $regex: value, $options: 'i' } } + ] + }; + }, + 'codigo.valor': MongoQuery.partialString, + tipo: MongoQuery.equalMatch, + estado: MongoQuery.equalMatch, requiereEspecificacion: MongoQuery.equalMatch, }; } diff --git a/modules/recetas/receta-schema.ts b/modules/recetas/receta-schema.ts index fcb699d53..5b99208f5 100644 --- a/modules/recetas/receta-schema.ts +++ b/modules/recetas/receta-schema.ts @@ -110,6 +110,8 @@ const medicamentoSubschema = new mongoose.Schema({ notaMedica: String }, tratamientoProlongado: Boolean, + esMagistral: { type: Boolean, default: false }, + tiempoTratamiento: mongoose.SchemaTypes.Mixed, ordenTratamiento: Number, tipoReceta: { diff --git a/modules/recetas/recetasController.ts b/modules/recetas/recetasController.ts index f6f61df78..557bedf8f 100644 --- a/modules/recetas/recetasController.ts +++ b/modules/recetas/recetasController.ts @@ -622,6 +622,7 @@ export async function crearReceta(dataReceta, req) { notaMedica: medicamento.dosisDiaria.notaMedica }, tratamientoProlongado, + esMagistral: medicamento.esMagistral, tiempoTratamiento: tratamientoProlongado ? medicamento.tiempoTratamiento : null, ordenTratamiento: i, tipoReceta: medicamento.tipoReceta?.id || medicamento.tipoReceta || 'simple',