1 | LEXNDX1 ; ISL Set/kill indexes (Part 1) ; 09-23-96
|
---|
2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996
|
---|
3 | ;
|
---|
4 | S ; Set Expression file (#757.01) word index node AWRD
|
---|
5 | Q:'$D(X)!('$D(DA)) Q:$D(DIC)#2=0
|
---|
6 | Q:'$D(@(DIC_DA_",0)")) Q:'$D(@(DIC_DA_",1)")) Q:+($P(@(DIC_DA_",1)"),U,1))=0
|
---|
7 | N LEXIDX,LEXJ,LEXI,LEXTYPE,LEXT S LEXTYPE=+X Q:LEXTYPE'>0
|
---|
8 | S LEXT=$P($G(^LEX(757.011,LEXTYPE,0)),"^",2) Q:+LEXT=0
|
---|
9 | S LEXTYPE=$P($G(^LEX(757.011,LEXTYPE,0)),"^",1) D:LEXTYPE["DELETED" U
|
---|
10 | S X=@(DIC_DA_",0)") S:X'="" ^LEX(757.01,"B",$$UP^XLFSTR($E(X,1,63)),DA)=""
|
---|
11 | S LEXEX=$P(^LEX(757,$P(^LEX(757.01,DA,1),U,1),0),U,1),LEXIDX=""
|
---|
12 | D PTX^LEXTOLKN
|
---|
13 | I $D(^TMP("LEXTKN",$J,0)),^TMP("LEXTKN",$J,0)>0 S LEXI="" F LEXJ=1:1:^TMP("LEXTKN",$J,0) D
|
---|
14 | . S LEXI=$O(^TMP("LEXTKN",$J,LEXJ,""))
|
---|
15 | . I '$D(^LEX(757.01,"AWRD",LEXI,LEXEX)) D
|
---|
16 | . . S:'$D(^LEX(757.01,DA,4,"B",LEXI)) ^LEX(757.01,"AWRD",LEXI,LEXEX,DA)=""
|
---|
17 | D L K LEXIDX,LEXEX,LEXI,LEXTYPE,LEXT,LEXJ,^TMP("LEXTKN",$J,0),^TMP("LEXTKN",$J) Q
|
---|
18 | ;
|
---|
19 | K ; Kill Expression file (#757.01) word index node AWRD
|
---|
20 | Q:'$D(X)!('$D(DA)) D U
|
---|
21 | Q:'$D(^LEX(757.01,DA,0)) Q:+($P(^LEX(757.01,DA,1),U,1))=0
|
---|
22 | N LEXTYPE,LEXT S LEXTYPE=+X Q:LEXTYPE'>0
|
---|
23 | S LEXT=$P($G(^LEX(757.011,LEXTYPE,0)),"^",2) Q:+LEXT=0
|
---|
24 | N LEXIDX,LEXJ,LEXI S X=^LEX(757.01,DA,0),LEXIDX=""
|
---|
25 | D PTX^LEXTOLKN I $D(^TMP("LEXTKN",$J,0)),^TMP("LEXTKN",$J,0)>0 S LEXI="" F LEXJ=1:1:^TMP("LEXTKN",$J,0) D
|
---|
26 | . S LEXI=$O(^TMP("LEXTKN",$J,LEXJ,""))
|
---|
27 | . K ^LEX(757.01,"AWRD",LEXI,DA)
|
---|
28 | K LEXIDX,LEXTYPE,LEXI,LEXJ,^TMP("LEXTKN",$J,0),^TMP("LEXTKN",$J) Q
|
---|
29 | L ; Link words
|
---|
30 | N DIC,LEXDEXP D KILL^LEXNDX2 S LEXDEXP=DA
|
---|
31 | ; For Subsets
|
---|
32 | I $D(^LEX(757.21,"B",LEXDEXP)) D
|
---|
33 | . S DA=0 F S DA=$O(^LEX(757.21,"B",LEXDEXP,DA)) Q:+DA=0 D
|
---|
34 | . . N X S X=$P(^LEX(757.21,DA,0),U,2) Q:+X<1 D SS^LEXNDX2
|
---|
35 | ; For Replacement Words
|
---|
36 | I $D(^LEX(757.05,"AEXP",LEXDEXP)) D
|
---|
37 | . S DA=0 F S DA=$O(^LEX(757.05,"AEXP",LEXDEXP,DA)) Q:+DA=0 D
|
---|
38 | . . N X,LEXMC S X=$P(^LEX(757.05,DA,0),U,1) Q:X=""
|
---|
39 | . . S LEXMC=$P($G(^LEX(757.01,LEXDEXP,1)),U,1) Q:+LEXMC'>0
|
---|
40 | . . S ^LEX(757.01,"AWRD",X,LEXDEXP,"LINKED")=""
|
---|
41 | S DA=LEXDEXP
|
---|
42 | Q
|
---|
43 | U ; Unlink words
|
---|
44 | N DIC,LEXDEXP D KILL^LEXNDX2 S LEXDEXP=DA
|
---|
45 | ; For Subsets
|
---|
46 | I $D(^LEX(757.21,"B",LEXDEXP)) D
|
---|
47 | . S DA=0 F S DA=$O(^LEX(757.21,"B",LEXDEXP,DA)) Q:+DA=0 D
|
---|
48 | . . N X S X=$P(^LEX(757.21,DA,0),U,2) Q:+X<1 D SK^LEXNDX2
|
---|
49 | ; For Replacement Words
|
---|
50 | I $D(^LEX(757.05,"AEXP",LEXDEXP)) D
|
---|
51 | . S DA=0 F S DA=$O(^LEX(757.05,"AEXP",LEXDEXP,DA)) Q:+DA=0 D
|
---|
52 | . . N X,LEXMC S X=$P(^LEX(757.05,DA,0),U,1) Q:X=""
|
---|
53 | . . S LEXMC=$P($G(^LEX(757.01,LEXDEXP,1)),U,1) Q:+LEXMC'>0
|
---|
54 | . . K ^LEX(757.01,"AWRD",X,LEXDEXP,"LINKED")
|
---|
55 | S DA=LEXDEXP
|
---|
56 | Q
|
---|
57 | REIDXMC ; Re-Index Expression file word index AWRD
|
---|
58 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
59 | N LEXIDX,LEXREIX,DA,X S DA=0,X="",(LEXREIX,LEXIDX)="" K ^TMP("LEXSTOP","REIDXMC")
|
---|
60 | F S DA=$O(^LEX(757.01,DA)) Q:+DA=0!($D(^TMP("LEXSTOP","REIDXMC"))) D
|
---|
61 | . S X=$P(^LEX(757.01,DA,1),U,2) D S
|
---|
62 | K ^TMP("LEXSTOP","REIDXMC"),LEXIDX,DA,X
|
---|
63 | Q
|
---|
64 | RMC ; Re-Index Expression file word index AWRD (Task Manager)
|
---|
65 | S ZTRTN="REIDXMC^LEXNDX1"
|
---|
66 | S ZTDESC="Re-Indexing Major Concept Words in ""AWRD"" index"
|
---|
67 | S ZTIO="",ZTDTH=$H D ^%ZTLOAD,HOME^%ZIS W:$D(ZTSK) !!,"Re-Indexing Major Concept Words in ""AWRD"" index" W:'$D(ZTSK) !!,"Task to re-index Major Concept not created"
|
---|
68 | K ZTDTH,ZTDESC,ZTIO,ZTRTN
|
---|
69 | Q
|
---|
70 | RALL ; Re-Index entire file (needs DIC)
|
---|
71 | S DIK=$G(DIC) Q:DIK="" Q:'$D(@(DIK_"0)"))
|
---|
72 | S ZTREQ="@",(ZTSAVE("ZTREQ"),ZTSAVE("DIK"))="",ZTRTN="IXALL^DIK"
|
---|
73 | S ZTDESC="Re-Indexing "_DIK
|
---|
74 | S ZTIO="",ZTDTH=$H D ^%ZTLOAD,HOME^%ZIS
|
---|
75 | K ZTDTH,ZTDESC,ZTIO,ZTRTN,ZTREQ,ZTSAVE
|
---|
76 | Q
|
---|