1 | LEXDFSO ; ISL Default Filter - Sources ; 09-23-96
|
---|
2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996
|
---|
3 | ;
|
---|
4 | ; Entry: S X=$$EN^LEXDFSO
|
---|
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^LEXDFSO
|
---|
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^LEXDCCC S:LEXX="^" LEXX="^^"
|
---|
16 | Q:LEXX["^^" "^^"
|
---|
17 | Q:$P(LEXX,"^",1)="" "^No filter selected"
|
---|
18 | D:$P(LEXX,"^",1)'="" ASSEM
|
---|
19 | Q LEXX
|
---|
20 | INTRO ; Introduction/Proceed
|
---|
21 | N LEXSAB D SAB
|
---|
22 | W !!,"You will be provided with ",LEXSAB," classifications systems to either include"
|
---|
23 | W !,"or exclude during Lexicon look-up. If you select a classification system"
|
---|
24 | W !,"(i.e., ICD) to be included, any terms which qualify during the search and are"
|
---|
25 | W !,"linked to an ""included"" classification code (example ICD code) will be "
|
---|
26 | W !,"included in the selection list."
|
---|
27 | Q
|
---|
28 | SAB N LEXI S LEXI="",LEXSAB=0
|
---|
29 | F S LEXI=$O(^LEX(757.03,"B",LEXI)) Q:LEXI="" D
|
---|
30 | . Q:'$D(^LEX(757.02,"ASRC",$E(LEXI,1,3)))
|
---|
31 | . S:'$D(^TMP("LEXTSAB",$J,$E(LEXI,1,3))) ^TMP("LEXTSAB",$J,$E(LEXI,1,3))="",LEXSAB=LEXSAB+1
|
---|
32 | K ^TMP("LEXTSAB",$J)
|
---|
33 | Q
|
---|
34 | PRO(LEXX) ; OK to proceed Y/N
|
---|
35 | N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT W !!
|
---|
36 | S DIR("A")="Do you wish to continue: ",DIR("B")="YES"
|
---|
37 | S DIR("?")="Answer Yes or No",DIR("??")="^D PROH^LEXDFSO"
|
---|
38 | S DIR(0)="YAO" D ^DIR S LEXX=Y Q LEXX
|
---|
39 | PROH ; Proceed help
|
---|
40 | W !!,?2,"Answer"
|
---|
41 | W !!,?4,"Yes Continue to build a filter based on Classification Codes"
|
---|
42 | W !,?4,"No Exit without building a filter",! Q
|
---|
43 | ASSEM ; Assemble the return value FILTER^NAME
|
---|
44 | N LEXNAM,LEXFIL S (LEXNAM,LEXFIL)="",LEXFIL=$P(LEXX,"^",1)
|
---|
45 | I $L($G(LEXFIL)) S LEXFIL="I $$SO^LEXU(Y,"_""""_LEXFIL_""""_")"
|
---|
46 | I LEXFIL[U S LEXNAM=$$NAME^LEXDM3 I LEXNAM="^^" S LEXX="^^"
|
---|
47 | S:LEXX["^^" LEXFIL="",LEXNAM="^" S LEXX=LEXFIL_"^"_LEXNAM Q
|
---|