From 54a8e4908901a62956a3fba11266756bf475bbee Mon Sep 17 00:00:00 2001 From: nicolasarana <90768149+nicolasarana@users.noreply.github.com> Date: Wed, 4 Mar 2026 15:22:58 -0300 Subject: [PATCH] =?UTF-8?q?feat(COM-116):"Nueva=20solicitud=20-=20estrateg?= =?UTF-8?q?ia=20de=20atenci=C3=B3n"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- initialize.ts | 1 + .../configDerivaciones.routes.ts | 19 ++++++++++++++++ modules/centroOperativoMedico/index.ts | 1 + .../schemas/derivaciones.schema.ts | 6 +++++ .../schemas/estrategiasAtencion.schema.ts | 22 +++++++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 modules/centroOperativoMedico/configDerivaciones.routes.ts create mode 100644 modules/centroOperativoMedico/schemas/estrategiasAtencion.schema.ts diff --git a/initialize.ts b/initialize.ts index 2e2a5bd3cb..4fd5e32dae 100644 --- a/initialize.ts +++ b/initialize.ts @@ -112,6 +112,7 @@ export function initAPI(app: Express) { app.use('/api/modules/com', require('./modules/centroOperativoMedico').DerivacionesRouter); app.use('/api/modules/com', require('./modules/centroOperativoMedico').TipoTrasladoRouter); app.use('/api/modules/com', require('./modules/centroOperativoMedico').ReglasDerivacionRouter); + app.use('/api/modules/com', require('./modules/centroOperativoMedico').EstrategiaAtencionRouter); app.use('/api/modules/perinatal', require('./modules/perinatal').CarnetPerinatalRouter); app.use('/api/modules/huds/motivosHuds', require('./modules/huds/motivosHuds').MotivosHudsRouter); app.use('/api/core-v2/mpi', MPI.RoutingMPI); diff --git a/modules/centroOperativoMedico/configDerivaciones.routes.ts b/modules/centroOperativoMedico/configDerivaciones.routes.ts new file mode 100644 index 0000000000..58056b5043 --- /dev/null +++ b/modules/centroOperativoMedico/configDerivaciones.routes.ts @@ -0,0 +1,19 @@ +import { MongoQuery, ResourceBase } from '@andes/core'; +import { Auth } from '../../auth/auth.class'; +import { EstrategiaAtencion } from './schemas/estrategiasAtencion.schema'; + +class EstrategiaAtencionController extends ResourceBase { + Model = EstrategiaAtencion; + resourceName = 'estrategiaAtencion'; + middlewares = [Auth.authenticate()]; + routesEnable = ['get', 'search']; + searchFileds = { + key: MongoQuery.equalMatch, + nombre: MongoQuery.partialString, + source: MongoQuery.equalMatch, + type: MongoQuery.equalMatch + }; +} + +export const EstrategiaAtencionCtr = new EstrategiaAtencionController({}); +export const EstrategiaAtencionRouter = EstrategiaAtencionCtr.makeRoutes(); diff --git a/modules/centroOperativoMedico/index.ts b/modules/centroOperativoMedico/index.ts index 01e5bc8374..1dc809b721 100644 --- a/modules/centroOperativoMedico/index.ts +++ b/modules/centroOperativoMedico/index.ts @@ -1,3 +1,4 @@ export { ReglasDerivacionRouter } from './reglasDerivacion.routes'; export { DerivacionesRouter } from './derivaciones.routes'; export { TipoTrasladoRouter } from './tipoTraslado.routes'; +export { EstrategiaAtencionRouter } from './configDerivaciones.routes'; diff --git a/modules/centroOperativoMedico/schemas/derivaciones.schema.ts b/modules/centroOperativoMedico/schemas/derivaciones.schema.ts index 0e855c31fa..61a0e0b57e 100644 --- a/modules/centroOperativoMedico/schemas/derivaciones.schema.ts +++ b/modules/centroOperativoMedico/schemas/derivaciones.schema.ts @@ -69,6 +69,12 @@ export const DerivacionSchema = new mongoose.Schema({ }, tipoTraslado: TipoTrasladoSchema, dispositivo: DispositivoSchema, + estrategiaAtencion: { + type: { + nombre: String, + id: { type: mongoose.Schema.Types.ObjectId, ref: 'estrategiaAtencion' } + }, + }, profesionalSolicitante: { nombre: String, apellido: String, diff --git a/modules/centroOperativoMedico/schemas/estrategiasAtencion.schema.ts b/modules/centroOperativoMedico/schemas/estrategiasAtencion.schema.ts new file mode 100644 index 0000000000..d16db7e701 --- /dev/null +++ b/modules/centroOperativoMedico/schemas/estrategiasAtencion.schema.ts @@ -0,0 +1,22 @@ +import * as mongoose from 'mongoose'; +import { AuditPlugin } from '@andes/mongoose-plugin-audit'; + +export const estrategiaAtencionSchema = new mongoose.Schema({ + nombre: { + type: String, + required: true, + trim: true + }, + activa: { + type: Boolean, + default: true + } +}); + +estrategiaAtencionSchema.plugin(AuditPlugin); + +export const EstrategiaAtencion = mongoose.model( + 'estrategiaAtencion', + estrategiaAtencionSchema, + 'estrategiaAtencion' +);