[613] | 1 | LEXDFSI ; ISL Default Filter - Include Semantics ; 09-23-96
|
---|
| 2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996;Build 1
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | ; Called from LEXDFSB (set the INCLUDE/EXCLUDE string)
|
---|
| 6 | ;
|
---|
| 7 | ; LEXC Counter
|
---|
| 8 | ; LEXCC Semantic Class Mnemonic
|
---|
| 9 | ; LEXCCN Semantic Class Counter
|
---|
| 10 | ; LEXCCOK Semantic Class OK (Y/N)
|
---|
| 11 | ; LEXCCR Semantic Class Pointer in #757.11
|
---|
| 12 | ; LEXF Flag for user input
|
---|
| 13 | ; LEXS Semantic Type Sources from #757.03
|
---|
| 14 | ; LEXX String returned to LEXDSTS
|
---|
| 15 | ;
|
---|
| 16 | EN(LEXX) ; Semantic Type string INCLUDE/EXCLUDE
|
---|
| 17 | K LEXA N LEXF S LEXX="",LEXF=1
|
---|
| 18 | D CLASS Q LEXX
|
---|
| 19 | ;
|
---|
| 20 | CLASS ; Semantic Classes
|
---|
| 21 | N LEXCCOK,LEXCC,LEXCCR,LEXCCN S (LEXCCOK,LEXCC)=""
|
---|
| 22 | F S LEXCC=$O(^LEX(757.11,"B",LEXCC)) Q:LEXCC=""!(LEXCCOK[U) D
|
---|
| 23 | . S LEXCCOK=0 I LEXCC'="UNK" D Q:LEXCCOK[U
|
---|
| 24 | . . S LEXCCR=$$IEN(LEXCC),LEXCCN=+($G(LEXCCN))+1
|
---|
| 25 | . . W !!,$J(LEXCCN,2),": ",$$CC(LEXCCR)," ",$$NAME(LEXCCR),!
|
---|
| 26 | . . D SY(LEXCCR),CAT(LEXCCR)
|
---|
| 27 | . . D:+($G(LEXF)) INCLUDE I LEXCCOK D SAVE(LEXCCR)
|
---|
| 28 | . Q:LEXCCOK["^" I LEXCCOK D EXCLUDE
|
---|
| 29 | I +($G(LEXF))>0 S LEXX=LEXCCOK
|
---|
| 30 | Q
|
---|
| 31 | ;
|
---|
| 32 | SY(LEXX) ; List Classification Systems
|
---|
| 33 | N LEXS,LEXC Q:'$D(^LEX(757.11,LEXX,2,"B")) S LEXS="",LEXC=0
|
---|
| 34 | W !!,?4,"This Semantic Class contains terms from, or mapped to,"
|
---|
| 35 | W !,?4,"the following classification systems: ",!
|
---|
| 36 | F S LEXS=$O(^LEX(757.11,LEXX,2,"B",LEXS)) Q:LEXS="" D
|
---|
| 37 | . S LEXC=LEXC+1 W:LEXC=1 ! W:LEXC=1 ?8,LEXS
|
---|
| 38 | . W:LEXC=2 ?32,LEXS W:LEXC=3 ?56,LEXS S:LEXC=3 LEXC=0
|
---|
| 39 | W ! Q
|
---|
| 40 | CAT(LEXX) ; List semantic types
|
---|
| 41 | N LEXC S LEXC=0 Q:'$D(^LEX(757.11,LEXX,1,0))
|
---|
| 42 | W !!,?4,"Semantic Types: ",!
|
---|
| 43 | F S LEXC=$O(^LEX(757.11,LEXX,1,LEXC)) Q:+LEXC=0 D
|
---|
| 44 | . W !,?4,^LEX(757.11,LEXX,1,LEXC,0)
|
---|
| 45 | Q
|
---|
| 46 | CC(LEXX) ; Semantic Class Mnemonic
|
---|
| 47 | Q $P(^LEX(757.11,LEXX,0),U,1)
|
---|
| 48 | NAME(LEXX) ; Semantic Class Name
|
---|
| 49 | Q $P(^LEX(757.11,LEXX,0),U,2)
|
---|
| 50 | IEN(LEXX) ; Internal Entry number based on Semantic Class
|
---|
| 51 | S LEXX=$O(^LEX(757.11,"B",LEXX,0)) Q LEXX
|
---|
| 52 | ;
|
---|
| 53 | INCLUDE ; Include a Semantic Classes
|
---|
| 54 | W ! N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 55 | S DIR("A")="Include this class: "
|
---|
| 56 | S (DIR("??"),DIR("?"))="^D INH^LEXDFSI"
|
---|
| 57 | S DIR("B")="YES",DIR(0)="YAO"
|
---|
| 58 | D ^DIR K DIR S LEXCCOK=Y Q
|
---|
| 59 | ;
|
---|
| 60 | INH ; Include help
|
---|
| 61 | W !!," Semantic Class: "
|
---|
| 62 | W $$CC(LEXCCR)," - ",$$NAME(LEXCCR) Q
|
---|
| 63 | ;
|
---|
| 64 | EXCLUDE ; Exclude Semantic Types
|
---|
| 65 | W ! N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 66 | S DIR("A",1)="Do you want to ""exclude"" any of"
|
---|
| 67 | S DIR("A")="the semantic types listed above: "
|
---|
| 68 | S DIR("B")="NO",(DIR("?"),DIR("??"))="^D EXH^LEXDFSI",DIR(0)="YAO"
|
---|
| 69 | D ^DIR K DIR S LEXCCOK=0 S:Y["^^" LEXCCOK=Y D:+Y>0 EN^LEXDFSE(LEXCCR) Q
|
---|
| 70 | EXH ; Exclude help
|
---|
| 71 | W !!,"By including the semantical class ",$$CC(LEXCCR)
|
---|
| 72 | W " you will also be including"
|
---|
| 73 | W !,"all of the semantical types contained within the class." Q
|
---|
| 74 | ;
|
---|
| 75 | SAVE(LEXX) ; Save Semantic Class
|
---|
| 76 | Q:LEXCCOK[U N LEXC S LEXCCOK=1,LEXC=$G(LEXA(0))+1
|
---|
| 77 | S LEXA(0)=LEXC,LEXA(LEXC,0)=$$CC(LEXX),LEXA(LEXC,1,0)=0,LEXA(LEXC,2,0)=0 Q
|
---|