r3394: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 12 Nov 2002 18:08:31 +0000 (18:08 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 12 Nov 2002 18:08:31 +0000 (18:08 +0000)
package.lisp
sql-classes.lisp

index da172f95185b1fc3e62899cdb0202d40b8a8a5bb..022a6ff87f7fcfb1acb4b18c92e62115e738fb33 100644 (file)
@@ -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
index 27a2e66147a44059e7d2999e336a5b36d519ad1f..6cd2c46e14613f5e0533c45e657f8bf7a02adc01 100644 (file)
@@ -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.
       (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) 
                        :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)))