| 1 | LEXDFST ; ISL Default Filter - Semantic Types      ; 09-23-96
 | 
|---|
| 2 |  ;;2.0;LEXICON UTILITY;;Sep 23, 1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; Entry:  S X=$$EN^LEXDFST
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ; LEXFIL    Filter (executable)
 | 
|---|
| 7 |  ; LEXNAM    Filter Name
 | 
|---|
| 8 |  ; LEXPRO    Y/N response to proceed with building filter
 | 
|---|
| 9 |  ; LEXSTR    Filter parameters (string)
 | 
|---|
| 10 |  ; LEXX      Filter returned
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | EN(LEXX) ; Entry point S X=$$EN^LEXDFST
 | 
|---|
| 13 |  N LEXFIL,LEXPRO S LEXFIL=0 D INTRO S LEXPRO=$$PRO
 | 
|---|
| 14 |  Q:LEXPRO["^" LEXPRO Q:LEXPRO'=1 "^No filter selected"
 | 
|---|
| 15 |  S LEXX=$$EN^LEXDFSB Q:LEXX["^^" "^^"
 | 
|---|
| 16 |  Q:$P(LEXX,"^",1)="" "^No filter selected"
 | 
|---|
| 17 |  D:$P(LEXX,"^",1)'="" ASSEM
 | 
|---|
| 18 |  Q LEXX
 | 
|---|
| 19 | INTRO ; Introduction/Proceed
 | 
|---|
| 20 |  W @IOF
 | 
|---|
| 21 |  W !!,"You will be provided with ",($P(^LEX(757.11,0),U,4))-1," semantic classes.  By selecting a semantic"
 | 
|---|
| 22 |  W !,"class, each term which is found during a search of the Lexicon, and belongs"
 | 
|---|
| 23 |  W !,"to that class will be displayed for your selection.  Additionally, each"
 | 
|---|
| 24 |  W !,"semantic class contains semantic types (or sub-category) which may be excluded"
 | 
|---|
| 25 |  W !,"during the search.  Terms belonging to an ""included"" semantic class will be"
 | 
|---|
| 26 |  W !,"displayed unless they also belong to an ""excluded"" semantic type."
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | PRO(LEXX) ; OK to proceed Y/N
 | 
|---|
| 29 |  N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT W !!
 | 
|---|
| 30 |  S DIR("A")="Do you wish to continue:  ",DIR("B")="YES"
 | 
|---|
| 31 |  S DIR("?")="Answer Yes or No",DIR("??")="^D PROH^LEXDFST"
 | 
|---|
| 32 |  S DIR(0)="YAO" D ^DIR S LEXX=Y Q LEXX
 | 
|---|
| 33 | PROH ; Proceed help
 | 
|---|
| 34 |  W !!,?2,"Answer"
 | 
|---|
| 35 |  W !!,?4,"Yes     Continue to build a filter based on Semantic Types"
 | 
|---|
| 36 |  W !,?4,"No      Exit without building a filter",! Q
 | 
|---|
| 37 | ASSEM ; Assemble the return value FILTER^NAME
 | 
|---|
| 38 |  N LEXNAM,LEXFIL S (LEXNAM,LEXFIL)="",LEXFIL=$P(LEXX,"^",1)
 | 
|---|
| 39 |  I $L($G(LEXFIL)) S LEXFIL="I $$SC^LEXU(Y,"_""""_LEXFIL_""""_")"
 | 
|---|
| 40 |  I LEXFIL[U S LEXNAM=$$NAME^LEXDM3 I LEXNAM="^^" S LEXX="^^"
 | 
|---|
| 41 |  S:LEXX["^^" LEXFIL="",LEXNAM="^" S LEXX=LEXFIL_"^"_LEXNAM Q
 | 
|---|