@@ -443,26 +443,23 @@ export async function rechazar(idReceta, sistema, req) {
443443 }
444444}
445445
446- export async function getProfesionActualizada ( idProfesional ) {
446+ export async function getProfesionActualizada ( profesional ) {
447447 let profesionGrado = '' ;
448448 let matriculaGrado = 0 ;
449449 let especialidades = '' ;
450450
451- const infoMatriculas = await searchMatriculas ( idProfesional ) ;
452-
453- if ( infoMatriculas ) {
451+ if ( profesional . formacionGrado ) {
454452 // Los codigos de los roles permitidos son los de las profesiones: Médico, Odontólogo y Obstetra respectivamente.
455- const rolesPermitidos = [ 1 , 2 , 23 ] ;
456- const formacionEncontrada = infoMatriculas . formacionGrado ?. find ( formacion =>
457- rolesPermitidos . includes ( formacion . profesion )
458- ) ;
459-
460- profesionGrado = formacionEncontrada ?. nombre ;
461- matriculaGrado = formacionEncontrada ?. numero ;
453+ const filterFormaciones = ( e ) => { return e . matriculacion ?. length && [ 1 , 2 , 23 ] . includes ( e . profesion . codigo ) ; } ;
462454
463- const especialidadesTxt = infoMatriculas . formacionPosgrado
464- ?. map ( ( { nombre, numero } ) => `${ nombre } (Mat. ${ numero } )` ) ;
455+ const formacionEncontrada = profesional . formacionGrado . find ( filterFormaciones ) ;
465456
457+ profesionGrado = formacionEncontrada ? formacionEncontrada . profesion . nombre : '' ;
458+ matriculaGrado = formacionEncontrada ? formacionEncontrada . matriculacion [ formacionEncontrada . matriculacion . length - 1 ] . matriculaNumero : '' ;
459+ }
460+ if ( profesional . formacionPosgrado ) {
461+ const especialidadesTxt = profesional . formacionPosgrado . length ? profesional . formacionPosgrado . map ( postgrado => postgrado . matriculacion ? `${ postgrado . especialidad ?. nombre }
462+ (Mat. ${ postgrado . matriculacion [ postgrado . matriculacion . length - 1 ] . matriculaNumero } )` : '' ) : [ ] ;
466463 especialidades = especialidadesTxt ?. join ( ', ' ) || especialidades ;
467464 }
468465
@@ -592,7 +589,7 @@ export async function create(req) {
592589 if ( ! profAndes ) {
593590 throw new ParamsIncorrect ( 'Profesional no encontrado' ) ;
594591 }
595- const { profesionGrado, matriculaGrado, especialidades } = await getProfesionActualizada ( profRecetar . id ) ;
592+ const { profesionGrado, matriculaGrado, especialidades } = await getProfesionActualizada ( profAndes ) ;
596593 dataReceta . profesional = {
597594 _id : profAndes . _id ,
598595 id : profAndes . _id ,
0 commit comments