From 3007bf45eafdba239aeeac900422488829440c75 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Tue, 12 Nov 2002 18:08:31 +0000 Subject: [PATCH] r3394: *** empty log message *** --- package.lisp | 4 +++- sql-classes.lisp | 33 +++++++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/package.lisp b/package.lisp index da172f9..022a6ff 100644 --- a/package.lisp +++ b/package.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: package.lisp,v 1.11 2002/11/12 17:25:43 kevin Exp $ +;;;; $Id: package.lisp,v 1.12 2002/11/12 18:05:00 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is ;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D. @@ -84,7 +84,9 @@ #:find-uso-cuisui #:find-ucxt-cuisui #:find-usat-ui + #:find-usab-all #:find-usab-rsab + #:find-usab-vsab #:find-pfstr-cui #:find-ustr-in-uterm #:find-usty-tui diff --git a/sql-classes.lisp b/sql-classes.lisp index 27a2e66..6cd2c46 100644 --- a/sql-classes.lisp +++ b/sql-classes.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: sql-classes.lisp,v 1.9 2002/11/11 14:19:26 kevin Exp $ +;;;; $Id: sql-classes.lisp,v 1.10 2002/11/12 18:05:00 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is ;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D. @@ -578,11 +578,28 @@ (push (find-usty-tui (nth 0 tuple)) ustys)) (nreverse ustys))) +(defun find-usab-all () + "Find usab for a key" + (let ((results '())) + (dolist (tuple (mutex-sql-query "select VCUI,RCUI,VSAB,RSAB,SON,SF,SVER,MSTART,MEND,IMETA,RMETA,SLC,SCC,SRL,TFR,CFR,CXTY,TTYL,ATNL,LAT,CENC,CURVER,SABIN from MRSAB")) + (destructuring-bind + (vcui rcui vsab rsab son sf sver mstart mend imeta rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc curver sabin) tuple + (push + (make-instance 'usab :vcui (ensure-integer vcui) + :rcui (ensure-integer rcui) + :vsab vsab :rsab rsab :son son :sf sf :sver sver :mstart mstart + :mend mend :imeta imeta :rmeta rmeta :slc slc :scc scc + :srl (ensure-integer srl) + :tfr (ensure-integer tfr) :cfr (ensure-integer cfr) + :cxty cxty :ttyl ttyl :atnl atnl :lat lat :cenc cenc + :curver curver :sabin sabin) + results))) + (nreverse results))) -(defun find-usab-rsab (rsab) - "Find usab for rsab" +(defun find-usab-by-key (key-name key) + "Find usab for a key" (aif (car (mutex-sql-query - (format nil "select VCUI,RCUI,VSAB,RSAB,SON,SF,SVER,MSTART,MEND,IMETA,RMETA,SLC,SCC,SRL,TFR,CFR,CXTY,TTYL,ATNL,LAT,CENC,CURVER,SABIN from MRSAB where RSAB='~A'" rsab))) + (format nil "select VCUI,RCUI,VSAB,RSAB,SON,SF,SVER,MSTART,MEND,IMETA,RMETA,SLC,SCC,SRL,TFR,CFR,CXTY,TTYL,ATNL,LAT,CENC,CURVER,SABIN from MRSAB where ~A='~A'" key-name key))) (destructuring-bind (vcui rcui vsab rsab son sf sver mstart mend imeta rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc curver sabin) it (make-instance 'usab :vcui (ensure-integer vcui) @@ -594,6 +611,14 @@ :cxty cxty :ttyl ttyl :atnl atnl :lat lat :cenc cenc :curver curver :sabin sabin)))) +(defun find-usab-rsab (rsab) + "Find usab for rsab" + (find-usab-by-key "RSAB" rsab)) + +(defun find-usab-vsab (vsab) + "Find usab for vsab" + (find-usab-by-key "VSAB" vsab)) + (defun find-cui-max () (let ((cui (caar (mutex-sql-query "select max(CUI) from MRCON")))) (ensure-integer cui))) -- 2.34.1