ICDIDX ;DLS/DEK - MUMPS Cross Reference Routine ;04/21/2014
;;18.0;DRG Grouper;**57**;Oct 20, 2000;Build 1
;
; Global Variables
; None
;
; External References
; IXALL^DIK ICR 10013
; $$UP^XLFSTR ICR 10104
;
; "D" on Description
SD(ICD) ; Set ROOT("D",<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N WRDS,I,WD,CDT,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S EXC=$$EXC(DA(1),RT) Q:+EXC'>0
S CDT=$G(@(RT_+($G(DA(1)))_",68,"_+($G(DA))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N D PAR^ICDTOKN($G(X),.WRDS,0) S I=0
F S I=$O(WRDS(I)) Q:+I'>0 S WD=$G(WRDS(I)) S:$L(WD) @(RT_"""D"","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")=""
S IE1=DA(1),IE2=DA,IE3=0 F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. S @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
Q
KD(ICD) ; Kill ROOT("D",<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N WRDS,I,WD,CDT,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=$G(@(RT_+($G(DA(1)))_",68,"_+($G(DA))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N D PAR^ICDTOKN($G(X),.WRDS,0) S I=0
F S I=$O(WRDS(I)) Q:+I'>0 S WD=$G(WRDS(I)) K:$L(WD) @(RT_"""D"","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")
S IE1=DA(1),IE2=DA,IE3=0 F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. K @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
Q
; "AD" on Description
SAD(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N KEY,WRDS,I,WD,CDT,SYS,EXC,RT
S RT=$$RT(+($G(ICD))) Q:'$L(RT) S EXC=$$EXC(DA(1),RT) Q:+EXC'>0
S CDT=$G(@(RT_+($G(DA(1)))_",68,"_+($G(DA))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N
S SYS=+($P($G(@(RT_+DA(1)_",1)")),"^",1)) Q:+SYS'>0 D PAR^ICDTOKN($G(X),.WRDS,0) S I=0
F S I=$O(WRDS(I)) Q:+I'>0 D
. S WD=$G(WRDS(I)) S:$L(WD) @(RT_"""AD"","_+SYS_","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")=""
S IE1=DA(1),IE2=DA,IE3=0
F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. S @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
. S @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
Q
KAD(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N KEY,WRDS,I,WD,CDT,SYS,EXC,RT,IE1,IE2,IE3 S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=$G(@(RT_+($G(DA(1)))_",68,"_+($G(DA))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N
S SYS=+($P($G(@(RT_+DA(1)_",1)")),"^",1)) Q:+SYS'>0 D PAR^ICDTOKN($G(X),.WRDS,0) S I=0
F S I=$O(WRDS(I)) Q:+I'>0 S WD=$G(WRDS(I)) K:$L(WD) @(RT_"""AD"","_+SYS_","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")
S IE1=DA(1),IE2=DA,IE3=0
F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. K @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
. K @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
Q
; "AD" on Coding System
SAD2(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,KEY,CDT,SYS,IE1,IE2,IE3,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S EXC=$$EXC(DA,RT) Q:+EXC'>0
S SYS=+($G(X)) Q:+SYS'>0 S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",68,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",68,"_IE2_",0)")),"^",1) Q:CDT'?7N
. S TXT=$G(@(RT_+IE1_",68,"_IE2_",1)")) I $L(TXT) D
. . D PAR^ICDTOKN(TXT,.WRDS,0) S I=0 F S I=$O(WRDS(I)) Q:+I'>0 S WD=$G(WRDS(I)) D
. . . S:$L(WD) @(RT_"""AD"","_+SYS_","""_WD_""","_+IE1_","_CDT_","_+IE2_")")=""
. S IE3=0 F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. . S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. . S @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
. . S @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
Q
KAD2(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,CDT,SYS,IE1,IE2,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S SYS=+($G(X)) Q:+SYS'>0 S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",68,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",68,"_IE2_",0)")),"^",1) Q:CDT'?7N
. S TXT=$G(@(RT_+IE1_",68,"_IE2_",1)")) I $L(TXT) D
. . D PAR^ICDTOKN(TXT,.WRDS,0) S I=0 F S I=$O(WRDS(I)) Q:+I'>0 S WD=$G(WRDS(I)) D
. . . K:$L(WD) @(RT_"""AD"","_+SYS_","""_WD_""","_+IE1_","_CDT_","_+IE2_")")
. S IE3=0 F S IE3=$O(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")")) Q:+IE3'>0 D
. . S KEY=$$TM($G(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)"))) Q:'$L(KEY)
. . K @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
. . K @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
Q
; "AD" on Keywords
SAD3(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>,<wd ien>)
N KEY S KEY=$$UP^XLFSTR($$TM($G(X))) Q:'$L(KEY) Q:+($G(DA(2)))'>0 Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0
N CDT,SYS,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S EXC=$$EXC(DA(2),RT) Q:+EXC'>0
S CDT=$G(@(RT_+($G(DA(2)))_",68,"_+($G(DA(1)))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N
S SYS=+($P($G(@(RT_+DA(2)_",1)")),"^",1)) Q:+SYS'>0
S @(RT_"""AD"","_+SYS_","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")=""
S @(RT_"""D"","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")=""
Q
KAD3(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>,<wd ien>)
N KEY S KEY=$$UP^XLFSTR($$TM($G(X))) Q:'$L(KEY) Q:+($G(DA(2)))'>0 Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0
N CDT,SYS,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S EXC=$$EXC(DA(2),RT) Q:+EXC'>0
S CDT=$G(@(RT_+($G(DA(2)))_",68,"_+($G(DA(1)))_",0)")),CDT=$P(CDT,"^",1) Q:CDT'?7N
S SYS=+($P($G(@(RT_+DA(2)_",1)")),"^",1)) Q:+SYS'>0
K @(RT_"""AD"","_+SYS_","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")
K @(RT_"""D"","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")
Q
; "AST" on short text effective date
SAST(ICD) ; Set ROOT("AST",<code>,<dt>,<file ien>,<st ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=+($$EXC(DA(1),RT)) Q:+EXC'>0 S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) S @(RT_"""AST"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
Q
KAST(ICD) ; Kill ROOT("AST",<code>,<dt>,<file ien>,<st ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) K @(RT_"""AST"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
Q
; "ASTS" on short text effective date
SASTS1(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=+($$EXC(DA(1),RT)) Q:+EXC'>0 S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) Q:+SYS'>0
S @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
Q
KASTS1(ICD) ; Kill ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) Q:+SYS'>0
K @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
Q
; "ASTS" on short text
SASTS2(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=$$EXC(DA,RT) Q:+EXC'>0 S SYS=+($G(X)) Q:+SYS'>0 S COD=$P($G(@(RT_+($G(DA))_",0)")),"^",1) Q:'$L(COD)
S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",67,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",67,"_IE2_",0)")),"^",1) Q:CDT'?7N
. S @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")=""
Q
KASTS2(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S SYS=+($G(X)) Q:+SYS'>0 S COD=$P($G(@(RT_+($G(DA))_",0)")),"^",1) Q:'$L(COD)
S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",67,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",67,"_IE2_",0)")),"^",1) Q:CDT'?7N
. K @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")
Q
;
SADS(ICD) ; Set ROOT("ADS",<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=+($$EXC(DA(1),RT)) Q:+EXC'>0 S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S @(RT_"""ADS"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
Q
KADS(ICD) ; Kill ROOT("ADS",<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
K @(RT_"""ADS"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
Q
SADSS1(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=+($$EXC(DA(1),RT)) Q:+EXC'>0 S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) Q:+SYS'>0
S @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
Q
KADSS1(ICD) ; Kill ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA(1)))'>0 Q:+($G(DA))'>0 N EXC,COD,SYS,RT,CDT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S CDT=+($G(X)) Q:CDT'?7N S COD=$P($G(@(RT_DA(1)_",0)")),"^",1) Q:'$L(COD)
S SYS=$P($G(@(RT_DA(1)_",1)")),"^",1) Q:+SYS'>0
K @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
Q
SADSS2(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S EXC=$$EXC(DA,RT) Q:+EXC'>0 S SYS=+($G(X)) Q:+SYS'>0 S COD=$P($G(@(RT_+($G(DA))_",0)")),"^",1) Q:'$L(COD)
S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",68,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",68,"_IE2_",0)")),"^",1) Q:CDT'?7N
. S @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")=""
Q
KADSS2(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
Q:'$L($G(X)) Q:+($G(DA))'>0 N WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S SYS=+($G(X)) Q:+SYS'>0 S COD=$P($G(@(RT_+($G(DA))_",0)")),"^",1) Q:'$L(COD)
S IE1=+($G(DA)),IE2=0 F S IE2=$O(@(RT_+IE1_",68,"_IE2_")")) Q:+IE2'>0 D
. N I S CDT=$P($G(@(RT_+IE1_",68,"_IE2_",0)")),"^",1) Q:CDT'?7N
. K @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")
Q
SAEXC(ICD) ; Set ROOT("AEXC",<code>,<ien>)
Q:+($G(DA))'>0 N COD,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S COD=$P($G(@(RT_+DA_",0)")),"^",1) Q:'$L(COD)
S EXC=$$EXC(DA,RT) S:+EXC'>0 @(RT_"""AEXC"","""_(COD_" ")_""","_DA_")")=""
Q
KAEXC(ICD) ; Kill ROOT("AEXC",<code>,<ien>)
Q:+($G(DA))'>0 N COD,EXC,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT) S COD=$P($G(@(RT_+DA_",0)")),"^",1) Q:'$L(COD)
K @(RT_"""AEXC"","""_(COD_" ")_""","_DA_")")
Q
;
; Miscellaneous
EXC(X,Y) ; Exclude from lookup
N COD,EFF,LDS,IEN,RT S IEN=+($G(X)),RT=$G(Y) Q:+IEN'>0 0 Q:'$L(RT) 0 S COD=$P($G(@(RT_+IEN_",0)")),"^",1)
S EFF=$O(@(RT_+IEN_",66,0)")),LDS=$O(@(RT_+IEN_",68,0)")) Q:$L(COD)&(+EFF>0)&(+LDS>0) 1
Q 0
RM(ICD) ; Remove Main
N IX,RT S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S IX=" " F S IX=$O(@(RT_""""_IX_""")")) Q:'$L(IX) D
. K @(RT_""""_IX_""")")
Q
RE(ICD) ; Re-Index
N ZTQUEUED,DIK,IX,RT,DA S RT=$$RT(+($G(ICD))) Q:'$L(RT)
S DIK=RT,ZTQUEUED="" D IXALL^DIK
Q
RT(X) ; Root from File #
Q $S(+($G(X))=80:$$ROOT^ICDEX(80),+($G(X))=80.1:$$ROOT^ICDEX(80.1),1:"")
TM(X,Y) ; Trim Y
S X=$G(X),Y=$G(Y) S:'$L(Y) Y=" "
F Q:$E(X,1)'=Y S X=$E(X,2,$L(X))
F Q:$E(X,$L(X))'=Y S X=$E(X,1,($L(X)-1))
Q X
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HICDIDX 12485 printed Oct 16, 2024@17:51:36 Page 2
ICDIDX ;DLS/DEK - MUMPS Cross Reference Routine ;04/21/2014
+1 ;;18.0;DRG Grouper;**57**;Oct 20, 2000;Build 1
+2 ;
+3 ; Global Variables
+4 ; None
+5 ;
+6 ; External References
+7 ; IXALL^DIK ICR 10013
+8 ; $$UP^XLFSTR ICR 10104
+9 ;
+10 ; "D" on Description
SD(ICD) ; Set ROOT("D",<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,CDT,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET EXC=$$EXC(DA(1),RT)
if +EXC'>0
QUIT
+2 SET CDT=$GET(@(RT_+($GET(DA(1)))_",68,"_+($GET(DA))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
DO PAR^ICDTOKN($GET(X),.WRDS,0)
SET I=0
+3 FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
SET WD=$GET(WRDS(I))
if $LENGTH(WD)
SET @(RT_"""D"","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")=""
+4 SET IE1=DA(1)
SET IE2=DA
SET IE3=0
FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:1
+5 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+6 SET @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
End DoDot:1
+7 QUIT
KD(ICD) ; Kill ROOT("D",<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,CDT,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=$GET(@(RT_+($GET(DA(1)))_",68,"_+($GET(DA))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
DO PAR^ICDTOKN($GET(X),.WRDS,0)
SET I=0
+3 FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
SET WD=$GET(WRDS(I))
if $LENGTH(WD)
KILL @(RT_"""D"","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")
+4 SET IE1=DA(1)
SET IE2=DA
SET IE3=0
FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:1
+5 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+6 KILL @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
End DoDot:1
+7 QUIT
+8 ; "AD" on Description
SAD(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW KEY,WRDS,I,WD,CDT,SYS,EXC,RT
+2 SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET EXC=$$EXC(DA(1),RT)
if +EXC'>0
QUIT
+3 SET CDT=$GET(@(RT_+($GET(DA(1)))_",68,"_+($GET(DA))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
+4 SET SYS=+($PIECE($GET(@(RT_+DA(1)_",1)")),"^",1))
if +SYS'>0
QUIT
DO PAR^ICDTOKN($GET(X),.WRDS,0)
SET I=0
+5 FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
Begin DoDot:1
+6 SET WD=$GET(WRDS(I))
if $LENGTH(WD)
SET @(RT_"""AD"","_+SYS_","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")=""
End DoDot:1
+7 SET IE1=DA(1)
SET IE2=DA
SET IE3=0
+8 FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:1
+9 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+10 SET @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
+11 SET @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
End DoDot:1
+12 QUIT
KAD(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW KEY,WRDS,I,WD,CDT,SYS,EXC,RT,IE1,IE2,IE3
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=$GET(@(RT_+($GET(DA(1)))_",68,"_+($GET(DA))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
+3 SET SYS=+($PIECE($GET(@(RT_+DA(1)_",1)")),"^",1))
if +SYS'>0
QUIT
DO PAR^ICDTOKN($GET(X),.WRDS,0)
SET I=0
+4 FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
SET WD=$GET(WRDS(I))
if $LENGTH(WD)
KILL @(RT_"""AD"","_+SYS_","""_WD_""","_+DA(1)_","_CDT_","_+DA_")")
+5 SET IE1=DA(1)
SET IE2=DA
SET IE3=0
+6 FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:1
+7 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+8 KILL @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
+9 KILL @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
End DoDot:1
+10 QUIT
+11 ; "AD" on Coding System
SAD2(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,KEY,CDT,SYS,IE1,IE2,IE3,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET EXC=$$EXC(DA,RT)
if +EXC'>0
QUIT
+2 SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",68,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+3 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",68,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+4 SET TXT=$GET(@(RT_+IE1_",68,"_IE2_",1)"))
IF $LENGTH(TXT)
Begin DoDot:2
+5 DO PAR^ICDTOKN(TXT,.WRDS,0)
SET I=0
FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
SET WD=$GET(WRDS(I))
Begin DoDot:3
+6 if $LENGTH(WD)
SET @(RT_"""AD"","_+SYS_","""_WD_""","_+IE1_","_CDT_","_+IE2_")")=""
End DoDot:3
End DoDot:2
+7 SET IE3=0
FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:2
+8 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+9 SET @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
+10 SET @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")=""
End DoDot:2
End DoDot:1
+11 QUIT
KAD2(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,CDT,SYS,IE1,IE2,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",68,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+3 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",68,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+4 SET TXT=$GET(@(RT_+IE1_",68,"_IE2_",1)"))
IF $LENGTH(TXT)
Begin DoDot:2
+5 DO PAR^ICDTOKN(TXT,.WRDS,0)
SET I=0
FOR
SET I=$ORDER(WRDS(I))
if +I'>0
QUIT
SET WD=$GET(WRDS(I))
Begin DoDot:3
+6 if $LENGTH(WD)
KILL @(RT_"""AD"","_+SYS_","""_WD_""","_+IE1_","_CDT_","_+IE2_")")
End DoDot:3
End DoDot:2
+7 SET IE3=0
FOR
SET IE3=$ORDER(@(RT_+IE1_",68,"_+IE2_",2,"_IE3_")"))
if +IE3'>0
QUIT
Begin DoDot:2
+8 SET KEY=$$TM($GET(@(RT_+IE1_",68,"_+IE2_",2,"_+IE3_",0)")))
if '$LENGTH(KEY)
QUIT
+9 KILL @(RT_"""AD"","_+SYS_","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
+10 KILL @(RT_"""D"","""_KEY_""","_+IE1_","_CDT_","_+IE2_","_+IE3_")")
End DoDot:2
End DoDot:1
+11 QUIT
+12 ; "AD" on Keywords
SAD3(ICD) ; Set ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>,<wd ien>)
+1 NEW KEY
SET KEY=$$UP^XLFSTR($$TM($GET(X)))
if '$LENGTH(KEY)
QUIT
if +($GET(DA(2)))'>0
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
+2 NEW CDT,SYS,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET EXC=$$EXC(DA(2),RT)
if +EXC'>0
QUIT
+3 SET CDT=$GET(@(RT_+($GET(DA(2)))_",68,"_+($GET(DA(1)))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
+4 SET SYS=+($PIECE($GET(@(RT_+DA(2)_",1)")),"^",1))
if +SYS'>0
QUIT
+5 SET @(RT_"""AD"","_+SYS_","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")=""
+6 SET @(RT_"""D"","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")=""
+7 QUIT
KAD3(ICD) ; Kill ROOT("AD",<cs>,<word>,<file ien>,<dt>,<des ien>,<wd ien>)
+1 NEW KEY
SET KEY=$$UP^XLFSTR($$TM($GET(X)))
if '$LENGTH(KEY)
QUIT
if +($GET(DA(2)))'>0
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
+2 NEW CDT,SYS,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET EXC=$$EXC(DA(2),RT)
if +EXC'>0
QUIT
+3 SET CDT=$GET(@(RT_+($GET(DA(2)))_",68,"_+($GET(DA(1)))_",0)"))
SET CDT=$PIECE(CDT,"^",1)
if CDT'?7N
QUIT
+4 SET SYS=+($PIECE($GET(@(RT_+DA(2)_",1)")),"^",1))
if +SYS'>0
QUIT
+5 KILL @(RT_"""AD"","_+SYS_","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")
+6 KILL @(RT_"""D"","""_KEY_""","_+DA(2)_","_CDT_","_+DA(1)_","_+DA_")")
+7 QUIT
+8 ; "AST" on short text effective date
SAST(ICD) ; Set ROOT("AST",<code>,<dt>,<file ien>,<st ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=+($$EXC(DA(1),RT))
if +EXC'>0
QUIT
SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
SET @(RT_"""AST"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
+4 QUIT
KAST(ICD) ; Kill ROOT("AST",<code>,<dt>,<file ien>,<st ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
KILL @(RT_"""AST"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
+4 QUIT
+5 ; "ASTS" on short text effective date
SASTS1(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=+($$EXC(DA(1),RT))
if +EXC'>0
QUIT
SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
if +SYS'>0
QUIT
+4 SET @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
+5 QUIT
KASTS1(ICD) ; Kill ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
if +SYS'>0
QUIT
+4 KILL @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
+5 QUIT
+6 ; "ASTS" on short text
SASTS2(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<st ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=$$EXC(DA,RT)
if +EXC'>0
QUIT
SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET COD=$PIECE($GET(@(RT_+($GET(DA))_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",67,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+4 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",67,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+5 SET @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")=""
End DoDot:1
+6 QUIT
KASTS2(ICD) ; Set ROOT("ASTS",<cs>,<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET COD=$PIECE($GET(@(RT_+($GET(DA))_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",67,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+4 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",67,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+5 KILL @(RT_"""ASTS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")
End DoDot:1
+6 QUIT
+7 ;
SADS(ICD) ; Set ROOT("ADS",<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=+($$EXC(DA(1),RT))
if +EXC'>0
QUIT
SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET @(RT_"""ADS"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
+4 QUIT
KADS(ICD) ; Kill ROOT("ADS",<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 KILL @(RT_"""ADS"","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
+4 QUIT
SADSS1(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=+($$EXC(DA(1),RT))
if +EXC'>0
QUIT
SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
if +SYS'>0
QUIT
+4 SET @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")=""
+5 QUIT
KADSS1(ICD) ; Kill ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA(1)))'>0
QUIT
if +($GET(DA))'>0
QUIT
NEW EXC,COD,SYS,RT,CDT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET CDT=+($GET(X))
if CDT'?7N
QUIT
SET COD=$PIECE($GET(@(RT_DA(1)_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET SYS=$PIECE($GET(@(RT_DA(1)_",1)")),"^",1)
if +SYS'>0
QUIT
+4 KILL @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_DA(1)_","_DA_")")
+5 QUIT
SADSS2(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET EXC=$$EXC(DA,RT)
if +EXC'>0
QUIT
SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET COD=$PIECE($GET(@(RT_+($GET(DA))_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",68,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+4 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",68,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+5 SET @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")=""
End DoDot:1
+6 QUIT
KADSS2(ICD) ; Set ROOT("ADSS",SYS,<code>,<dt>,<file ien>,<dx ien>)
+1 if '$LENGTH($GET(X))
QUIT
if +($GET(DA))'>0
QUIT
NEW WRDS,I,WD,TXT,COD,CDT,SYS,IE1,IE2,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET SYS=+($GET(X))
if +SYS'>0
QUIT
SET COD=$PIECE($GET(@(RT_+($GET(DA))_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+3 SET IE1=+($GET(DA))
SET IE2=0
FOR
SET IE2=$ORDER(@(RT_+IE1_",68,"_IE2_")"))
if +IE2'>0
QUIT
Begin DoDot:1
+4 NEW I
SET CDT=$PIECE($GET(@(RT_+IE1_",68,"_IE2_",0)")),"^",1)
if CDT'?7N
QUIT
+5 KILL @(RT_"""ADSS"","_+SYS_","""_(COD_" ")_""","_CDT_","_IE1_","_IE2_")")
End DoDot:1
+6 QUIT
SAEXC(ICD) ; Set ROOT("AEXC",<code>,<ien>)
+1 if +($GET(DA))'>0
QUIT
NEW COD,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET COD=$PIECE($GET(@(RT_+DA_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+2 SET EXC=$$EXC(DA,RT)
if +EXC'>0
SET @(RT_"""AEXC"","""_(COD_" ")_""","_DA_")")=""
+3 QUIT
KAEXC(ICD) ; Kill ROOT("AEXC",<code>,<ien>)
+1 if +($GET(DA))'>0
QUIT
NEW COD,EXC,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
SET COD=$PIECE($GET(@(RT_+DA_",0)")),"^",1)
if '$LENGTH(COD)
QUIT
+2 KILL @(RT_"""AEXC"","""_(COD_" ")_""","_DA_")")
+3 QUIT
+4 ;
+5 ; Miscellaneous
EXC(X,Y) ; Exclude from lookup
+1 NEW COD,EFF,LDS,IEN,RT
SET IEN=+($GET(X))
SET RT=$GET(Y)
if +IEN'>0
QUIT 0
if '$LENGTH(RT)
QUIT 0
SET COD=$PIECE($GET(@(RT_+IEN_",0)")),"^",1)
+2 SET EFF=$ORDER(@(RT_+IEN_",66,0)"))
SET LDS=$ORDER(@(RT_+IEN_",68,0)"))
if $LENGTH(COD)&(+EFF>0)&(+LDS>0)
QUIT 1
+3 QUIT 0
RM(ICD) ; Remove Main
+1 NEW IX,RT
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET IX=" "
FOR
SET IX=$ORDER(@(RT_""""_IX_""")"))
if '$LENGTH(IX)
QUIT
Begin DoDot:1
+3 KILL @(RT_""""_IX_""")")
End DoDot:1
+4 QUIT
RE(ICD) ; Re-Index
+1 NEW ZTQUEUED,DIK,IX,RT,DA
SET RT=$$RT(+($GET(ICD)))
if '$LENGTH(RT)
QUIT
+2 SET DIK=RT
SET ZTQUEUED=""
DO IXALL^DIK
+3 QUIT
RT(X) ; Root from File #
+1 QUIT $SELECT(+($GET(X))=80:$$ROOT^ICDEX(80),+($GET(X))=80.1:$$ROOT^ICDEX(80.1),1:"")
TM(X,Y) ; Trim Y
+1 SET X=$GET(X)
SET Y=$GET(Y)
if '$LENGTH(Y)
SET Y=" "
+2 FOR
if $EXTRACT(X,1)'=Y
QUIT
SET X=$EXTRACT(X,2,$LENGTH(X))
+3 FOR
if $EXTRACT(X,$LENGTH(X))'=Y
QUIT
SET X=$EXTRACT(X,1,($LENGTH(X)-1))
+4 QUIT X