r9104: update dates/headers
[umlisp.git] / classes.lisp
index 6f29ca69f861db98550c781d2a4dc602e9a51620..7c3b9a86f19bad14e7596d649aa8ae5a6b9362b6 100644 (file)
@@ -2,22 +2,21 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          classes.lisp
-;;;; Purpose:       Class defintions for UMLisp
-;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Apr 2000
+;;;; Name:     classes.lisp
+;;;; Purpose:  Class defintions for UMLisp
+;;;; Author:   Kevin M. Rosenberg
+;;;; Created:  Apr 2000
 ;;;;
 ;;;;
-;;;; $Id: classes.lisp,v 1.30 2003/04/12 05:45:50 kevin Exp $
+;;;; $Id$
 ;;;;
 ;;;; This file, part of UMLisp, is
 ;;;;
 ;;;; This file, part of UMLisp, is
-;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;;    Copyright (c) 2000-2004 by Kevin M. Rosenberg, M.D.
 ;;;;
 ;;;; UMLisp users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the GNU General Public License.
 ;;;; *************************************************************************
 
 ;;;;
 ;;;; UMLisp users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the GNU General Public License.
 ;;;; *************************************************************************
 
-(in-package :umlisp)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
+(in-package #:umlisp)
 
 (defclass umlsclass (hyperobject)
   ()
 
 (defclass umlsclass (hyperobject)
   ()
@@ -29,7 +28,6 @@
   ((sab :value-type string :initarg :sab :reader sab)
    (srl :value-type fixnum :initarg :srl :reader srl))
   (:metaclass hyperobject-class)
   ((sab :value-type string :initarg :sab :reader sab)
    (srl :value-type fixnum :initarg :srl :reader srl))
   (:metaclass hyperobject-class)
-  (:default-initargs :sab nil :srl nil)
   (:user-name "Source Restriction Level")
   (:default-print-slots sab srl)
   (:description "Custom Table: Source Restriction Level"))
   (:user-name "Source Restriction Level")
   (:default-print-slots sab srl)
   (:description "Custom Table: Source Restriction Level"))
@@ -41,7 +39,6 @@
    (tty :value-type string :initarg :tty :reader tty)
    (supres :value-type string :initarg :supres :reader supres))
   (:metaclass hyperobject-class)
    (tty :value-type string :initarg :tty :reader tty)
    (supres :value-type string :initarg :supres :reader supres))
   (:metaclass hyperobject-class)
-  (:default-initargs :rank nil :sab nil :tty nil :supres nil)
   (:user-name "Rank")
   (:default-print-slots rank sab tty supres))
 
   (:user-name "Rank")
   (:default-print-slots rank sab tty supres))
 
@@ -49,7 +46,6 @@
   ((def :value-type cdata :initarg :def :reader def)
    (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab))
   (:metaclass hyperobject-class)
   ((def :value-type cdata :initarg :def :reader def)
    (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab))
   (:metaclass hyperobject-class)
-  (:default-initargs :def nil :sab nil)
   (:user-name "Definition")
   (:default-print-slots sab def))
 
   (:user-name "Definition")
   (:default-print-slots sab def))
 
@@ -59,7 +55,6 @@
    (atn :value-type string :initarg :atn :reader atn)
    (atv :value-type cdata :initarg :atv :reader atv))
   (:metaclass hyperobject-class)
    (atn :value-type string :initarg :atn :reader atn)
    (atv :value-type cdata :initarg :atv :reader atv))
   (:metaclass hyperobject-class)
-  (:default-initargs :sab nil :code nil :atn nil :atv nil)
   (:user-name "Simple Attribute")
   (:default-print-slots sab code atn atv))
 
   (:user-name "Simple Attribute")
   (:default-print-slots sab code atn atv))
 
   ((vcui :value-type fixnum :initarg :vcui :reader vcui :print-formatter fmt-cui)
    (rcui :value-type fixnum :initarg :rcui :reader rcui :print-formatter fmt-cui)
    (vsab :value-type string :initarg :vsab :reader vsab)
   ((vcui :value-type fixnum :initarg :vcui :reader vcui :print-formatter fmt-cui)
    (rcui :value-type fixnum :initarg :rcui :reader rcui :print-formatter fmt-cui)
    (vsab :value-type string :initarg :vsab :reader vsab)
-   (rsab :value-type string :initarg :rsab :reader rsab :hyperlink find-ucan-sab)
+   (rsab :value-type string :initarg :rsab :reader rsab :hyperlink find-ustr-sab
+        :hyperlink-parameters (("subobjects" . "no")))
    (son :value-type string :initarg :son :reader son)
    (sf :value-type string :initarg :sf :reader sf)
    (sver :value-type string :initarg :sver :reader sver)
    (son :value-type string :initarg :son :reader son)
    (sf :value-type string :initarg :sf :reader sf)
    (sver :value-type string :initarg :sver :reader sver)
-   (mstart :value-type string :initarg :mstart :reader mstart)
-   (mend :value-type string :initarg :mend :reader mend)
+   (vstart :value-type string :initarg :vstart :reader vstart)
+   (vend :value-type string :initarg :vend :reader vend)
    (imeta :value-type string :initarg :imeta :reader imeta)
    (rmeta :value-type string :initarg :rmeta :reader rmeta)
    (slc :value-type cdata :initarg :slc :reader slc)
    (imeta :value-type string :initarg :imeta :reader imeta)
    (rmeta :value-type string :initarg :rmeta :reader rmeta)
    (slc :value-type cdata :initarg :slc :reader slc)
    (curver :value-type string :initarg :curver :reader curver)
    (sabin :value-type string :initarg :sabin :reader sabin))
   (:metaclass hyperobject-class)
    (curver :value-type string :initarg :curver :reader curver)
    (sabin :value-type string :initarg :sabin :reader sabin))
   (:metaclass hyperobject-class)
-  (:default-initargs :vcui nil :rcui nil :vsab nil :rsab nil :son nil :sf nil
-                    :sver nil :mstart nil :mend nil :imeta nil :rmeta nil
-                    :slc nil :scc nil :srl nil :tfr nil :cfr nil :cxty nil
-                    :ttyl nil :atnl nil :lat nil :cenc nil :curver nil
-                    :sabin nil)
   (:user-name "Source Abbreviation")
   (:user-name "Source Abbreviation")
-  (:default-print-slots vcui rcui vsab rsab son sf sver mstart mend imeta
+  (:default-print-slots vcui rcui vsab rsab son sf sver vstart vend imeta
                rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc
                curver sabin))
 
                rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc
                curver sabin))
 
    (tty :value-type string :initarg :tty :reader tty :hyperlink find-btty-tty)
    (srl :value-type fixnum :initarg :srl :reader srl))
   (:metaclass hyperobject-class)
    (tty :value-type string :initarg :tty :reader tty :hyperlink find-btty-tty)
    (srl :value-type fixnum :initarg :srl :reader srl))
   (:metaclass hyperobject-class)
-  (:default-initargs :sab nil :code nil :tty nil :srl nil)
   (:user-name "Source")
   (:default-print-slots sab code tty srl))
 
   (:user-name "Source")
   (:default-print-slots sab code tty srl))
 
    (rela :value-type string :initarg :rela :reader rela)
    (xc :value-type string  :initarg :xc :reader xc))
   (:metaclass hyperobject-class)
    (rela :value-type string :initarg :rela :reader rela)
    (xc :value-type string  :initarg :xc :reader xc))
   (:metaclass hyperobject-class)
-  (:default-initargs :sab nil :code nil :rnk nil :cxn nil :cxl nil :cxs nil
-                    :cui2 nil :hcd nil :rela nil :xc nil)
   (:user-name "Context")
   (:default-print-slots sab code rnk cxn cxl hcd rela xc cui2 cxs))
 
   (:user-name "Context")
   (:default-print-slots sab code rnk cxn cxl hcd rela xc cui2 cxs))
 
    (str :value-type cdata :initarg :str :reader str)
    (lrl :value-type fixnum :initarg :lrl :reader lrl)
    (stt :value-type string :initarg :stt :reader stt)
    (str :value-type cdata :initarg :str :reader str)
    (lrl :value-type fixnum :initarg :lrl :reader lrl)
    (stt :value-type string :initarg :stt :reader stt)
-   (s#sat :reader s#sat :subobject (find-usat-ui cui lui sui))
    (s#so :reader s#so :subobject (find-uso-cuisui cui sui))
    (s#so :reader s#so :subobject (find-uso-cuisui cui sui))
+   (s#sat :reader s#sat :subobject (find-usat-ui cui lui sui))
    (s#cxt :reader s#cxt :subobject (find-ucxt-cuisui cui sui)))
   (:metaclass hyperobject-class)
    (s#cxt :reader s#cxt :subobject (find-ucxt-cuisui cui sui)))
   (:metaclass hyperobject-class)
-  (:default-initargs 
-   :sui nil :cui nil :lui nil :cuisui nil :str nil :lrl nil :stt nil)
   (:user-name "String")
   (:default-print-slots sui stt lrl str))
 
   (:user-name "String")
   (:default-print-slots sui stt lrl str))
 
    (sna :value-type string :initarg :sna :reader sna)
    (soui :value-type string :initarg :soui :reader soui))
   (:metaclass hyperobject-class)
    (sna :value-type string :initarg :sna :reader sna)
    (soui :value-type string :initarg :soui :reader soui))
   (:metaclass hyperobject-class)
-  (:default-initargs :isn nil :fr nil :un nil :sui nil :sna nil :soui nil)
   (:user-name "Locator")
   (:default-print-slots isn fr un sna soui sui))
 
   (:user-name "Locator")
   (:default-print-slots isn fr un sna soui sui))
 
    (s#str :reader s#str :subobject (find-ustr-cuilui cui lui))
    (s#sat :reader s#sat :subobject (find-usat-ui cui lui)))
   (:metaclass hyperobject-class)
    (s#str :reader s#str :subobject (find-ustr-cuilui cui lui))
    (s#sat :reader s#sat :subobject (find-usat-ui cui lui)))
   (:metaclass hyperobject-class)
-  (:default-initargs :lui nil :cui nil :lat nil :ts nil :lrl nil)
   (:user-name "Term")
   (:default-print-slots lui lat ts lrl))
 
 (defclass usty (umlsclass)
   ((tui :value-type fixnum :initarg :tui :reader tui :print-formatter fmt-tui
   (:user-name "Term")
   (:default-print-slots lui lat ts lrl))
 
 (defclass usty (umlsclass)
   ((tui :value-type fixnum :initarg :tui :reader tui :print-formatter fmt-tui
-       :hyperlink (find-ucon-tui ("subobjects" "no")))
+       :hyperlink find-ucon-tui
+       :hyperlink-parameters (("subobjects" . "no")))
    (sty :value-type string :initarg :sty :reader sty))
   (:metaclass hyperobject-class)
    (sty :value-type string :initarg :sty :reader sty))
   (:metaclass hyperobject-class)
-  (:default-initargs :tui nil :sty nil)
   (:user-name "Semantic Type")
   (:default-print-slots tui sty))
 
   (:user-name "Semantic Type")
   (:default-print-slots tui sty))
 
    (sl :value-type string  :initarg :sl :reader sl)
    (mg :value-type string  :initarg :mg :reader mg))
   (:metaclass hyperobject-class)
    (sl :value-type string  :initarg :sl :reader sl)
    (mg :value-type string  :initarg :mg :reader mg))
   (:metaclass hyperobject-class)
-  (:default-initargs 
-   :rel nil :cui1 nil :cui2 nil :pfstr2 nil :rela nil :sab nil :sl nil :mg nil)
   (:user-name "Relationship")
   (:default-print-slots rel rela sab sl mg cui2 pfstr2))
        
   (:user-name "Relationship")
   (:default-print-slots rel rela sab sl mg cui2 pfstr2))
        
    (cof :value-type fixnum :initarg :cof :reader cof)
    (coa :value-type cdata :initarg :coa :reader coa))
   (:metaclass hyperobject-class)
    (cof :value-type fixnum :initarg :cof :reader cof)
    (coa :value-type cdata :initarg :coa :reader coa))
   (:metaclass hyperobject-class)
-  (:default-initargs 
-   :cui1 nil :cui2 nil :pfstr2 nil :soc nil :cot nil :cof nil :coa nil)
   (:user-name "Co-occuring Concept")
   (:default-print-slots soc cot cof coa cui2 pfstr2))
 
   (:user-name "Co-occuring Concept")
   (:default-print-slots soc cot cof coa cui2 pfstr2))
 
    (rel :value-type string :initarg :rel :reader rel)
    (atx :value-type cdata :initarg :atx :reader atx))
   (:metaclass hyperobject-class)
    (rel :value-type string :initarg :rel :reader rel)
    (atx :value-type cdata :initarg :atx :reader atx))
   (:metaclass hyperobject-class)
-  (:default-initargs :sab nil :rel nil :atx nil)
   (:user-name "Associated Expression")
   (:default-print-slots sab rel atx))
 
   (:user-name "Associated Expression")
   (:default-print-slots sab rel atx))
 
    (pfstr :value-type cdata :initarg :pfstr :reader pfstr)
    (s#def :reader s#def :subobject (find-udef-cui cui))
    (s#sty :reader s#sty :subobject (find-usty-cui cui))
    (pfstr :value-type cdata :initarg :pfstr :reader pfstr)
    (s#def :reader s#def :subobject (find-udef-cui cui))
    (s#sty :reader s#sty :subobject (find-usty-cui cui))
-   (s#sat :reader s#sat :subobject (find-usat-ui cui))
    (s#atx :reader s#atx :subobject (find-uatx-cui cui))
    (s#lo :reader s#lo :subobject (find-ulo-cui cui))
    (s#term :reader s#term :subobject (find-uterm-cui cui))
    (s#atx :reader s#atx :subobject (find-uatx-cui cui))
    (s#lo :reader s#lo :subobject (find-ulo-cui cui))
    (s#term :reader s#term :subobject (find-uterm-cui cui))
+   (s#sat :reader s#sat :subobject (find-usat-ui cui))
    (s#rel :reader s#rel :subobject (find-urel-cui cui))
    (s#coc :reader s#coc :subobject (find-ucoc-cui cui)))
   (:metaclass hyperobject-class)
    (s#rel :reader s#rel :subobject (find-urel-cui cui))
    (s#coc :reader s#coc :subobject (find-ucoc-cui cui)))
   (:metaclass hyperobject-class)
-  (:default-initargs :cui nil :lrl nil :pfstr nil)
   (:user-name "Concept")
   (:default-print-slots cui lrl pfstr))
 
   (:user-name "Concept")
   (:default-print-slots cui lrl pfstr))
 
    (lui :value-type fixnum :initform nil :initarg :lui :reader lui :print-formatter fmt-lui)
    (sui :value-type fixnum :initform nil :initarg :sui :reader sui :print-formatter fmt-sui))
   (:metaclass hyperobject-class)
    (lui :value-type fixnum :initform nil :initarg :lui :reader lui :print-formatter fmt-lui)
    (sui :value-type fixnum :initform nil :initarg :sui :reader sui :print-formatter fmt-sui))
   (:metaclass hyperobject-class)
-  (:default-initargs :wd nil :cui nil :lui nil :sui nil)
-  (:user-name "XW Index")
+  (:user-name "XW Index" "XW Indices")
+  (:default-print-slots wd cui lui sui))
+
+(defclass uxw-noneng (umlsclass)
+  ((lat :value-type string :initarg :lat :reader lat)
+   (wd :value-type string :initarg :wd :reader wd)
+   (cui :value-type fixnum :initform nil :initarg :cui :reader cui :print-formatter fmt-cui)
+   (lui :value-type fixnum :initform nil :initarg :lui :reader lui :print-formatter fmt-lui)
+   (sui :value-type fixnum :initform nil :initarg :sui :reader sui :print-formatter fmt-sui)
+   (lrl :value-type fixnum :initform nil :initarg :lrl :reader lrl))
+  (:metaclass hyperobject-class)
+  (:user-name "XW Non-English Index" "XW Non-English Indices")
   (:default-print-slots wd cui lui sui))
 
 (defclass uxnw (umlsclass)
   (:default-print-slots wd cui lui sui))
 
 (defclass uxnw (umlsclass)
    (nwd :value-type string :initarg :nwd :reader nwd)
    (cuilist :value-type list :initarg :cuilist :reader uxnw-cuilist))
   (:metaclass hyperobject-class)
    (nwd :value-type string :initarg :nwd :reader nwd)
    (cuilist :value-type list :initarg :cuilist :reader uxnw-cuilist))
   (:metaclass hyperobject-class)
-  (:default-initargs :lat nil :nwd nil :cuilist nil)
-  (:user-name "XNW Index")
+  (:user-name "XNW Index" "XNW Indices")
   (:default-print-slots lat nwd cuilist))
 
 (defclass uxns (umlsclass)
   (:default-print-slots lat nwd cuilist))
 
 (defclass uxns (umlsclass)
    (nstr :value-type string :initarg :nstr :reader nstr)
    (cuilist :value-type list :initarg :cuilist :reader cuilist))
   (:metaclass hyperobject-class)
    (nstr :value-type string :initarg :nstr :reader nstr)
    (cuilist :value-type list :initarg :cuilist :reader cuilist))
   (:metaclass hyperobject-class)
-  (:default-initargs :lat nil :nstr nil :cuilist nil)
-  (:user-name "XNS Index")
+  (:user-name "XNS Index" "XNS Indices")
   (:default-print-slots lat nstr cuilist))
 
 
   (:default-print-slots lat nstr cuilist))
 
 
    (s#trm :reader s#trm :subobject (find-ltrm-eui eui))
    (s#typ :reader s#typ :subobject (find-ltyp-eui eui)))
   (:metaclass hyperobject-class)
    (s#trm :reader s#trm :subobject (find-ltrm-eui eui))
    (s#typ :reader s#typ :subobject (find-ltyp-eui eui)))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :wrd nil)
   (:user-name "Lexical Term")
   (:default-print-slots eui wrd))
 
   (:user-name "Lexical Term")
   (:default-print-slots eui wrd))
 
    (eui2 :value-type integer :initarg :eui2 :reader eui2 :print-formatter fmt-eui)
    (bas2 :value-type string :initarg :bas2 :reader bas2))
   (:metaclass hyperobject-class)
    (eui2 :value-type integer :initarg :eui2 :reader eui2 :print-formatter fmt-eui)
    (bas2 :value-type string :initarg :bas2 :reader bas2))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :abr nil :eui2 nil :bas2 nil)
-  (:user-name "Abbreviations and Acronyms")
+  (:user-name "Abbreviations and Acronym")
   (:default-print-slots eui bas abr eui2 bas2))
 
 (defclass lagr  (umlsclass)
   (:default-print-slots eui bas abr eui2 bas2))
 
 (defclass lagr  (umlsclass)
    (cit :value-type string :initarg :cit :reader cit)
    (bas :value-type string :initarg :bas :reader bas))
   (:metaclass hyperobject-class)
    (cit :value-type string :initarg :cit :reader cit)
    (bas :value-type string :initarg :bas :reader bas))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :str nil :sca nil :agr nil :cit nil :bas nil)
   (:user-name "Agreement and Inflection")
   (:default-print-slots eui str sca agr cit bas))
 
   (:user-name "Agreement and Inflection")
   (:default-print-slots eui str sca agr cit bas))
 
    (sca :value-type string :initarg :sca :reader sca)
    (com :value-type string :initarg :com :reader com))
   (:metaclass hyperobject-class)
    (sca :value-type string :initarg :sca :reader sca)
    (com :value-type string :initarg :com :reader com))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :sca nil :com nil)
   (:user-name "Complementation")
   (:default-print-slots eui bas sca com))
 
   (:user-name "Complementation")
   (:default-print-slots eui bas sca com))
 
    (psnmod :value-type string :initarg :psnmod :reader psnmod)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
    (psnmod :value-type string :initarg :psnmod :reader psnmod)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :sca nil :psnmod nil :fea nil)
-  (:user-name "Modifiers")
+  (:user-name "Modifier")
   (:default-print-slots eui bas sca psnmod fea))
 
 (defclass lnom  (umlsclass)
   (:default-print-slots eui bas sca psnmod fea))
 
 (defclass lnom  (umlsclass)
    (bas2 :value-type string :initarg :bas2 :reader bas2)
    (sca2 :value-type string :initarg :sca2 :reader sca2))
   (:metaclass hyperobject-class)
    (bas2 :value-type string :initarg :bas2 :reader bas2)
    (sca2 :value-type string :initarg :sca2 :reader sca2))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :sca nil :eui2 nil :bas2 nil :sca2 nil)
-  (:user-name "Nominalizations")
+  (:user-name "Nominalization")
   (:default-print-slots eui bas sca eui2 bas2 sca2))
 
 (defclass lprn  (umlsclass)
   (:default-print-slots eui bas sca eui2 bas2 sca2))
 
 (defclass lprn  (umlsclass)
    (qnt :value-type string :initarg :qnt :reader qnt)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
    (qnt :value-type string :initarg :qnt :reader qnt)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :num nil :gnd nil :cas nil
-                    :pos nil :qnt nil :fea nil)
-  (:user-name "Pronouns")
+  (:user-name "Pronoun")
   (:default-print-slots eui bas num gnd cas pos qnt fea))
 
 (defclass lprp  (umlsclass)
   (:default-print-slots eui bas num gnd cas pos qnt fea))
 
 (defclass lprp  (umlsclass)
    (sca :value-type string :initarg :sca :reader sca)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
    (sca :value-type string :initarg :sca :reader sca)
    (fea :value-type string :initarg :fea :reader fea))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :str nil :sca nil :fea nil)
-  (:user-name "Properties")
+  (:user-name "Property" "Properties")
   (:default-print-slots eui bas str sca fea))
 
 
   (:default-print-slots eui bas str sca fea))
 
 
    (spv :value-type string :initarg :spv :reader spv)
    (bas :value-type string :initarg :bas :reader bas))
   (:metaclass hyperobject-class)
    (spv :value-type string :initarg :spv :reader spv)
    (bas :value-type string :initarg :bas :reader bas))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :spv nil :bas nil)
-  (:user-name "Spelling Variants")
+  (:user-name "Spelling Variant")
   (:default-print-slots eui spv bas))
 
 
   (:default-print-slots eui spv bas))
 
 
    (bas :value-type string :initarg :bas :reader bas)
    (gen :value-type string :initarg :gen :reader gen))
   (:metaclass hyperobject-class)
    (bas :value-type string :initarg :bas :reader bas)
    (gen :value-type string :initarg :gen :reader gen))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :gen nil)
-  (:user-name "Trade Marks")
+  (:user-name "Trade Mark")
   (:default-print-slots eui bas gen))
 
 (defclass ltyp  (umlsclass)
   (:default-print-slots eui bas gen))
 
 (defclass ltyp  (umlsclass)
    (sca :value-type string :initarg :sca :reader sca)
    (typ :value-type string :initarg :typ :reader typ))
   (:metaclass hyperobject-class)
    (sca :value-type string :initarg :sca :reader sca)
    (typ :value-type string :initarg :typ :reader typ))
   (:metaclass hyperobject-class)
-  (:default-initargs :eui nil :bas nil :sca nil :typ nil)
   (:user-name "Inflection Type")
   (:default-print-slots eui bas sca typ))
 
   (:user-name "Inflection Type")
   (:default-print-slots eui bas sca typ))
 
   ((wrd :value-type string :initarg :wrd :reader wrd)
    (euilist :value-type list :initarg :euilist :reader euilist))
   (:metaclass hyperobject-class)
   ((wrd :value-type string :initarg :wrd :reader wrd)
    (euilist :value-type list :initarg :euilist :reader euilist))
   (:metaclass hyperobject-class)
-  (:default-initargs :wrd nil :euilist nil)
-  (:user-name "Lexical Word Index")
+  (:user-name "Lexical Word Index" "Lexical Word Indices")
   (:default-print-slots wrd euilist))
 
 ;;; Semantic NET objects
   (:default-print-slots wrd euilist))
 
 ;;; Semantic NET objects
    (abr :value-type string :initarg :abr :reader abr)
    (rin :value-type string :initarg :rin :reader rin))
   (:metaclass hyperobject-class)
    (abr :value-type string :initarg :abr :reader abr)
    (rin :value-type string :initarg :rin :reader rin))
   (:metaclass hyperobject-class)
-  (:default-initargs 
-   :rt nil :ui nil :styrl nil :stnrtn nil :def nil :ex nil :un nil :rh nil 
-   :abr nil :rin nil)
-  (:user-name "Basic information about Semantic Types and Relations")
+  (:user-name "Basic information about Semantic Types and Relation")
   (:default-print-slots rt ui styrl stnrtn def ex un rh abr rin))
 
 (defclass sstr (umlsclass)
   (:default-print-slots rt ui styrl stnrtn def ex un rh abr rin))
 
 (defclass sstr (umlsclass)
    (styrl2 :value-type string :initarg :styrl2 :reader styrl2)
    (ls :value-type string :initarg :ls :reader ls))
   (:metaclass hyperobject-class)
    (styrl2 :value-type string :initarg :styrl2 :reader styrl2)
    (ls :value-type string :initarg :ls :reader ls))
   (:metaclass hyperobject-class)
-  (:default-initargs :styrl nil :rl nil :styrl2 nil :ls nil)
   (:user-name "Structure of the Network")
   (:default-print-slots styrl rl styrl2 ls))
 
   (:user-name "Structure of the Network")
   (:default-print-slots styrl rl styrl2 ls))
 
    (ui2 :value-type integer :initarg :ui2 :reader ui2 :print-formatter fmt-tui)
    (ui3 :value-type integer :initarg :ui3 :reader ui3 :print-formatter fmt-tui))
   (:metaclass hyperobject-class)
    (ui2 :value-type integer :initarg :ui2 :reader ui2 :print-formatter fmt-tui)
    (ui3 :value-type integer :initarg :ui3 :reader ui3 :print-formatter fmt-tui))
   (:metaclass hyperobject-class)
-  (:default-initargs :ui nil :ui2 nil :ui3 nil)
-  (:user-name "Fully Inherited Set of Releatons (TUI's)")
+  (:user-name "Fully Inherited Set of Relation (TUIs)"
+             "Fully Inherited Set of Relations (TUIs)")
   (:default-print-slots ui ui2 ui3))
 
 (defclass sstre2 (umlsclass)
   (:default-print-slots ui ui2 ui3))
 
 (defclass sstre2 (umlsclass)
    (rl :value-type string :initarg :ui2 :reader rl)
    (sty2 :value-type string :initarg :ui3 :reader sty2))
   (:metaclass hyperobject-class)
    (rl :value-type string :initarg :ui2 :reader rl)
    (sty2 :value-type string :initarg :ui3 :reader sty2))
   (:metaclass hyperobject-class)
-  (:default-initargs :sty nil :rl nil :sty2 nil)
-  (:user-name "Fully Inherited Set of Releatons (strings)")
+  (:user-name "Fully Inherited Set of Relation (strings)"
+             "Fully Inherited Set of Relations (strings)")
   (:default-print-slots sty rl sty2))
 
   (:default-print-slots sty rl sty2))
 
+
+;;; **************************
+;;; Local Classes
+;;; **************************
+
+(defclass ustats (umlsclass)
+  ((name :value-type string :initarg :name :reader name)
+   (hits :value-type integer :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer)
+   (srl :value-type fixnum :initarg :srl :reader srl))
+  (:metaclass hyperobject-class)
+  (:default-initargs :name nil :hits nil :srl nil)
+  (:user-name "UMLS Statistic")
+  (:default-print-slots name hits srl)
+  (:documentation "Custom Table: UMLS Database statistics."))
+
+  
+(defclass bsab (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab
+       :hyperlink find-ustr-sab
+       :hyperlink-parameters (("subobjects" . "no")))
+   (name :value-type string :initarg :name :reader name)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :name nil :hits nil)
+  (:user-name "Source of Abbreviation")
+  (:default-print-slots sab name hits)
+  (:documentation "Bonus SAB file"))
+  
+(defclass btty (umlsclass)
+  ((tty :value-type string :initarg :tty :reader tty)
+   (name :value-type string :initarg :name :reader name)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :tty nil :name nil :hits nil)
+  (:user-name "Bonus TTY")
+  (:default-print-slots tty name hits)
+  (:documentation "Bonus TTY file"))
+  
+(defclass brel (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab)
+   (sl :value-type string :initarg :sl :reader sl)
+   (rel :value-type string :initarg :rel :reader rel)
+   (rela :value-type string :initarg :rela :reader rela)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-integer))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :sl nil :rel nil :rela nil :hits nil)
+  (:user-name "Bonus REL")
+  (:default-print-slots sab sl rel rela hits)
+  (:documentation "Bonus REL file"))
+
+(defclass batn (umlsclass)
+  ((sab :value-type string :initarg :sab :reader sab)
+   (atn :value-type string :initarg :atn :reader atn)
+   (hits :value-type fixnum :initarg :hits :reader hits
+        :user-name "count"
+        :print-formatter fmt-comma-intger))
+  (:metaclass hyperobject-class)
+  (:default-initargs :sab nil :atn nil)
+  (:user-name "Bonus ATN")
+  (:default-print-slots sab atn hits)
+  (:documentation "Bonus ATN file"))