X-Git-Url: http://git.kpe.io/?p=umlisp.git;a=blobdiff_plain;f=classes.lisp;h=ce08ece3ac09671aebc21c4f17686e955b3d129a;hp=9bbd1714e0a0e1bb2336742fe0f8df1fdd6992df;hb=HEAD;hpb=bfdd5c9d3d66970759fcdbee5a51da2ca93ddf06 diff --git a/classes.lisp b/classes.lisp index 9bbd171..ce08ece 100644 --- a/classes.lisp +++ b/classes.lisp @@ -2,538 +2,560 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: classes.lisp -;;;; Purpose: Class defintions for UMLisp -;;;; Programmer: Kevin M. Rosenberg -;;;; Date Started: Apr 2000 -;;;; -;;;; $Id: classes.lisp,v 1.3 2002/10/09 23:03:41 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 () +(defclass umlsclass (hyperobject) () - (:metaclass kmrcl:ml-class) - (:documentation "Parent class of all UMLS objects. It is based on the KMRCL:ML-CLASS metaclass that provides object printing functions.")) + (:metaclass hyperobject-class) + (:description "Parent class of all UMLS objects. It is based on the HYPEROBJECT-CLASS metaclass that provides object printing functions.")) -(defmethod print-object ((obj umlsclass) (s stream)) - (print-unreadable-object (obj s :type t :identity t) - (let ((fmt (make-instance 'kmrcl::textformat))) - (apply #'format - s (funcall (kmrcl::obj-data-fmtstr fmt) obj) - (multiple-value-list - (funcall (funcall (kmrcl::obj-data-value-func fmt) obj) obj)))))) +(defclass usrl (umlsclass) + ((sab :value-type string :initarg :sab :reader sab) + (srl :value-type fixnum :initarg :srl :reader srl)) + (:metaclass hyperobject-class) + (:user-name "Source Restriction Level") + (:default-print-slots sab srl) + (:description "Custom Table: Source Restriction Level")) (defclass urank (umlsclass) - ((rank :type fixnum :initarg :rank :reader rank) - (sab :type string :initarg :sab :reader sab) - (tty :type string :initarg :tty :reader tty) - (supres :type string :initarg :supres :reader supres)) - (:metaclass kmrcl:ml-class) - (:default-initargs :rank nil :sab nil :tty nil :supres nil) - (:title "Rank") - (:fields (rank :fixnum) (sab :string) (tty :string) (supres :string))) + ((rank :value-type fixnum :initarg :rank :reader rank) + (sab :value-type string :initarg :sab :reader sab) + (tty :value-type string :initarg :tty :reader tty) + (suppress :value-type string :initarg :suppress :reader suppress)) + (:metaclass hyperobject-class) + (:user-name "Rank") + (:default-print-slots rank sab tty suppress)) (defclass udef (umlsclass) - ((def :type string :initarg :def :reader def) - (sab :type string :initarg :sab :reader sab)) - (:metaclass kmrcl:ml-class) - (:default-initargs :def nil :sab nil) - (:title "Definition") - (:ref-fields (sab find-bsab-sab)) - (:fields (sab :string) (def :cdata))) + ((def :value-type cdata :initarg :def :reader def) + (sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab) + (suppress :value-type string :initarg :suppress :reader suppress)) + (:metaclass hyperobject-class) + (:user-name "Definition") + (:default-print-slots sab def)) (defclass usat (umlsclass) - ((sab :type string :initarg :sab :reader sab) - (code :type string :initarg :code :reader code) - (atn :type string :initarg :atn :reader atn) - (atv :type string :initarg :atv :reader atv)) - (:metaclass kmrcl:ml-class) - (:default-initargs :sab nil :code nil :atn nil :atv nil) - (:title "Simple Attribute") - (:ref-fields (sab find-bsab-sab)) - (:fields (sab :string) (code :string) (atn :string) (atv :cdata))) - -(defclass uso (umlsclass) - ((sab :type string :initarg :sab :reader sab) - (code :type string :initarg :code :reader code) - (tty :type string :initarg :tty :reader tty) - (srl :type fixnum :initarg :srl :reader srl)) - (:metaclass kmrcl:ml-class) - (:default-initargs :sab nil :code nil :tty nil :srl nil) - (:title "Source") - (:ref-fields (sab find-bsab-sab) (tty find-btty-tty)) - (:fields (sab :string) (code :string) (tty :string) (srl :fixnum))) - -(defclass ucxt (umlsclass) - ((sab :type string :initarg :sab :reader sab) - (code :type string :initarg :code :reader code) - (rnk :type fixnum :initarg :rnk :reader rnk) - (cxn :type fixnum :initarg :cxn :reader cxn) - (cxl :type string :initarg :cxl :reader cxl) - (cxs :type string :initarg :cxs :reader cxs) - (cui2 :type fixnum :initarg :cui2 :reader cui2) - (hcd :type string :initarg :hcd :reader hcd) - (rela :type string :initarg :rela :reader rela) - (xc :type string :initarg :xc :reader xc)) - (:metaclass kmrcl:ml-class) - (:default-initargs :sab nil :code nil :rnk nil :cxn nil :cxl nil :cxs nil - :cui2 nil :hcd nil :rela nil :xc nil) - (:title "Context") - (:ref-fields (sab find-bsab-sab) (cui2 find-ucon-cui)) - (:fields - (sab :string) (code :string) (rnk :fixnum) (cxn :fixnum) (cxl :string) - (hcd :string) (rela :string) (xc :string) (cui2 :string fmt-cui) - (cxs :cdata))) + ((sab :value-type string :initarg :sab :reader sab :hyperlink find-usab-rsab) + (code :value-type string :initarg :code :reader code) + (atn :value-type string :initarg :atn :reader atn) + (atv :value-type cdata :initarg :atv :reader atv)) + (:metaclass hyperobject-class) + (:user-name "Simple Attribute") + (:default-print-slots sab code atn atv)) + +(defclass usab (umlsclass) + ((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-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) + (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) + (scc :value-type cdata :initarg :scc :reader scc) + (srl :value-type fixnum :initarg :srl :reader srl) + (tfr :value-type fixnum :initarg :tfr :reader tfr :print-formatter fmt-comma-integer) + (cfr :value-type fixnum :initarg :cfr :reader cfr :print-formatter fmt-comma-integer) + (cxty :value-type string :initarg :cxty :reader cxty) + (ttyl :value-type string :initarg :ttyl :reader ttyl) + (atnl :value-type string :initarg :atnl :reader atnl) + (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) + (ssn :value-type string :initarg :ssn :reader ssn) + (scit :value-type string :initarg :scit :reader scit)) + (:metaclass hyperobject-class) + (:user-name "Source Abbreviation") + (: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) + (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) + (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) + (:user-name "Context") + (:default-print-slots cxn paui sab rela ptr hcd)) (defclass ustr (umlsclass) - ((sui :type fixnum :initarg :sui :reader sui) - (cui :type fixnum :initarg :cui :reader cui) - (lui :type fixnum :initarg :lui :reader lui) - (cuisui :type integer :initarg :cuisui :reader cuisui ) - (str :type string :initarg :str :reader str) - (lrl :type fixnum :initarg :lrl :reader lrl) - (stt :type string :initarg :stt :reader stt) - (s#sat :reader s#sat) - (s#so :reader s#so) - (s#cxt :reader s#cxt)) - (:metaclass kmrcl:ml-class) - (:default-initargs - :sui nil :cui nil :lui nil :cuisui nil :str nil :lrl nil :stt nil) - (:title "String") - (:subobjects-lists (s#sat usat) (s#so uso) (s#cxt ucxt)) - (:fields (sui :string fmt-sui) (stt :string) (lrl :fixnum) (str :cdata)) - (:ref-fields (sui find-ustr-sui))) - -(defclass ulo (umlsclass) - ((isn :type string :initarg :isn :reader isn) - (fr :type fixnum :initarg :fr :reader fr) - (un :type string :initarg :un :reader un) - (sui :type fixnum :initarg :sui :reader sui) - (sna :type string :initarg :sna :reader sna) - (soui :type string :initarg :soui :reader soui)) - (:metaclass kmrcl:ml-class) - (:default-initargs :isn nil :fr nil :un nil :sui nil :sna nil :soui nil) - (:title "Locator") - (:fields (isn :string) (fr :fixnum) (un :string) (sna :string) - (soui :string) (sui :string fmt-sui) (suistr :string))) + ((sui :value-type fixnum :initarg :sui :reader sui :print-formatter fmt-sui + :hyperlink find-ustr-sui) + (cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui + :hyperlink find-ucon-cui) + (lui :value-type fixnum :initarg :lui :reader lui :print-formatter fmt-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) + (suppress :value-type string :initarg :suppress :reader suppress) + (s#so :reader s#so :subobject (find-uso-cuisui cui sui)) + (s#sat :reader s#sat :subobject (find-usat-ui cui lui sui))) + (:metaclass hyperobject-class) + (:user-name "String") + (:default-print-slots sui stt lrl str suppress)) + + +(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) + (:user-name "Source") + (:default-print-slots aui sab code saui sdui scui tty srl ts)) (defclass uterm (umlsclass) - ((lui :type fixnum :initarg :lui :reader lui) - (cui :type fixnum :initarg :cui :reader cui) - (lat :type string :initarg :lat :reader lat) - (ts :type string :initarg :ts :reader ts) - (lrl :type fixnum :initarg :lrl :reader lrl) - (s#str :reader s#str) - (s#sat :reader s#sat)) - (:metaclass kmrcl:ml-class) - (:default-initargs :lui nil :cui nil :lat nil :ts nil :lrl nil) - (:title "Term") - (:subobjects-lists (s#sat usat) (s#str ustr)) - (:fields (lui :string fmt-lui) (lat :string) (ts :string) (lrl :fixnum)) - (:ref-fields (lui find-uterm-lui))) + ((lui :value-type fixnum :initarg :lui :reader lui :print-formatter fmt-lui + :hyperlink find-uterm-lui) + (cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-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) + (:user-name "Term") + (:default-print-slots lui lat ts lrl)) (defclass usty (umlsclass) - ((tui :type fixnum :initarg :tui :reader tui) - (sty :type string :initarg :sty :reader sty)) - (:metaclass kmrcl:ml-class) - (:default-initargs :tui nil :sty nil) - (:title "Semantic Type") - (:ref-fields (tui find-ucon-tui (("subobjects" "no")))) - (:fields (tui :string fmt-tui) (sty :string))) + ((tui :value-type fixnum :initarg :tui :reader tui :print-formatter fmt-tui + :hyperlink find-ucon-tui + :hyperlink-parameters (("subobjects" . "no"))) + (sty :value-type string :initarg :sty :reader sty)) + (:metaclass hyperobject-class) + (:user-name "Semantic Type") + (:default-print-slots tui sty)) (defclass urel (umlsclass) - ((rel :type string :initarg :rel :reader rel) - (cui1 :type fixnum :initarg :cui1 :reader cui1) - (cui2 :type fixnum :initarg :cui2 :reader cui2) - (pfstr2 :type string :initarg :pfstr2 :reader pfstr2) - (rela :type string :initarg :rela :reader rela) - (sab :type string :initarg :sab :reader sab) - (sl :type string :initarg :sl :reader sl) - (mg :type string :initarg :mg :reader mg)) - (:metaclass kmrcl:ml-class) - (:default-initargs - :rel nil :cui1 nil :cui2 nil :pfstr2 nil :rela nil :sab nil :sl nil :mg nil) - (:title "Relationship") - (:ref-fields (rel find-brel-rel) (sab find-bsab-sab) (cui2 find-ucon-cui)) - (:fields (rel :string) (rela :string) (sab :string) (sl :string) - (mg :string) (cui2 :string fmt-cui) (pfstr2 :cdata))) - + ((rel :value-type string :initarg :rel :reader rel) + (cui1 :value-type fixnum :initarg :cui1 :reader cui1 :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) + (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) + (:user-name "Relationship") + (:default-print-slots stype1 rel cui2 aui2 stype2 rela rui srui sab sl rg dir suppress pfstr2)) + +#+mrcoc (defclass ucoc (umlsclass) - ((cui1 :type fixnum :initarg :cui1 :reader cui1) - (cui2 :type fixnum :initarg :cui2 :reader cui2) - (pfstr2 :type string :initarg :pfstr2 :reader pfstr2) - (soc :type string :initarg :soc :reader soc) - (cot :type string :initarg :cot :reader cot) - (cof :type fixnum :initarg :cof :reader cof) - (coa :type string :initarg :coa :reader coa)) - (:metaclass kmrcl:ml-class) - (:default-initargs - :cui1 nil :cui2 nil :pfstr2 nil :soc nil :cot nil :cof nil :coa nil) - (:title "Co-occuring Concept") - (:ref-fields (cui2 find-ucon-cui)) - (:fields (soc :string) (cot :string) (cof :fixnum) (coa :cdata) - (cui2 :string fmt-cui) (pfstr2 :cdata))) - - -(defclass uatx (umlsclass) - ((sab :type string :initarg :sab :reader sab) - (rel :type string :initarg :rel :reader rel) - (atx :type string :initarg :atx :reader atx)) - (:metaclass kmrcl:ml-class) - (:default-initargs :sab nil :rel nil :atx nil) - (:title "Associated Expression") - (:fields (sab :string) (rel :string) (atx :cdata))) + ((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) + (aui2 :value-type fixnum :initarg :aui2 :reader aui2 :print-formatter fmt-aui + :hyperlink find-ucon-aui) + (pfstr2 :value-type cdata :initarg :pfstr2 :reader pfstr2) + (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) + (cvf :value-type string :initarg :cvf :reader cvf)) + (:metaclass hyperobject-class) + (:user-name "Co-occuring Concept") + (:default-print-slots cot cof coa cui2 aui2 sab pfstr2)) (defclass ucon (umlsclass) - ((cui :type fixnum :initarg :cui :reader cui ) - (pfstr :initarg :pfstr :reader pfstr) - (lrl :initarg :lrl :reader lrl) - (s#term :reader s#term) - (s#def :reader s#def) - (s#lo :reader s#lo) - (s#rel :reader s#rel) - (s#coc :reader s#coc) - (s#sat :reader s#sat) - (s#atx :reader s#atx) - (s#sty :reader s#sty)) - (:metaclass kmrcl:ml-class) - (:default-initargs :cui nil :pfstr nil :lrl nil) - (:title "Concept") - (:subobjects-lists - (s#def udef) (s#sty usty) (s#lo ulo) (s#atx uatx) (s#sat usat) (s#rel urel) - (s#coc ucoc) (s#term uterm)) - (:fields (cui :string fmt-cui) (lrl :fixum) (pfstr :cdata)) - (:ref-fields (cui find-ucon-cui))) + ((cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui + :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#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)) + ) + (:metaclass hyperobject-class) + (: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 :type string :initarg :wd :reader wd) - (cui :type fixnum :initform nil :initarg :cui :reader cui) - (lui :type fixnum :initform nil :initarg :lui :reader lui) - (sui :type fixnum :initform nil :initarg :sui :reader sui)) - (:metaclass kmrcl:ml-class) - (:default-initargs :wd nil :cui nil :lui nil :sui nil) - (:title "XW Index") - (:fields (wd :string) (cui :string fmt-cui) (lui :string fmt-lui) - (sui :string fmt-sui))) + ((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) + (: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) - ((lat :type string :initarg :lat :reader lat) - (nwd :type string :initarg :nwd :reader nwd) - (cuilist :type list :initarg :cuilist :reader uxnw-cuilist)) - (:metaclass kmrcl:ml-class) - (:default-initargs :lat nil :nwd nil :cuilist nil) - (:title "XNW Index") - (:fields (lat :string) (nwd :string) (cuilist :string))) + ((lat :value-type string :initarg :lat :reader lat) + (nwd :value-type string :initarg :nwd :reader nwd) + (cuilist :value-type list :initarg :cuilist :reader uxnw-cuilist)) + (:metaclass hyperobject-class) + (:user-name "XNW Index" "XNW Indices") + (:default-print-slots lat nwd cuilist)) (defclass uxns (umlsclass) - ((lat :type string :initarg :lat :reader lat) - (nstr :type string :initarg :nstr :reader nstr) - (cuilist :type list :initarg :cuilist :reader cuilist)) - (:metaclass kmrcl:ml-class) - (:default-initargs :lat nil :nstr nil :cuilist nil) - (:title "XNS Index") - (:fields (lat :string) (nstr :string) (cuilist :string))) + ((lat :value-type string :initarg :lat :reader lat) + (nstr :value-type string :initarg :nstr :reader nstr) + (cuilist :value-type list :initarg :cuilist :reader cuilist)) + (:metaclass hyperobject-class) + (: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 :type fixnum :initarg :eui :reader eui) - (wrd :type string :initarg :wrd :reader wrd) - (s#abr :reader s#abr) - (s#agr :reader s#agr) - (s#cmp :reader s#cmp) - (s#mod :reader s#mod) - (s#nom :reader s#nom) - (s#prn :reader s#prn) - (s#prp :reader s#prp) - (s#spl :reader s#spl) - (s#trm :reader s#trm) - (s#typ :reader s#typ)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :wrd nil) - (:title "Lexical Term") - (:subobjects-lists - (s#abr labr) (s#agr lagr) (s#cmp lcmp) (s#mod lmod) (s#nom unom) - (s#prn lprn) (s#prp lprp) (s#spl lspl) (s#trm ltrm) (s#typ ltyp)) - (:fields (eui :string fmt-eui) (wrd :string)) - (:ref-fields (eui find-lexterm-eui))) + ((eui :value-type fixnum :initarg :eui :reader eui :print-formatter fmt-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#cmp :reader s#cmp :subobject (find-lcmp-eui eui)) + (s#mod :reader s#mod :subobject (find-lmod-eui eui)) + (s#nom :reader s#nom :subobject (find-lnom-eui eui)) + (s#prn :reader s#prn :subobject (find-lprn-eui eui)) + (s#prp :reader s#prp :subobject (find-lprp-eui eui)) + (s#spl :reader s#spl :subobject (find-lspl-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) + (:user-name "Lexical Term") + (:default-print-slots eui wrd)) (defclass labr (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (abr :type string :initarg :abr :reader abr) - (eui2 :type integer :initarg :eui2 :reader eui2) - (bas2 :type string :initarg :bas2 :reader bas2)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :abr nil :eui2 nil :bas2 nil) - (:title "Abbreviations and Acronyms") - (:fields (eui :string fmt-eui) (bas :string) (abr :string) - (eui2 :string fmt-eui) (bas2 :string ))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (abr :value-type string :initarg :abr :reader abr) + (eui2 :value-type integer :initarg :eui2 :reader eui2 :print-formatter fmt-eui) + (bas2 :value-type string :initarg :bas2 :reader bas2)) + (:metaclass hyperobject-class) + (:user-name "Abbreviations and Acronym") + (:default-print-slots eui bas abr eui2 bas2)) (defclass lagr (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (str :type string :initarg :str :reader str) - (sca :type string :initarg :sca :reader sca) - (agr :type string :initarg :agr :reader agr) - (cit :type string :initarg :cit :reader cit) - (bas :type string :initarg :bas :reader bas)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :str nil :sca nil :agr nil :cit nil :bas nil) - (:title "Agreement and Inflection") - (:fields (eui :string fmt-eui) (str :string) (sca :string) (agr :string) - (cit :string) (bas :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (str :value-type string :initarg :str :reader str) + (sca :value-type string :initarg :sca :reader sca) + (agr :value-type string :initarg :agr :reader agr) + (cit :value-type string :initarg :cit :reader cit) + (bas :value-type string :initarg :bas :reader bas)) + (:metaclass hyperobject-class) + (:user-name "Agreement and Inflection") + (:default-print-slots eui str sca agr cit bas)) (defclass lcmp (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (sca :type string :initarg :sca :reader sca) - (com :type string :initarg :com :reader com)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :sca nil :com nil) - (:title "Complementation") - (:fields (eui :string fmt-eui) (bas :string) (sca :string) (com :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (sca :value-type string :initarg :sca :reader sca) + (com :value-type string :initarg :com :reader com)) + (:metaclass hyperobject-class) + (:user-name "Complementation") + (:default-print-slots eui bas sca com)) (defclass lmod (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (sca :type string :initarg :sca :reader sca) - (psnmod :type string :initarg :psnmod :reader psnmod) - (fea :type string :initarg :fea :reader fea)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :sca nil :psnmod nil :fea nil) - (:title "Modifiers") - (:fields (eui :string fmt-eui) (bas :string) (sca :string) (psnmod :string) - (fea :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (sca :value-type string :initarg :sca :reader sca) + (psnmod :value-type string :initarg :psnmod :reader psnmod) + (fea :value-type string :initarg :fea :reader fea)) + (:metaclass hyperobject-class) + (:user-name "Modifier") + (:default-print-slots eui bas sca psnmod fea)) (defclass lnom (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (sca :type string :initarg :sca :reader sca) - (eui2 :type integer :initarg :eui2 :reader eui2) - (bas2 :type string :initarg :bas2 :reader bas2) - (sca2 :type string :initarg :sca2 :reader sca2)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :sca nil :eui2 nil :bas2 nil :sca2 nil) - (:title "Nominalizations") - (:fields (eui :string fmt-eui) (bas :string) (sca :string) - (eui2 :string fmt-eui) (bas2 :string) (sca2 :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (sca :value-type string :initarg :sca :reader sca) + (eui2 :value-type integer :initarg :eui2 :reader eui2 :print-formatter fmt-eui) + (bas2 :value-type string :initarg :bas2 :reader bas2) + (sca2 :value-type string :initarg :sca2 :reader sca2)) + (:metaclass hyperobject-class) + (:user-name "Nominalization") + (:default-print-slots eui bas sca eui2 bas2 sca2)) (defclass lprn (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (num :type string :initarg :num :reader num) - (gnd :type string :initarg :gnd :reader gnd) - (cas :type string :initarg :cas :reader cas) - (pos :type string :initarg :pos :reader pos) - (qnt :type string :initarg :qnt :reader qnt) - (fea :type string :initarg :fea :reader fea)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :num nil :gnd nil :cas nil - :pos nil :qnt nil :fea nil) - (:title "Pronouns") - (:fields (eui :string fmt-eui) (bas :string) (num :string) (gnd :string) - (cas :string) (pos :string) (qnt :string) (fea :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (num :value-type string :initarg :num :reader num) + (gnd :value-type string :initarg :gnd :reader gnd) + (cas :value-type string :initarg :cas :reader cas) + (pos :value-type string :initarg :pos :reader pos) + (qnt :value-type string :initarg :qnt :reader qnt) + (fea :value-type string :initarg :fea :reader fea)) + (:metaclass hyperobject-class) + (:user-name "Pronoun") + (:default-print-slots eui bas num gnd cas pos qnt fea)) (defclass lprp (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (str :type string :initarg :str :reader str) - (sca :type string :initarg :sca :reader sca) - (fea :type string :initarg :fea :reader fea)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :str nil :sca nil :fea nil) - (:title "Properties") - (:fields (eui :string fmt-eui) (bas :string) (str :string) (sca :string) - (fea :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (str :value-type string :initarg :str :reader str) + (sca :value-type string :initarg :sca :reader sca) + (fea :value-type string :initarg :fea :reader fea)) + (:metaclass hyperobject-class) + (:user-name "Property" "Properties") + (:default-print-slots eui bas str sca fea)) (defclass lspl (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (spv :type string :initarg :spv :reader spv) - (bas :type string :initarg :bas :reader bas)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :spv nil :bas nil) - (:title "Spelling Variants") - (:fields (eui :string fmt-eui) (spv :string) (bas :string))) - + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (spv :value-type string :initarg :spv :reader spv) + (bas :value-type string :initarg :bas :reader bas)) + (:metaclass hyperobject-class) + (:user-name "Spelling Variant") + (:default-print-slots eui spv bas)) (defclass ltrm (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (gen :type string :initarg :gen :reader gen)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :gen nil) - (:title "Trade Marks") - (:fields (eui :string fmt-eui) (bas :string) (gen :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (gen :value-type string :initarg :gen :reader gen)) + (:metaclass hyperobject-class) + (:user-name "Trade Mark") + (:default-print-slots eui bas gen)) (defclass ltyp (umlsclass) - ((eui :type integer :initarg :eui :reader eui) - (bas :type string :initarg :bas :reader bas) - (sca :type string :initarg :sca :reader sca) - (typ :type string :initarg :typ :reader typ)) - (:metaclass kmrcl:ml-class) - (:default-initargs :eui nil :bas nil :sca nil :typ nil) - (:title "Inflection Type") - (:fields (eui :string fmt-eui) (bas :string) (sca :string) (typ :string))) + ((eui :value-type integer :initarg :eui :reader eui :print-formatter fmt-eui) + (bas :value-type string :initarg :bas :reader bas) + (sca :value-type string :initarg :sca :reader sca) + (typ :value-type string :initarg :typ :reader typ)) + (:metaclass hyperobject-class) + (:user-name "Inflection Type") + (:default-print-slots eui bas sca typ)) (defclass lwd (umlsclass) - ((wrd :type string :initarg :wrd :reader wrd) - (euilist :type list :initarg :euilist :reader euilist)) - (:metaclass kmrcl:ml-class) - (:default-initargs :wrd nil :euilist nil) - (:title "Lexical Word Index") - (:fields (wrd :string) (euilist :string))) + ((wrd :value-type string :initarg :wrd :reader wrd) + (euilist :value-type list :initarg :euilist :reader euilist)) + (:metaclass hyperobject-class) + (:user-name "Lexical Word Index" "Lexical Word Indices") + (:default-print-slots wrd euilist)) ;;; Semantic NET objects (defclass sdef (umlsclass) - ((rt :type string :initarg :rt :reader rt) - (ui :type integer :initarg :ui :reader ui) - (styrl :type string :initarg :styrl :reader styrl) - (stnrtn :type string :initarg :stnrtn :reader stnrtn) - (def :type string :initarg :def :reader def) - (ex :type string :initarg :ex :reader ex) - (un :type string :initarg :un :reader un) - (rh :type string :initarg :rh :reader rh) - (abr :type string :initarg :abr :reader abr) - (rin :type string :initarg :rin :reader rin)) - (:metaclass kmrcl:ml-class) - (:default-initargs - :rt nil :ui nil :styrl nil :stnrtn nil :def nil :ex nil :un nil :rh nil - :abr nil :rin nil) - (:title "Basic information about Semantic Types and Relations") - (:fields - (rt :string) (ui :string fmt-tui) (styrl :string) (stnrtn :string-tui) - (def :string) (ex :string) (un :string) (rh :string) (abr :string) - (rin :string))) + ((rt :value-type string :initarg :rt :reader rt) + (ui :value-type integer :initarg :ui :reader ui :print-formatter fmt-tui) + (styrl :value-type string :initarg :styrl :reader styrl) + (stnrtn :value-type string :initarg :stnrtn :reader stnrtn) + (def :value-type string :initarg :def :reader def) + (ex :value-type string :initarg :ex :reader ex) + (un :value-type string :initarg :un :reader un) + (rh :value-type string :initarg :rh :reader rh) + (abr :value-type string :initarg :abr :reader abr) + (rin :value-type string :initarg :rin :reader rin)) + (:metaclass hyperobject-class) + (: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) - ((styrl :type string :initarg :styrl :reader styrl) - (rl :type string :initarg :rl :reader rl) - (styrl2 :type string :initarg :styrl2 :reader styrl2) - (ls :type string :initarg :ls :reader ls)) - (:metaclass kmrcl:ml-class) - (:default-initargs :styrl nil :rl nil :styrl2 nil :ls nil) - (:title "Structure of the Network") - (:fields (styrl :string) (rl :string) (styrl2 :string) (ls :string))) + ((styrl :value-type string :initarg :styrl :reader styrl) + (rl :value-type string :initarg :rl :reader rl) + (styrl2 :value-type string :initarg :styrl2 :reader styrl2) + (ls :value-type string :initarg :ls :reader ls)) + (:metaclass hyperobject-class) + (:user-name "Structure of the Network") + (:default-print-slots styrl rl styrl2 ls)) (defclass sstre1 (umlsclass) - ((ui :type integer :initarg :ui :reader ui) - (ui2 :type integer :initarg :ui2 :reader ui2) - (ui3 :type integer :initarg :ui3 :reader ui3)) - (:metaclass kmrcl:ml-class) - (:default-initargs :ui nil :ui2 nil :ui3 nil) - (:title "Fully Inherited Set of Releatons (TUI's)") - (:fields (ui :string fmt-tui) (ui2 :string fmt-tui) (ui3 :string fmt-tui))) + ((ui :value-type integer :initarg :ui :reader ui :print-formatter fmt-tui) + (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) + (:user-name "Fully Inherited Set of Relation (TUIs)" + "Fully Inherited Set of Relations (TUIs)") + (:default-print-slots ui ui2 ui3)) (defclass sstre2 (umlsclass) - ((sty :type string :initarg :ui :reader sty) - (rl :type string :initarg :ui2 :reader rl) - (sty2 :type string :initarg :ui3 :reader sty2)) - (:metaclass kmrcl:ml-class) - (:default-initargs :sty nil :rl nil :sty2 nil) - (:title "Fully Inherited Set of Releatons (strings)") - (:fields (sty :string) (rl :string) (sty2 :string))) - -;;; Formatting routines - -(defmethod fmt-cui ((c ucon)) - (format nil "C~7,'0d" (cui c))) - -(defmethod fmt-cui ((c fixnum)) - (format nil "C~7,'0d" c)) - -(defmethod fmt-cui ((c string)) - (if (eql (aref c 0) #\C) - c - (format nil "C~7,'0d" (parse-integer c)))) - -(defmethod fmt-cui ((c null)) - (format nil "nil")) - -(defmethod fmt-lui ((l uterm)) - (format nil "L~7,'0d" (lui l))) - -(defmethod fmt-lui ((l fixnum)) - (format nil "L~7,'0d" l)) - -(defmethod fmt-lui ((l string)) - (if (eql (aref l 0) #\L) - l - (format nil "L~7,'0d" (parse-integer l)))) - -(defmethod fmt-sui ((s ustr)) - (format nil "S~7,'0d" (sui s))) - -(defmethod fmt-sui ((s fixnum)) - (format nil "S~7,'0d" s)) - -(defmethod fmt-sui ((s string)) - (if (eql (aref s 0) #\S) - s - (format nil "S~7,'0d" (parse-integer s)))) - -(defmethod fmt-tui ((s fixnum)) - (format nil "T~3,'0d" s)) - -(defmethod fmt-tui ((s string)) - (if (eql (aref s 0) #\T) - s - (format nil "T~3,'0d" (parse-integer s)))) - -(defmethod fmt-eui ((e fixnum)) - (format nil "E~7,'0d" e)) - -(defmethod fmt-eui ((e string)) - (if (eql (aref e 0) #\E) - e - (format nil "E~7,'0d" (parse-integer e)))) - -(defmethod fmt-eui ((e null)) - (format nil "nil")) - -;;; Generic display functions - -(eval-when (:compile-toplevel :load-toplevel :execute) -(defun english-term-p (obj) - (and (eq (class-name (class-of obj)) 'uterm) - (string-equal (lat obj) "ENG")))) - -(defun display-umls-obj - (obj &key (os *standard-output*) (format :text) (label nil) - (file-wrapper t) (english-only nil) (subobjects nil) - (refvars nil)) - (display-ml-class - obj :os os :format format :label label :subobjects subobjects - :file-wrapper file-wrapper - :english-only-function (if english-only #'english-term-p nil) - :refvars refvars)) - -(defmacro defludisp-ml-class (newfuncname lookup-func) - "Defines functions for looking up and displaying objects" - `(defun ,newfuncname - (keyval &key (os *standard-output*) (format :text) (label nil) - (file-wrapper t) (english-only nil) (subobjects nil)) - (let ((obj (funcall ,lookup-func keyval))) - (display-umls-obj obj :os os :format format :label label - :file-wrapper file-wrapper :english-only english-only - :subobjects subobjects)))) - -(defludisp-ml-class disp-con #'find-ucon-cui) -(defludisp-ml-class disp-term #'find-uterm-lui) -(defludisp-ml-class disp-str #'find-ustr-sui) - + ((sty :value-type string :initarg :ui :reader sty) + (rl :value-type string :initarg :ui2 :reader rl) + (sty2 :value-type string :initarg :ui3 :reader sty2)) + (:metaclass hyperobject-class) + (: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."))