Change default SQL server host
[umlisp.git] / classes.lisp
index 6f29ca69f861db98550c781d2a4dc602e9a51620..ce08ece3ac09671aebc21c4f17686e955b3d129a 100644 (file)
@@ -2,22 +2,19 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          classes.lisp
-;;;; Purpose:       Class defintions for UMLisp
-;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Apr 2000
-;;;;
-;;;; $Id: classes.lisp,v 1.30 2003/04/12 05:45:50 kevin Exp $
+;;;; Name:     classes.lisp
+;;;; Purpose:  Class defintions for UMLisp
+;;;; Author:   Kevin M. Rosenberg
+;;;; Created:  Apr 2000
 ;;;;
 ;;;; This file, part of UMLisp, is
-;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;;    Copyright (c) 2000-2010 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.
 ;;;; *************************************************************************
 
-(in-package :umlisp)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
+(in-package #:umlisp)
 
 (defclass umlsclass (hyperobject)
   ()
   ((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"))
 
-  
+
 (defclass urank (umlsclass)
   ((rank :value-type fixnum :initarg :rank :reader rank)
    (sab :value-type string :initarg :sab :reader sab)
    (tty :value-type string :initarg :tty :reader tty)
-   (supres :value-type string :initarg :supres :reader supres))
+   (suppress :value-type string :initarg :suppress :reader suppress))
   (:metaclass hyperobject-class)
-  (:default-initargs :rank nil :sab nil :tty nil :supres nil)
   (:user-name "Rank")
-  (:default-print-slots rank sab tty supres))
+  (:default-print-slots rank sab tty suppress))
 
 (defclass udef (umlsclass)
   ((def :value-type cdata :initarg :def :reader def)
-   (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab))
+   (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
+   (suppress :value-type string :initarg :suppress :reader suppress))
   (:metaclass hyperobject-class)
-  (:default-initargs :def nil :sab nil)
   (:user-name "Definition")
   (:default-print-slots sab def))
 
@@ -59,7 +54,6 @@
    (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))
 
   ((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)
-   (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)
    (lat :value-type string :initarg :lat :reader lat)
    (cenc :value-type string :initarg :cenc :reader cenc)
    (curver :value-type string :initarg :curver :reader curver)
-   (sabin :value-type string :initarg :sabin :reader sabin))
+   (sabin :value-type string :initarg :sabin :reader sabin)
+   (ssn :value-type string :initarg :ssn :reader ssn)
+   (scit :value-type string :initarg :scit :reader scit))
   (: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")
-  (:default-print-slots vcui rcui vsab rsab son sf sver mstart mend imeta
-               rmeta slc scc srl tfr cfr cxty ttyl atnl lat cenc
-               curver sabin))
-
-(defclass uso (umlsclass)
-  ((sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
-   (code :value-type string :initarg :code :reader code)
-   (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))
-
-(defclass ucxt (umlsclass)
-  ((sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
-   (code :value-type string :initarg :code :reader code)
-   (rnk :value-type fixnum :initarg :rnk :reader rnk)
+  (: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 ssn scit))
+
+(defclass uhier (umlsclass)
+  ((cui :value-type fixnum :initarg :cui :reader cui :hyperlink find-ucon-cui
+        :print-formatter fmt-cui)
+   (aui :value-type fixnum :initarg :aui :reader aui :hyperlink find-ucon-aui
+         :print-formatter fmt-aui)
    (cxn :value-type fixnum :initarg :cxn :reader cxn)
-   (cxl :value-type string :initarg :cxl :reader cxl)
-   (cxs :value-type cdata :initarg :cxs :reader cxs)
-   (cui2 :value-type fixnum :initarg :cui2 :reader cui2 :hyperlink find-ucon-cui
-        :print-formatter fmt-cui)
-   (hcd :value-type string :initarg :hcd :reader hcd)
+   (paui :value-type fixnum :initarg :paui :reader paui
+         :print-formatter fmt-aui)
+   (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
    (rela :value-type string :initarg :rela :reader rela)
-   (xc :value-type string  :initarg :xc :reader xc))
+   (ptr :value-type string :initarg :ptr :reader ptr)
+   (hcd :value-type string :initarg :hcd :reader hcd)
+   (cvf :value-type string  :initarg :cvf :reader cvf))
   (: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))
+  (:default-print-slots cxn paui sab rela ptr hcd))
 
 (defclass ustr (umlsclass)
   ((sui :value-type fixnum :initarg :sui :reader sui :print-formatter fmt-sui
-       :hyperlink find-ustr-sui)
+        :hyperlink find-ustr-sui)
    (cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui
-       :hyperlink find-ucon-cui)
+        :hyperlink find-ucon-cui)
    (lui :value-type fixnum :initarg :lui :reader lui :print-formatter fmt-lui
-       :hyperlink find-uterm-lui)
+        :hyperlink find-uterm-lui)
    (cuisui :value-type integer :initarg :cuisui :reader cuisui )
    (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))
+   (suppress :value-type string :initarg :suppress :reader suppress)
    (s#so :reader s#so :subobject (find-uso-cuisui cui sui))
-   (s#cxt :reader s#cxt :subobject (find-ucxt-cuisui cui sui)))
+   (s#sat :reader s#sat :subobject (find-usat-ui cui lui 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))
+  (:default-print-slots sui stt lrl str suppress))
 
-(defclass ulo (umlsclass)
-  ((isn :value-type string :initarg :isn :reader isn)
-   (fr :value-type fixnum :initarg :fr :reader fr)
-   (un :value-type string :initarg :un :reader un)
-   (sui :value-type fixnum :initarg :sui :reader sui :print-formatter fmt-sui)
-   (sna :value-type string :initarg :sna :reader sna)
-   (soui :value-type string :initarg :soui :reader soui))
+
+(defclass uso (umlsclass)
+  ((aui :value-type fixnum :initarg :aui :reader aui :print-formatter fmt-aui
+        :hyperlink find-ucon-aui)
+   (cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui
+        :hyperlink find-ucon-cui)
+   (sui :value-type fixnum :initarg :sui :reader sui :print-formatter fmt-sui
+        :hyperlink find-ucon-sui)
+   (saui :value-type string :initarg :saui :reader saui)
+   (sdui :value-type string :initarg :sdui :reader sdui)
+   (scui :value-type string :initarg :scui :reader scui)
+   (tty :value-type string :initarg :tty :reader tty)
+   (code :value-type string :initarg :code :reader code)
+   (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
+   (lat :value-type string :initarg :lat :reader lat)
+   (str :value-type cdata :initarg :str :reader str)
+   (srl :value-type fixnum :initarg :srl :reader srl)
+   (ts :value-type string :initarg :ts :reader ts))
   (: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 "Source")
+  (:default-print-slots aui sab code saui sdui scui tty srl ts))
 
 (defclass uterm (umlsclass)
   ((lui :value-type fixnum :initarg :lui :reader lui :print-formatter fmt-lui
-       :hyperlink find-uterm-lui)
+        :hyperlink find-uterm-lui)
    (cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui
-       :hyperlink find-ucon-cui)
+        :hyperlink find-ucon-cui)
    (lat :value-type string :initarg :lat :reader lat)
    (ts :value-type string  :initarg :ts :reader ts)
    (lrl :value-type fixnum :initarg :lrl :reader lrl)
    (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
-       :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)
-  (:default-initargs :tui nil :sty nil)
   (:user-name "Semantic Type")
   (:default-print-slots tui sty))
 
 (defclass urel (umlsclass)
-  ((rel :value-type string :initarg :rel :reader rel :hyperlink find-brel-rel)
+  ((rel :value-type string :initarg :rel :reader rel)
    (cui1 :value-type fixnum :initarg :cui1 :reader cui1 :print-formatter fmt-cui)
-   (cui2 :value-type fixnum :initarg :cui2 :reader cui2 :hyperlink find-ucon-sui
-        :print-formatter fmt-cui)
+   (aui1 :value-type fixnum :initarg :aui1 :reader aui1 :print-formatter fmt-aui)
+   (stype1 :value-type string  :initarg :stype1 :reader stype1)
+   (cui2 :value-type fixnum :initarg :cui2 :reader cui2 :hyperlink find-ucon-cui
+         :print-formatter fmt-cui)
+   (aui2 :value-type fixnum :initarg :aui2 :reader aui2 :hyperlink find-ucon-aui
+         :print-formatter fmt-aui)
    (pfstr2 :value-type cdata :initarg :pfstr2 :reader pfstr2)
+   (stype2 :value-type string  :initarg :stype2 :reader stype2)
    (rela :value-type string :initarg :rela :reader rela)
+   (rui :value-type fixnum  :initarg :rui :reader rui :print-formatter fmt-rui)
+   (srui :value-type string  :initarg :srui :reader srui)
    (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab)
    (sl :value-type string  :initarg :sl :reader sl)
-   (mg :value-type string  :initarg :mg :reader mg))
+   (rg :value-type string  :initarg :rg :reader rg)
+   (dir :value-type string  :initarg :dir :reader dir)
+   (suppress :value-type string  :initarg :suppress :reader suppress)
+   (cvf :value-type string  :initarg :cvf :reader cvf))
   (: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))
-       
+  (:default-print-slots stype1 rel cui2 aui2 stype2 rela rui srui sab sl rg dir suppress pfstr2))
+
+#+mrcoc
 (defclass ucoc (umlsclass)
   ((cui1 :value-type fixnum :initarg :cui1 :reader cui1 :print-formatter fmt-cui)
+   (aui1 :value-type fixnum :initarg :aui1 :reader aui1 :print-formatter fmt-aui)
    (cui2 :value-type fixnum :initarg :cui2 :reader cui2 :print-formatter fmt-cui
-        :hyperlink find-ucon-cui)
+         :hyperlink find-ucon-cui)
+   (aui2 :value-type fixnum :initarg :aui2 :reader aui2 :print-formatter fmt-aui
+         :hyperlink find-ucon-aui)
    (pfstr2 :value-type cdata :initarg :pfstr2 :reader pfstr2)
-   (soc :value-type string :initarg :soc :reader soc)
+   (sab :value-type string :initarg :sab :reader sab)
    (cot :value-type string :initarg :cot :reader cot)
    (cof :value-type fixnum :initarg :cof :reader cof)
-   (coa :value-type cdata :initarg :coa :reader coa))
+   (coa :value-type cdata :initarg :coa :reader coa)
+   (cvf :value-type string  :initarg :cvf :reader cvf))
   (: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))
-
-       
-(defclass uatx (umlsclass)
-  ((sab :value-type string :initarg :sab :reader sab)
-   (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))
+  (:default-print-slots cot cof coa cui2 aui2 sab pfstr2))
 
 (defclass ucon (umlsclass)
   ((cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui
-       :hyperlink find-ucon-cui)
-   (lrl :value-type fixnum :initarg :lrl :reader lrl)
-   (pfstr :value-type cdata :initarg :pfstr :reader pfstr)
+        :hyperlink find-ucon-cui)
+   (lrl :value-type fixnum :initarg :lrl :reader lrl
+        :compute-cached-value (find-lrl-cui cui))
+   (pfstr :value-type cdata :initarg :pfstr :reader pfstr
+          :compute-cached-value (find-pfstr-cui cui))
    (s#def :reader s#def :subobject (find-udef-cui cui))
+   (s#so :reader s#so :subobject (find-uso-cui cui))
+   (s#hier :reader s#hier :subobject (find-uhier-cui cui))
+   (s#map :reader s#map :subobject (find-umap-cui cui))
+   (s#smap :reader s#smap :subobject (find-usmap-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#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)))
+   #+mrcoc (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))
 
+
+(defclass uconso (umlsclass)
+  ((cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui
+        :hyperlink find-ucon-cui)
+   (pfstr :value-type cdata :initarg :pfstr :reader pfstr
+          :compute-cached-value (find-pfstr-cui cui))
+   (lat :value-type string :initarg :lat :reader lat)
+   (ts :value-type string :initarg :ts :reader ts)
+   (lui :value-type fixnum :initarg :lui :reader lui :print-formatter fmt-lui)
+   (stt :value-type string :initarg :stt :reader stt)
+   (sui :value-type fixnum :initarg :sui :reader sui :print-formatter fmt-sui)
+   (ispref :value-type string :initarg :ispref :reader ispref)
+   (aui :value-type fixnum :initarg :aui :reader aui :print-formatter fmt-aui)
+   (saui :value-type string :initarg :saui :reader saui)
+   (scui :value-type string :initarg :scui :reader scui)
+   (sdui :value-type string :initarg :sdui :reader sdui)
+   (sab :value-type string :initarg :sab :reader sab)
+   (tty :value-type string :initarg :tty :reader tty)
+   (code :value-type string :initarg :code :reader code)
+   (str :value-type string :initarg :str :reader str)
+   (srl :value-type fixnum :initarg :srl :reader srl)
+   (suppress :value-type string :initarg :suppress :reader suppress)
+   (cvf :value-type string :initarg :cvf :reader cvf)
+   (kpfeng :value-type string :initarg :kpfeng :reader kpfeng)
+   (kcuisui :value-type bigint :initarg :kcuisui :reader kcuisui)
+   (kcuilui :value-type bigint :initarg :kcuilui :reader kcuilui)
+   (kcuilrl :value-type fixnum :initarg :kcuilrl :reader kcuilrl)
+   (kluilrl :value-type fixnum :initarg :kluilrl :reader kluilrl)
+   (ksuilrl :value-type fixnum :initarg :ksuilrl :reader ksuilrl)
+   (s#def :reader s#def :subobject (find-udef-cui cui))
+   (s#so :reader s#so :subobject (find-uso-cui cui))
+   (s#hier :reader s#hier :subobject (find-uhier-cui cui))
+   (s#map :reader s#map :subobject (find-umap-cui cui))
+   (s#smap :reader s#smap :subobject (find-usmap-cui cui))
+   (s#sty :reader s#sty :subobject (find-usty-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))
+   #+mrcoc (s#coc :reader s#coc :subobject (find-ucoc-cui cui))
+   )
+  (:documentation "CONSO is a new concept from the RRF files.")
+  (:metaclass hyperobject-class)
+  (:user-name "Concept")
+  (:default-print-slots cui kcuilrl str sab))
+
+(defclass umap (umlsclass)
+  ((mapsetcui :value-type fixnum :initarg :mapsetcui :reader mapsetcui)
+   (mapsetsab :value-type string :initarg :mapsetsab :reader mapsetsab)
+   (mapsubsetid :value-type string :initarg :mapsubsetid :reader mapsubsetid)
+   ;; fixme: will convert to integer
+   (maprank :value-type string :initarg :maprank :reader maprank)
+   (fromid :value-type string :initarg :fromid :reader fromid)
+   (fromsid :value-type string :initarg :fromsid :reader fromsid)
+   (fromexpr :value-type string :initarg :fromexpr :reader fromexpr)
+   (fromtype :value-type string :initarg :fromtype :reader fromtype)
+   (fromrule :value-type string :initarg :fromrule :reader fromrule)
+   (fromres :value-type string :initarg :fromres :reader fromres)
+   (rel :value-type string :initarg :rel :reader rel)
+   (rela :value-type string :initarg :rela :reader rela)
+   (toid :value-type string :initarg :toid :reader toid)
+   (tosid :value-type string :initarg :tosid :reader tosid)
+   (toexpr :value-type string :initarg :toexpr :reader toexpr)
+   (totype :value-type string :initarg :totype :reader totype)
+   (torule :value-type string :initarg :torule :reader torule)
+   (tores :value-type string :initarg :tores :reader tores)
+   (maprule :value-type string :initarg :maprule :reader maprule)
+   (maptype :value-type string :initarg :maptype :reader maptype)
+   (mapatn :value-type string :initarg :mapatn :reader mapatn)
+   (mapatv :value-type string :initarg :mapatv :reader mapatv)
+   (cvf :value-type string  :initarg :cvf :reader cvf))
+  (:metaclass hyperobject-class)
+  (:user-name "Mapping")
+  (:default-print-slots mapsetcui mapsetsab mapsubsetid maprank fromid fromsid fromexpr fromtype
+                        fromrule fromres rel rela toid tosid toexpr totype torule tores maprule
+                        maptype mapatn mapatv))
+
+(defclass usmap (umlsclass)
+  ((mapsetcui :value-type fixnum :initarg :mapsetcui :reader mapsetcui)
+   (mapsetsab :value-type string :initarg :mapsetsab :reader mapsetsab)
+   (fromexpr :value-type string :initarg :fromexpr :reader fromexpr)
+   (fromtype :value-type string :initarg :fromtype :reader fromtype)
+   (rel :value-type string :initarg :rel :reader rel)
+   (rela :value-type string :initarg :rela :reader rela)
+   (toexpr :value-type string :initarg :toexpr :reader toexpr)
+   (totype :value-type string :initarg :totype :reader totype)
+   (cvf :value-type string  :initarg :cvf :reader cvf))
+  (:metaclass hyperobject-class)
+  (:user-name "Simple Mapping")
+  (:default-print-slots mapsetcui mapsetsab fromexpr fromtype rel rela toexpr totype))
+
 (defclass uxw (umlsclass)
   ((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))
   (: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)
    (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)
    (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))
 
+(defclass udoc (umlsclass)
+  ((dockey :value-type string :initarg :dockey :reader dockey)
+   (expl :value-type cdata :initarg :expl :reader expl)
+   (dtype :value-type cdata :initarg :dtype :reader dtype)
+   (dvalue :value-type cdata :initarg :dvalue :reader dvalue))
+  (:metaclass hyperobject-class)
+  (:user-name "Documentation record")
+  (:default-print-slots dockey expl dtype dvalue))
+
 
 ;;; LEX objects
 
 (defclass lexterm (umlsclass)
   ((eui :value-type fixnum :initarg :eui :reader eui :print-formatter fmt-eui
-       :hyperlink find-lexterm-eui)
+        :hyperlink find-lexterm-eui)
    (wrd :value-type string :initarg :wrd :reader wrd)
    (s#abr :reader s#abr :subobject (find-labr-eui eui))
    (s#agr :reader s#agr :subobject (find-lagr-eui eui))
    (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))
 
    (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)
    (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))
 
    (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))
 
    (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)
    (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)
    (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)
    (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))
 
 
    (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))
 
 
    (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)
    (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))
 
   ((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
    (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)
    (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))
 
    (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)
    (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))
 
+
+;;; **************************
+;;; 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."))