;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: data-structures.lisp,v 1.6 2003/05/06 02:14:59 kevin Exp $
+;;;; $Id: data-structures.lisp,v 1.7 2003/05/06 06:09:29 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(defparameter *umls-cols* nil
"List of meta column structures. Used when parsing text files.")
+
+;; Preliminary objects to replace structures
+
+(defclass ufile ()
+ ((fil :initarg :fil)
+ (table :initarg :table)
+ (des :initarg :des)
+ (fmt :initarg :fmt)
+ (cls :initarg :cls)
+ (rws :initarg :rws)
+ (bts :initarg :bts)
+ (fields :initarg :fields)
+ (ucols :initarg ucols))
+ (:documentation "A UMLS File"))
+
+(defclass ucol ()
+ ((col :initarg :col)
+ (des :initarg des)
+ (ref :initarg ref)
+ (min :initarg :min)
+ (av :initarg :av)
+ (max :initarg :max)
+ (fil :initarg :fil)
+ (sqltype :initarg :sqltype)
+ (dty :initarg :dty :documentation "new in 2002: suggested SQL datatype")
+ (parsefunc :initarg :parsefunc)
+ (quotechar :initarg :quotechar)
+ (datatype :initarg :datatype)
+ (custom-value-func :initarg :custom-value-func))
+ (:documentation "A UMLS column"))
+
+(defstruct (umls-file)
+ "Record for each UMLS File"
+ fil table des fmt cls rws bts fields colstructs)
+
+(defstruct (umls-col)
+ "Record for each UMLS Column in each file"
+ col des ref min av max fil sqltype
+ dty ;; new in 2002 umls: suggested SQL datatype
+ parsefunc quotechar datatype custom-value-func)
+
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: parse-2002.lisp,v 1.5 2002/11/10 22:39:15 kevin Exp $
+;;;; $Id: parse-2002.lisp,v 1.6 2003/05/06 06:09:29 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(setf (gethash key hash) lrl))))
;; UMLS file and column structures
-
-(defstruct (umls-file)
- "Record for each UMLS File"
- fil table des fmt cls rws bts fields colstructs)
-
-(defstruct (umls-col)
- "Record for each UMLS Column in each file"
- col des ref min av max fil sqltype
- dty ;; new in 2002 umls: suggested SQL datatype
- parsefunc quotechar datatype custom-value-func)
-
;;; SQL datatypes symbols
;;; sql-u - Unique identifier
;;; sql-s - Small integer (16-bit)
(lambda (x) (format nil "~d" (make-cuisui (parse-ui (nth 2 x)) (parse-ui (nth 4 x))))))
("MRXW.NONENG" "LAT" "CHAR" 3 (lambda (x) (nth 0 x)))
("MRXW.NONENG" "WD" "CHAR" 200 (lambda (x) (nth 1 x)))
- ("MRXW.NONENG" "CUI" "INTEGER" 0 (lambda (x) (nth 2 x)))
- ("MRXW.NONENG" "LUI" "INTEGER" 0 (lambda (x) (nth 3 x)))
- ("MRXW.NONENG" "SUI" "INTEGER" 0 (lambda (x) (nth 4 x)))
+ ("MRXW.NONENG" "CUI" "INTEGER" 0 (lambda (x) (parse-ui (nth 2 x))))
+ ("MRXW.NONENG" "LUI" "INTEGER" 0 (lambda (x) (parse-ui (nth 3 x))))
+ ("MRXW.NONENG" "SUI" "INTEGER" 0 (lambda (x) (parse-ui (nth 4 x))))
("MRXW.NONENG" "KCUISUI" "BIGINT" 0
(lambda (x) (format nil "~d" (make-cuisui (parse-ui (nth 2 x)) (parse-ui (nth 4 x)))))))
"Custom columns to create.(filename, col, sqltype, value-func).")
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: parse-macros.lisp,v 1.5 2003/05/06 02:19:46 kevin Exp $
+;;;; $Id: parse-macros.lisp,v 1.6 2003/05/06 06:09:29 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(in-package #:umlisp)
+(eval-when (:compile-toplevel)
+ (declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
(defmacro with-umls-file ((line filename) &body body)
"Opens a UMLS and processes each parsed line with (body) argument"
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: sql-create.lisp,v 1.15 2003/05/06 05:35:48 kevin Exp $
+;;;; $Id: sql-create.lisp,v 1.16 2003/05/06 06:09:29 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(defun make-noneng-index-file (extension)
"Make non-english index file"
- (translate-files "MRXW.NONEN" extension (noneng-lang-index-files)))
+ (translate-files "MRXW.NONENG" extension (noneng-lang-index-files)))
(defun translate-files (output-basename extension input-files)
"Translate a umls file into a format suitable for sql copy cmd"