@@ -4,12 +4,17 @@ import * as moment from 'moment';
44import { Receta } from '../../recetas/receta-schema' ;
55import { rupEventsLog as logger } from './rup.events.log' ;
66import { Profesional } from '../../../core/tm/schemas/profesional' ;
7+ import { generarCUIL } from '../../../core-v2/mpi/validacion/validacion.controller' ;
78
89EventCore . 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