Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LEXRXXT2

LEXRXXT2.m

Go to the documentation of this file.
  1. LEXRXXT2 ;ISL/KER - Repair/Re-Index - Task (cont) ;08/17/2011
  1. ;;2.0;LEXICON UTILITY;**81**;Sep 23, 1996;Build 10
  1. ;
  1. ; Global Variables
  1. ; ^LEX( SACC 1.3
  1. ; ^LEXT( SACC 1.3
  1. ; ^TMP("LEXRX") SACC 2.3.2.5.1
  1. ; ^XTMP("LEXRX") SACC 2.3.2.5.2
  1. ;
  1. ; External References
  1. ; None
  1. ;
  1. ; Local Variables NEWed or KILLed Elsewhere
  1. ; LEXFI File number NEWed/KILLed by LEXRX
  1. ; ZTQUEUED Task flag NEWed/KILLed by Taskman
  1. ; ZTREQ Task Request NEWed/KILLed by Taskman
  1. ; ZTSK Task Number NEWed/KILLed by Taskman
  1. ;
  1. Q
  1. ALLT ; - Tasked Repair/Re-Index all Lexicon Files
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTSK,LEXSUBJ,LEXSET
  1. S (LEXSUBJ,LEXT)="Repair/re-index all of the Lexicon files"
  1. S LEXSET="",LEXNAM="LEXRXALL"
  1. S LEXTC=$$UPD^LEXRXXT3(LEXNAM,LEXT) G:+LEXTC=1 ET
  1. S LEXFMT=3,LEXTSK=0
  1. S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. D BEG^LEXRXXM,EN^LEXRXA,EN^LEXRXB,EN^LEXRXC,EN^LEXRXD
  1. D EN^LEXRXE,EN^LEXRXF,EN^LEXRXG,EN^LEXRXS,END^LEXRXXM
  1. D SEND^LEXRXXS,PRG
  1. G ET
  1. Q
  1. MAJT ; - Tasked Repair all Lookup Related Lexicon Files
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTSK,LEXSUBJ,LEXSET
  1. S (LEXSUBJ,LEXT)="Repair the major Lexicon files"
  1. S LEXSET="",LEXNAM="LEXRXMAJ"
  1. S LEXTC=$$UPD^LEXRXXT3(LEXNAM,LEXT) G:+LEXTC=1 ET
  1. S LEXFMT=1,LEXTSK=0
  1. S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. D BEG^LEXRXXM,EN^LEXRXA,EN^LEXRXB,EN^LEXRXC,EN^LEXRXD
  1. D EN^LEXRXE,EN^LEXRXF,EN^LEXRXG,END^LEXRXXM
  1. D SEND^LEXRXXS,PRG S LEXTC=$$UPD^LEXRXXT3(LEXNAM)
  1. G ET
  1. Q
  1. SUPT ; - Tasked Re-Index all Supporting Lexicon Files
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTSK,LEXSUBJ,LEXSET
  1. S (LEXSUBJ,LEXT)="Re-indexing the supporting Lexicon files"
  1. S LEXSET="",LEXNAM="LEXRXSUP"
  1. S LEXTC=$$UPD^LEXRXXT3(LEXNAM,LEXT) G:+LEXTC=1 ET
  1. S LEXFMT=2,LEXTSK=0
  1. S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. D BEG^LEXRXXM,EN^LEXRXS,END^LEXRXXM
  1. D SEND^LEXRXXS,PRG S LEXTC=$$UPD^LEXRXXT3(LEXNAM)
  1. G ET
  1. Q
  1. ONET ; - Tasked Repair/Re-Index one file
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTY,LEXTSK,LEXFN
  1. N LEXSUBJ,LEXSET S LEXFI=+($G(LEXFI)) G:LEXFI'>0 ET
  1. G:$E(LEXFI,1,3)'=757 ET G:'$D(^LEX(+LEXFI))&('$D(^LEXT(+LEXFI))) ET
  1. S LEXFN=$$FN^LEXRXXM(LEXFI) G:'$L(LEXFN) ET S LEXTY=""
  1. S:"^757^757.001^757.01^757.02^757.1^757.21^757.33^"[("^"_LEXFI_"^") LEXTY="Repair",LEXFMT=1
  1. S:'$L(LEXTY) LEXTY="Re-Index",LEXFMT=2
  1. S LEXT=LEXTY,LEXT=LEXT_" the "_LEXFN_" file #"_LEXFI
  1. S LEXSET="",LEXSUBJ=LEXT,LEXNAM="LEXRXONE"
  1. S LEXTC=$$UPD^LEXRXXT3(LEXNAM,LEXT) G:+LEXTC=1 ET
  1. S LEXFMT=2,LEXTSK=0 S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. I LEXFI>0 D
  1. . N LEXTAG,LEXENT S LEXTAG="R"_$TR(LEXFI,".","")
  1. . S LEXENT=$T(@LEXTAG) Q:'$L(LEXENT)
  1. . K LEXQ D BEG^LEXRXXM,@LEXTAG,END^LEXRXXM,SEND^LEXRXXS
  1. D PRG S LEXTC=$$UPD^LEXRXXT3(LEXNAM)
  1. G ET
  1. Q
  1. SET ; - Tasked Set Logic Only
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTY,LEXTSK,LEXFN
  1. N LEXSUBJ,LEXSET,LEXFIX,LEXQ S LEXQ="" S LEXFI=+($G(LEXFI)) G:LEXFI'>0 ET
  1. G:$E(LEXFI,1,3)'=757 ET G:'$D(^LEX(+LEXFI))&('$D(^LEXT(+LEXFI))) ET
  1. S LEXFN=$$FN^LEXRXXM(LEXFI) G:'$L(LEXFN) ET
  1. S LEXT="Re-Index file #"_LEXFI_", Set Logic Only"
  1. S LEXSET="",LEXSUBJ=LEXT,LEXNAM="LEXRXSET"
  1. S LEXTSK=0 S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. I LEXFI>0 D
  1. . N LEXTAG,LEXENT,LEXSET
  1. . S LEXTAG="S"_$TR(LEXFI,".",""),LEXENT=$T(@LEXTAG)
  1. . I '$L(LEXENT) S LEXTAG="R"_$TR(LEXFI,".",""),LEXENT=$T(@LEXTAG)
  1. . Q:'$L(LEXENT) K LEXFIX S LEXSET="",LEXQ="" D @LEXTAG
  1. K ^TMP("LEXRX",$J),^XTMP(LEXNAM)
  1. G ET
  1. Q
  1. FIX ; - Tasked Set Logic Only with Fix
  1. K ^TMP("LEXRX",$J)
  1. N LEXDES,LEXNAM,LEXFMT,LEXS,LEXT,LEXTC,LEXTY,LEXTSK,LEXFN
  1. N LEXSUBJ,LEXSET,LEXFIX,LEXQ S LEXQ="" S LEXFI=+($G(LEXFI)) G:LEXFI'>0 ET
  1. G:$E(LEXFI,1,3)'=757 ET G:'$D(^LEX(+LEXFI))&('$D(^LEXT(+LEXFI))) ET
  1. Q:"^757.001^757.21^757.33^"'[("^"_LEXFI_"^")
  1. S LEXFN=$$FN^LEXRXXM(LEXFI) G:'$L(LEXFN) ET
  1. S LEXT="Fix/Re-Index file #"_LEXFI_", Set Logic Only"
  1. S LEXSET="",LEXSUBJ=LEXT,LEXNAM="LEXRXFIX"
  1. S LEXTSK=0 S:+($G(ZTSK))>0 LEXTSK=+ZTSK
  1. I LEXFI>0 D
  1. . N LEXTAG,LEXENT
  1. . S LEXTAG="F"_$TR(LEXFI,".",""),LEXENT=$T(@LEXTAG)
  1. . Q:'$L(LEXENT) K LEXFIX S LEXSET="",LEXQ="" D @LEXTAG
  1. K ^TMP("LEXRX",$J),^XTMP(LEXNAM)
  1. G ET
  1. Q
  1. ;
  1. R ; Repair/Re-index
  1. R757 ; File #757
  1. N LEXSET S LEXSET="" K LEXQ D R757^LEXRXA Q
  1. R757001 ; File #757.001
  1. N LEXSET S LEXSET="" K LEXQ D R757001^LEXRXB Q
  1. R75701 ; File #757.01
  1. N LEXSET S LEXSET="" K LEXQ D R75701^LEXRXC Q
  1. R75702 ; File #757.02
  1. N LEXSET S LEXSET="" K LEXQ D R75702^LEXRXD Q
  1. R7571 ; File #757.1
  1. N LEXSET S LEXSET="" K LEXQ D R7571^LEXRXE Q
  1. R75721 ; File #757.21
  1. N LEXSET S LEXSET="" K LEXQ D R75721^LEXRXF Q
  1. R75733 ; File #757.33
  1. N LEXSET S LEXSET="" K LEXQ D R75733^LEXRXG Q
  1. R757011 ; File #757.011
  1. D R757011^LEXRXS Q
  1. R757014 ; File #757.014
  1. D R757014^LEXRXS Q
  1. R75703 ; File #757.03
  1. D R75703^LEXRXS Q
  1. R75704 ; File #757.04
  1. D R75704^LEXRXS Q
  1. R75705 ; File #757.05
  1. D R75705^LEXRXS Q
  1. R75706 ; File #757.06
  1. D R75706^LEXRXS Q
  1. R75711 ; File #757.11
  1. D R75711^LEXRXS Q
  1. R75712 ; File #757.12
  1. D R75712^LEXRXS Q
  1. R75713 ; File #757.13
  1. D R75713^LEXRXS2 Q
  1. R75714 ; File #757.14
  1. D R75714^LEXRXS2 Q
  1. R7573 ; File #757.3
  1. D R7573^LEXRXS2 Q
  1. R75731 ; File #757.31
  1. D R75731^LEXRXS2 Q
  1. R75732 ; File #757.32
  1. D R75732^LEXRXS2 Q
  1. R7574 ; File #757.4
  1. D R7574^LEXRXS2 Q
  1. R75741 ; File #757.41
  1. D R75741^LEXRXS2 Q
  1. R7572 ; File #757.2
  1. D R7572^LEXRXS2 Q
  1. ;
  1. S ; Set Logic Only
  1. S757 ; File #757
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXA Q
  1. S757001 ; File #757.001
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXB Q
  1. S75701 ; File #757.01
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXC Q
  1. S75702 ; File #757.02
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXD Q
  1. S7571 ; File #757.1
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXE Q
  1. S75721 ; File #757.21
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXF Q
  1. S75733 ; File #757.33
  1. N LEXSET,LEXQ S (LEXSET,LEXQ)="" D SET^LEXRXG Q
  1. ;
  1. F ; Repair/Re-index/Fixi
  1. F757001 ; File #757.001
  1. N LEXSET,LEXFIX,LEXQ S (LEXSET,LEXFIX,LEXQ)="" D SET^LEXRXB Q
  1. F75721 ; File #757.21
  1. N LEXSET,LEXFIX,LEXQ S (LEXSET,LEXFIX,LEXQ)="" D SET^LEXRXF Q
  1. F75733 ; File #757.33
  1. N LEXSET,LEXFIX,LEXQ S (LEXSET,LEXFIX,LEXQ)="" D SET^LEXRXG Q
  1. ;
  1. ; Miscellaneous
  1. ET ; End Task
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. Q
  1. PRG ; Purge
  1. K ^TMP("LEXRX",$J,"D"),^TMP("LEXRX",$J,"E"),^TMP("LEXRX",$J,"R",1),^TMP("LEXRX",$J,"R",2)
  1. K ^TMP("LEXRX",$J,"T"),^TMP("LEXRX",$J,"P") K ^XTMP(LEXNAM)
  1. Q
  1. SX(LEXNAM) ; Show XTMP
  1. S LEXNAM=$G(LEXNAM) Q:'$L(LEXNAM)
  1. N LEXNN,LEXNC S LEXNN="^XTMP("""_LEXNAM_""")",LEXNC="^XTMP("""_LEXNAM_""","
  1. F S LEXNN=$Q(@LEXNN) Q:'$L(LEXNN)!(LEXNN'[LEXNC) W !,LEXNN,"=",@LEXNN
  1. Q
  1. CLR ; Clear
  1. K LEXFI,ZTQUEUED,ZTREQ,ZTSK
  1. Q