- LEXLK ;ISL/KER - Demo Look Up ;04/21/2014
- ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 10
- ;
- ; Global Variables
- ; None
- ;
- ; External References
- ; YN^DICN ICR 10009
- ;
- EN ; Initialize variables
- W @IOF N LEXSF,LEXCONT,LEXCLAS,LEXDEF,LEXDIS,LEXEXP,LEXFORM
- N LEXFM,LEXMC,LEXCODE,LEXSRC,LEXSO,LEXLINE,LEXSPC,LEXNOM
- N LEXX,LEXY,LEXYPE,LEXEMP,LEXCHK,X,Y,LEXAP S LEXSF=1
- W @IOF D LOOK G EXIT
- LOOK ; Look-up term
- W !! K X S LEXAP=1 D ^LEXA1 K DIC D:+($$Y) MORE
- AGAIN ; Try again?
- W !,"Try another" S %=$S(+($$X):1,1:2)
- D YN^DICN I %=-1!(%=2) Q
- I '% W !!,"You have searched for a term in the Lexicon, do you want to" G AGAIN
- I +($$X)&(%=1) G LOOK
- I '+($$X)&(%=1) G LOOK
- I (+($$X)&(%=2))!('+($$X)&(%=1)) Q
- G LOOK Q
- MORE ; Do you want more information?
- W !!,"Do you want more information" S %=1 D YN^DICN Q:%=-1
- I '% D G MORE
- . W !!,"The Lexicon also contains definitions (on most major concepts),"
- . W !,"codes (from major coding systems, i.e., ICD, CPT, NANDA, etc.),"
- . W !,"synonyms, lexical variants, and semantic classifications for each"
- . W !,"term by class and type."
- Q:%=2 D:%=1 DISP
- Q
- DISP ; If requested, get and display information
- Q:'+($$Y) D GET^LEXLK2(Y) Q:'$G(LEX(0))
- D LIST^LEXLK2
- Q
- EXIT ; Clean up environment and quit
- K %,DIC,DIR,DIROUT,DIRUT,DTOUT,DUOUT,LEX,LEXB,LEXC,LEXCHK,LEXCL
- K LEXCLAS,LEXCODE,LEXCT,LEXCONT,LEXDEF,LEXDIS,LEXE,LEXEMP
- K LEXEXP,LEXF,LEXFM,LEXFORM,LEXLC,LEXLINE,LEXLN,LEXMC,LEXMCE
- K LEXNOM,LEXSCP,LEXSF,LEXSO,LEXSPC,LEXSPCR,LEXSR,LEXSRC
- K LEXSTR,LEXT,LEXTT,LEXX,LEXY,LEXYPE,X,Y
- Q
- X(LEX) ; Evaluate X
- Q:$L($G(X)) 1 Q 0
- Y(LEX) ; Evaluate Y
- Q:+($G(Y))>1 1 Q 0
- LEXLK ;ISL/KER - Demo Look Up ;04/21/2014
- +1 ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 10
- +2 ;
- +3 ; Global Variables
- +4 ; None
- +5 ;
- +6 ; External References
- +7 ; YN^DICN ICR 10009
- +8 ;
- EN ; Initialize variables
- +1 WRITE @IOF
- NEW LEXSF,LEXCONT,LEXCLAS,LEXDEF,LEXDIS,LEXEXP,LEXFORM
- +2 NEW LEXFM,LEXMC,LEXCODE,LEXSRC,LEXSO,LEXLINE,LEXSPC,LEXNOM
- +3 NEW LEXX,LEXY,LEXYPE,LEXEMP,LEXCHK,X,Y,LEXAP
- SET LEXSF=1
- +4 WRITE @IOF
- DO LOOK
- GOTO EXIT
- LOOK ; Look-up term
- +1 WRITE !!
- KILL X
- SET LEXAP=1
- DO ^LEXA1
- KILL DIC
- IF +($$Y)
- DO MORE
- AGAIN ; Try again?
- +1 WRITE !,"Try another"
- SET %=$SELECT(+($$X):1,1:2)
- +2 DO YN^DICN
- IF %=-1!(%=2)
- QUIT
- +3 IF '%
- WRITE !!,"You have searched for a term in the Lexicon, do you want to"
- GOTO AGAIN
- +4 IF +($$X)&(%=1)
- GOTO LOOK
- +5 IF '+($$X)&(%=1)
- GOTO LOOK
- +6 IF (+($$X)&(%=2))!('+($$X)&(%=1))
- QUIT
- +7 GOTO LOOK
- QUIT
- MORE ; Do you want more information?
- +1 WRITE !!,"Do you want more information"
- SET %=1
- DO YN^DICN
- IF %=-1
- QUIT
- +2 IF '%
- Begin DoDot:1
- +3 WRITE !!,"The Lexicon also contains definitions (on most major concepts),"
- +4 WRITE !,"codes (from major coding systems, i.e., ICD, CPT, NANDA, etc.),"
- +5 WRITE !,"synonyms, lexical variants, and semantic classifications for each"
- +6 WRITE !,"term by class and type."
- End DoDot:1
- GOTO MORE
- +7 IF %=2
- QUIT
- IF %=1
- DO DISP
- +8 QUIT
- DISP ; If requested, get and display information
- +1 IF '+($$Y)
- QUIT
- DO GET^LEXLK2(Y)
- IF '$GET(LEX(0))
- QUIT
- +2 DO LIST^LEXLK2
- +3 QUIT
- EXIT ; Clean up environment and quit
- +1 KILL %,DIC,DIR,DIROUT,DIRUT,DTOUT,DUOUT,LEX,LEXB,LEXC,LEXCHK,LEXCL
- +2 KILL LEXCLAS,LEXCODE,LEXCT,LEXCONT,LEXDEF,LEXDIS,LEXE,LEXEMP
- +3 KILL LEXEXP,LEXF,LEXFM,LEXFORM,LEXLC,LEXLINE,LEXLN,LEXMC,LEXMCE
- +4 KILL LEXNOM,LEXSCP,LEXSF,LEXSO,LEXSPC,LEXSPCR,LEXSR,LEXSRC
- +5 KILL LEXSTR,LEXT,LEXTT,LEXX,LEXY,LEXYPE,X,Y
- +6 QUIT
- X(LEX) ; Evaluate X
- +1 IF $LENGTH($GET(X))
- QUIT 1
- QUIT 0
- Y(LEX) ; Evaluate Y
- +1 IF +($GET(Y))>1
- QUIT 1
- QUIT 0