+ (make-instance 'ucon :cui (ensure-integer cui) :pfstr (find-pfstr-cui cui)
+ :lrl (ensure-integer kcuilrl)))
+ (unless lui (return-from find-ucon-lui nil))
+
+ (let ((tuple (car (mutex-sql-query "SELECT cui,kcuilrl,str FROM MRCONSO WHERE LUI=~D AND KPFENG=1~A ORDER BY kcuilrl ASC LIMIT 1"
+ lui (if srl (format nil " AND SRL<=~D" srl) "")))))
+ (unless tuple
+ (setq tuple (car (mutex-sql-query "SELECT cui,kcuilrl,str FROM MRCONSO WHERE LUI=~D~A ORDER BY kcuilrl ASC LIMIT 1"
+ lui (if srl (format nil " AND SRL<=~D" srl) "")))))
+ (unless tuple
+ (return-from find-ucon-lui nil))
+ (make-instance 'ucon :cui (first tuple) :pfstr (third tuple)
+ :lrl (ensure-integer (third tuple)))))