Skip to content

Commit f8274d1

Browse files
committed
REC-136: Efectores y cuil paciente
1 parent f646601 commit f8274d1

5 files changed

Lines changed: 20 additions & 4 deletions

File tree

core-v2/mpi/paciente/paciente.schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ export const PacienteSubSchema: mongoose.Schema = new mongoose.Schema({
147147
nombre: String,
148148
apellido: String,
149149
documento: String,
150+
cuil: String,
150151
fechaNacimiento: Date,
151152
sexo: SEXO,
152153
genero: String,
@@ -165,8 +166,7 @@ export const PacienteSubSchema: mongoose.Schema = new mongoose.Schema({
165166
localidad: NombreSchemaV2,
166167
zona: NombreSchemaV2,
167168
areaPrograma: NombreSchemaV2,
168-
addAt: Date
169-
169+
addAt: Date,
170170

171171
}, { _id: false });
172172

core-v2/mpi/validacion/validacion.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function identidadSinAcentos(ciudadano) {
2323
* Busca en fuentes auntenticas los datos de un ciudadano.
2424
*/
2525

26-
function generarCUIL(dni, sexo) {
26+
export function generarCUIL(dni, sexo) {
2727
const sexoNorm = (sexo || '')
2828
.toString()
2929
.trim()

modules/recetas/receta-schema.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ const profesionalSubschema = new mongoose.Schema({
9595
profesion: String,
9696
matricula: Number,
9797
especialidad: String,
98+
efector: {
99+
id: String,
100+
nombre: String,
101+
direccion: String
102+
}
98103
});
99104

100105
const medicamentoSubschema = new mongoose.Schema({

modules/recetas/recetasController.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,8 @@ export async function create(req) {
550550
documento: profAndes.documento,
551551
profesion: profesionGrado,
552552
especialidad: especialidades,
553-
matricula: matriculaGrado
553+
matricula: matriculaGrado,
554+
efector: profRecetar.efector || null
554555
};
555556
}
556557
return await crearReceta(dataReceta, req);

modules/rup/controllers/rup.events.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ import * as moment from 'moment';
44
import { Receta } from '../../recetas/receta-schema';
55
import { rupEventsLog as logger } from './rup.events.log';
66
import { Profesional } from '../../../core/tm/schemas/profesional';
7+
import { generarCUIL } from '../../../core-v2/mpi/validacion/validacion.controller';
78

89
EventCore.on('prestacion:receta:create', async ({ prestacion, registro }) => {
910
try {
1011
const idRegistro = registro._id;
1112
const documentoProfesional = prestacion.estadoActual.createdBy?.documento ? prestacion.estadoActual.createdBy?.documento : prestacion.solicitud.profesional.documento;
1213
const profPrestacion = await Profesional.findOne({ documento: documentoProfesional });
14+
if (!profPrestacion) {
15+
logger.error('prestacion:receta:create', prestacion, `No se encontró el profesional con documento ${documentoProfesional}`);
16+
return;
17+
}
1318
const { profesionGrado, matriculaGrado, especialidades } = await getProfesionActualizada(profPrestacion);
1419

1520
const profesional = {
@@ -27,6 +32,8 @@ EventCore.on('prestacion:receta:create', async ({ prestacion, registro }) => {
2732
nombre: prestacion.ejecucion.organizacion.nombre
2833
};
2934

35+
const pacienteCUIL = prestacion.paciente.cuil || generarCUIL(prestacion.paciente.documento, prestacion.paciente.sexo);
36+
3037
const dataReceta = {
3138
idPrestacion: prestacion.id,
3239
idRegistro,
@@ -38,6 +45,9 @@ EventCore.on('prestacion:receta:create', async ({ prestacion, registro }) => {
3845
medicamento: null,
3946
diagnostico: null,
4047
};
48+
49+
dataReceta.paciente.cuil = pacienteCUIL;
50+
4151
for (const medicamento of registro.valor.medicamentos) {
4252
const receta: any = await Receta.findOne({
4353
'medicamento.concepto.conceptId': medicamento.generico.conceptId,

0 commit comments

Comments
 (0)