ICPTMOD ;ALB/DEK/KER - CPT MODIFIER APIS ;08/18/2007
;;6.0;CPT/HCPCS;**6,12,13,14,19,30,37**;May 19, 1997;Build 25
;
; Global Variables
; ^DIC(81.3
; ^TMP("ICPTD" SACC 2.3.2.5.1
;
; External References
; $$DT^XLFDT DBIA 10103
;
; External References
;
Q
MOD(MOD,MFT,MDT,SRC,DFN) ; returns basic info on CPT MODIFIERs
;
; Input: MOD Modifier, Internal or External (Required)
; MFT Format "I"=IEN "E"=.01 field (Default)
; MDT Version Date, FileMan format (default = TODAY)
; SRC Source Screen
; If 0 or Null, Level I and II only
; If >0, Level I, II, and III
; DFN Not used
;
; Output: 10 piece string delimited by the up-arrow (^)
;
; 1 IEN
; 2 Modifier (0;1)
; 3 Versioned Name (61, 0;1)
; 4 Code (0;3)
; 5 Source (0;4)
; 6 Effective Date (60, 0;1)
; 7 Status (60, 0;2) 0:inactive; 1:active
; 8 Inactivation Date (60, 0;1)
; 9 Activation Date (60, 0;1)
; 10 Message
; or
; -1^Error
;
N DATA,EFF,EFFX,EFFS,STR,MODN,MODST
I $G(MOD)="" S STR="-1^NO MODIFIER SELECTED" G MODQ
I $G(MFT)="" S MFT="E"
I "E^I"'[MFT S STR="-1^INVALID MODIFIER FORMAT" G MODQ
S MDT=$S($G(MDT)="":$$DT^XLFDT,1:$$DTBR^ICPTSUPT(MDT))
I MFT="E" S MODN=$O(^DIC(81.3,"B",MOD,0)) I $O(^(MODN)) S STR="-1^Multiple modifiers w/same name. Select IEN: " D MULT G MODQ
I MFT="E" S MOD=MODN
S MOD=+MOD
I 'MOD!'$D(^DIC(81.3,MOD)) S STR="-1^NO SUCH MODIFIER" G MODQ
S DATA=$G(^DIC(81.3,MOD,0))
S MODST=$$VSTCM(MOD,MDT)
I '$L(DATA) S STR="-1^NO DATA" G MODQ
S STR=MOD_"^"_$P(DATA,"^",1,4)
I '$G(SRC),$P(STR,"^",5)="V" Q "-1^VA LOCAL MODIFIER SELECTED"
S EFF=$$EFF^ICPTSUPT(81.3,MOD,MDT)
I EFF<1 S $P(EFF,"^",2)=0
S STR=STR_"^"_EFF_"^"_$$MSG^ICPTSUPT(MDT)
S:$L(MODST) $P(STR,"^",3)=MODST
MODQ ; Modifier Quit
Q STR
;
MODD(CODE,OUTARR,DFN,CDT) ; returns CPT description in array
;
; Input: CODE CPT Modifier, internal or external (Required)
; ARY Output Array Name
; e.g. "ABC" or "ABC("TEST")"
; Default = ^TMP("ICPTD",$J)
; DFN Not used
; CDT Versioning Date (default = TODAY)
; If prior to 1/1/1989, 1/1/1989 will be used
; If year only, use first of that year
; If month/year only, use first of the month
; If later than today, TODAY will be used
;
; Output: # Number of lines in description
;
; @ARY(1:n) - Versioned Description (multiple 62)
; @ARY(n+1) - blank
; @ARY(n+1) - message: CODE TEXT MAY BE INACCURATE
; or
; -1^Error
;
; ** User must initialize ^TMP("ICPTD",$J), if used **
;
N ARR,END,CTV,I,N
I $G(CODE)="" S N="-1^NO CODE SELECTED" G MODDQ
I $G(OUTARR)="" S OUTARR="^TMP(""ICPTD"",$J,"
I OUTARR'["(" S OUTARR=OUTARR_"("
I OUTARR[")" S OUTARR=$P(OUTARR,")")
S END=$E(OUTARR,$L(OUTARR)) I END'="("&(END'=",") S OUTARR=OUTARR_","
I OUTARR="^TMP(""ICPTD"",$J," K ^TMP("ICPTD",$J)
S CODE=$S(CODE?1.N:+CODE,1:$$CODEN(CODE)),I=0,N=0
I CODE<1!'$D(^DIC(81.3,CODE)) S N="-1^NO SUCH CODE" G MODDQ
S CDT=$S($G(CDT)="":$$DT^XLFDT,1:$$DTBR^ICPTSUPT(CDT))
D VLTCM(+CODE,CDT,.CTV)
S (N,I)=0 F S I=$O(CTV(I)) Q:+I=0 D
. S N=N+1,ARR=OUTARR_N_")",@ARR=$$TRIM($G(CTV(I)))
I +N>0 D
. S N=N+1,ARR=OUTARR_N_")",@ARR=" "
. S N=N+1,ARR=OUTARR_N_")",@ARR=$$MSG^ICPTSUPT(CDT,1)
I +N'>0 S N="-1^VERSIONED DESCRIPTION NOT FOUND FOR MODIFIER "_$P($G(^DIC(81.3,+CODE,0)),"^",1)
MODDQ ; Modifier Description Quit
Q N
;
MODA(CODE,VDT,ARY) ; Return an array of Modifiers for a CPT Code
D MODA^ICPTMOD2 Q
MODP(CODE,MOD,MFT,MDT,SRC,DFN) ; Check if modifier can be used with code
Q $$MODP^ICPTMOD2($G(CODE),$G(MOD),$G(MFT),$G(MDT),$G(SRC),$G(DFN))
MODC(MOD) ; Checks modifier for range including code
D MODC^ICPTMOD2($G(MOD))
Q
MULT ; Finds Duplicate Modifiers
D MULT^ICPTMOD2 Q
CODEN(CODE) ; Return the IEN of a CPT modifier CODE
Q:$G(CODE)="" -1
N COD S COD=+$O(^DIC(81.3,"BA",(CODE_" "),0))
Q $S(COD>0:COD,1:-1)
VSTCM(IEN,VDATE) ; Versioned Short Text (CPT Modifier)
N CPT0,CPTC,CPTI,CPTSTD,CPTSTI,CPTVDT,CPTTXT,CPTTD,CPTTI
S CPTI=+($G(IEN)) Q:+CPTI'>0 "" Q:'$D(^DIC(81.3,+CPTI)) ""
S CPTVDT=$G(VDATE) S:'$L(CPTVDT)!(+CPTVDT'>0) CPTVDT=$$DT^XLFDT Q:$P(CPTVDT,".",1)'?7N ""
S CPT0=$G(^DIC(81.3,+CPTI,0)),CPTC=$P(CPT0,"^",1) Q:'$L(CPTC) ""
S CPTSTD=0 S CPTTD=CPTVDT+.000001 F S CPTTD=$O(^DIC(81.3,"AST",(CPTC_" "),CPTTD),-1) Q:+CPTTD=0 Q:+CPTSTD>0 D
. S CPTTI=$O(^DIC(81.3,"AST",(CPTC_" "),CPTTD," "),-1) S:CPTTI=CPTI CPTSTD=CPTTD
I +CPTSTD>0 D Q:$L($G(CPTTXT)) $G(CPTTXT)
. S CPTSTI=$O(^DIC(81.3,"AST",(CPTC_" "),CPTSTD,+CPTI," "),-1),CPTTXT=$P($G(^DIC(81.3,+CPTI,61,+CPTSTI,0)),"^",2)
S CPTSTD=$O(^DIC(81.3,+CPTI,61,"B",0)) I +CPTSTD>0 D Q:$L($G(CPTTXT)) $G(CPTTXT)
. S CPTSTI=$O(^DIC(81.3,+CPTI,61,"B",CPTSTD,0)),CPTTXT=$P($G(^DIC(81.3,+CPTI,61,+CPTSTI,0)),"^",2)
Q $$TRIM($P(CPT0,"^",2))
VLTCM(IEN,VDATE,ARY) ; Versioned Description - Long Text (CPT Modifier)
N CPT0,CPTC,CPTD,CPTI,CPTSTD,CPTSTI,CPTT,CPTVDT,CPTTXT,CPTTD,CPTTI
S CPTI=+($G(IEN)) Q:+CPTI'>0 Q:'$D(^DIC(81.3,+CPTI))
S CPTVDT=$G(VDATE) S:'$L(CPTVDT)!(+CPTVDT'>0) CPTVDT=$$DT^XLFDT Q:$P(CPTVDT,".",1)'?7N
S CPT0=$G(^DIC(81.3,+CPTI,0)),CPTC=$P(CPT0,"^",1) Q:'$L(CPTC)
S CPTSTD=0 S CPTTD=CPTVDT+.000001 F S CPTTD=$O(^DIC(81.3,"ADS",(CPTC_" "),CPTTD),-1) Q:+CPTTD=0 Q:+CPTSTD>0 D
. S CPTTI=$O(^DIC(81.3,"ADS",(CPTC_" "),CPTTD," "),-1) S:CPTTI=CPTI CPTSTD=CPTTD
I +CPTSTD>0 D Q:+($O(ARY(0)))>0
. S CPTSTI=$O(^DIC(81.3,"ADS",(CPTC_" "),CPTSTD,+CPTI," "),-1)
. S (CPTD,CPTT)=0 F S CPTD=$O(^DIC(81.3,+CPTI,62,CPTSTI,1,CPTD)) Q:+CPTD=0 D
. . S CPTT=CPTT+1,ARY(CPTT)=$$TRIM($G(^DIC(81.3,+CPTI,62,+CPTSTI,1,+CPTD,0))),ARY(0)=CPTT
S CPTSTD=$O(^DIC(81.3,+CPTI,62,"B",0)) I +CPTSTD>0 D Q:+($O(ARY(0)))>0
. S CPTSTI=$O(^DIC(81.3,+CPTI,62,"B",CPTSTD,0))
. S (CPTD,CPTT)=0 F S CPTD=$O(^DIC(81.3,+CPTI,62,CPTSTI,1,CPTD)) Q:+CPTD=0 D
. . S CPTT=CPTT+1,ARY(CPTT)=$$TRIM($G(^DIC(81.3,+CPTI,62,+CPTSTI,1,+CPTD,0))),ARY(0)=CPTT
K ARY S (CPTD,CPTT)=0 F S CPTD=$O(^DIC(81.3,CPTI,"D",CPTD)) Q:+CPTD=0 D
. S CPTT=CPTT+1,ARY(CPTT)=$$TRIM($G(^DIC(81.3,CPTI,"D",CPTD,0))),ARY(0)=CPTT
Q
TRIM(X) ; Trim Spaces
S X=$G(X) Q:X="" X F Q:$E(X,1)'=" " S X=$E(X,2,$L(X))
F Q:$E(X,$L(X))'=" " S X=$E(X,1,($L(X)-1))
F Q:X'[" " S X=$P(X," ",1)_" "_$P(X," ",2,229)
Q X
MO(X) ; Modifier X = Modifier IEN
Q $P($G(^DIC(81.3,+($G(X)),0)),"^",1)
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HICPTMOD 6834 printed Dec 13, 2024@01:45:46 Page 2
ICPTMOD ;ALB/DEK/KER - CPT MODIFIER APIS ;08/18/2007
+1 ;;6.0;CPT/HCPCS;**6,12,13,14,19,30,37**;May 19, 1997;Build 25
+2 ;
+3 ; Global Variables
+4 ; ^DIC(81.3
+5 ; ^TMP("ICPTD" SACC 2.3.2.5.1
+6 ;
+7 ; External References
+8 ; $$DT^XLFDT DBIA 10103
+9 ;
+10 ; External References
+11 ;
+12 QUIT
MOD(MOD,MFT,MDT,SRC,DFN) ; returns basic info on CPT MODIFIERs
+1 ;
+2 ; Input: MOD Modifier, Internal or External (Required)
+3 ; MFT Format "I"=IEN "E"=.01 field (Default)
+4 ; MDT Version Date, FileMan format (default = TODAY)
+5 ; SRC Source Screen
+6 ; If 0 or Null, Level I and II only
+7 ; If >0, Level I, II, and III
+8 ; DFN Not used
+9 ;
+10 ; Output: 10 piece string delimited by the up-arrow (^)
+11 ;
+12 ; 1 IEN
+13 ; 2 Modifier (0;1)
+14 ; 3 Versioned Name (61, 0;1)
+15 ; 4 Code (0;3)
+16 ; 5 Source (0;4)
+17 ; 6 Effective Date (60, 0;1)
+18 ; 7 Status (60, 0;2) 0:inactive; 1:active
+19 ; 8 Inactivation Date (60, 0;1)
+20 ; 9 Activation Date (60, 0;1)
+21 ; 10 Message
+22 ; or
+23 ; -1^Error
+24 ;
+25 NEW DATA,EFF,EFFX,EFFS,STR,MODN,MODST
+26 IF $GET(MOD)=""
SET STR="-1^NO MODIFIER SELECTED"
GOTO MODQ
+27 IF $GET(MFT)=""
SET MFT="E"
+28 IF "E^I"'[MFT
SET STR="-1^INVALID MODIFIER FORMAT"
GOTO MODQ
+29 SET MDT=$SELECT($GET(MDT)="":$$DT^XLFDT,1:$$DTBR^ICPTSUPT(MDT))
+30 IF MFT="E"
SET MODN=$ORDER(^DIC(81.3,"B",MOD,0))
IF $ORDER(^(MODN))
SET STR="-1^Multiple modifiers w/same name. Select IEN: "
DO MULT
GOTO MODQ
+31 IF MFT="E"
SET MOD=MODN
+32 SET MOD=+MOD
+33 IF 'MOD!'$DATA(^DIC(81.3,MOD))
SET STR="-1^NO SUCH MODIFIER"
GOTO MODQ
+34 SET DATA=$GET(^DIC(81.3,MOD,0))
+35 SET MODST=$$VSTCM(MOD,MDT)
+36 IF '$LENGTH(DATA)
SET STR="-1^NO DATA"
GOTO MODQ
+37 SET STR=MOD_"^"_$PIECE(DATA,"^",1,4)
+38 IF '$GET(SRC)
IF $PIECE(STR,"^",5)="V"
QUIT "-1^VA LOCAL MODIFIER SELECTED"
+39 SET EFF=$$EFF^ICPTSUPT(81.3,MOD,MDT)
+40 IF EFF<1
SET $PIECE(EFF,"^",2)=0
+41 SET STR=STR_"^"_EFF_"^"_$$MSG^ICPTSUPT(MDT)
+42 if $LENGTH(MODST)
SET $PIECE(STR,"^",3)=MODST
MODQ ; Modifier Quit
+1 QUIT STR
+2 ;
MODD(CODE,OUTARR,DFN,CDT) ; returns CPT description in array
+1 ;
+2 ; Input: CODE CPT Modifier, internal or external (Required)
+3 ; ARY Output Array Name
+4 ; e.g. "ABC" or "ABC("TEST")"
+5 ; Default = ^TMP("ICPTD",$J)
+6 ; DFN Not used
+7 ; CDT Versioning Date (default = TODAY)
+8 ; If prior to 1/1/1989, 1/1/1989 will be used
+9 ; If year only, use first of that year
+10 ; If month/year only, use first of the month
+11 ; If later than today, TODAY will be used
+12 ;
+13 ; Output: # Number of lines in description
+14 ;
+15 ; @ARY(1:n) - Versioned Description (multiple 62)
+16 ; @ARY(n+1) - blank
+17 ; @ARY(n+1) - message: CODE TEXT MAY BE INACCURATE
+18 ; or
+19 ; -1^Error
+20 ;
+21 ; ** User must initialize ^TMP("ICPTD",$J), if used **
+22 ;
+23 NEW ARR,END,CTV,I,N
+24 IF $GET(CODE)=""
SET N="-1^NO CODE SELECTED"
GOTO MODDQ
+25 IF $GET(OUTARR)=""
SET OUTARR="^TMP(""ICPTD"",$J,"
+26 IF OUTARR'["("
SET OUTARR=OUTARR_"("
+27 IF OUTARR[")"
SET OUTARR=$PIECE(OUTARR,")")
+28 SET END=$EXTRACT(OUTARR,$LENGTH(OUTARR))
IF END'="("&(END'=",")
SET OUTARR=OUTARR_","
+29 IF OUTARR="^TMP(""ICPTD"",$J,"
KILL ^TMP("ICPTD",$JOB)
+30 SET CODE=$SELECT(CODE?1.N:+CODE,1:$$CODEN(CODE))
SET I=0
SET N=0
+31 IF CODE<1!'$DATA(^DIC(81.3,CODE))
SET N="-1^NO SUCH CODE"
GOTO MODDQ
+32 SET CDT=$SELECT($GET(CDT)="":$$DT^XLFDT,1:$$DTBR^ICPTSUPT(CDT))
+33 DO VLTCM(+CODE,CDT,.CTV)
+34 SET (N,I)=0
FOR
SET I=$ORDER(CTV(I))
if +I=0
QUIT
Begin DoDot:1
+35 SET N=N+1
SET ARR=OUTARR_N_")"
SET @ARR=$$TRIM($GET(CTV(I)))
End DoDot:1
+36 IF +N>0
Begin DoDot:1
+37 SET N=N+1
SET ARR=OUTARR_N_")"
SET @ARR=" "
+38 SET N=N+1
SET ARR=OUTARR_N_")"
SET @ARR=$$MSG^ICPTSUPT(CDT,1)
End DoDot:1
+39 IF +N'>0
SET N="-1^VERSIONED DESCRIPTION NOT FOUND FOR MODIFIER "_$PIECE($GET(^DIC(81.3,+CODE,0)),"^",1)
MODDQ ; Modifier Description Quit
+1 QUIT N
+2 ;
MODA(CODE,VDT,ARY) ; Return an array of Modifiers for a CPT Code
+1 DO MODA^ICPTMOD2
QUIT
MODP(CODE,MOD,MFT,MDT,SRC,DFN) ; Check if modifier can be used with code
+1 QUIT $$MODP^ICPTMOD2($GET(CODE),$GET(MOD),$GET(MFT),$GET(MDT),$GET(SRC),$GET(DFN))
MODC(MOD) ; Checks modifier for range including code
+1 DO MODC^ICPTMOD2($GET(MOD))
+2 QUIT
MULT ; Finds Duplicate Modifiers
+1 DO MULT^ICPTMOD2
QUIT
CODEN(CODE) ; Return the IEN of a CPT modifier CODE
+1 if $GET(CODE)=""
QUIT -1
+2 NEW COD
SET COD=+$ORDER(^DIC(81.3,"BA",(CODE_" "),0))
+3 QUIT $SELECT(COD>0:COD,1:-1)
VSTCM(IEN,VDATE) ; Versioned Short Text (CPT Modifier)
+1 NEW CPT0,CPTC,CPTI,CPTSTD,CPTSTI,CPTVDT,CPTTXT,CPTTD,CPTTI
+2 SET CPTI=+($GET(IEN))
if +CPTI'>0
QUIT ""
if '$DATA(^DIC(81.3,+CPTI))
QUIT ""
+3 SET CPTVDT=$GET(VDATE)
if '$LENGTH(CPTVDT)!(+CPTVDT'>0)
SET CPTVDT=$$DT^XLFDT
if $PIECE(CPTVDT,".",1)'?7N
QUIT ""
+4 SET CPT0=$GET(^DIC(81.3,+CPTI,0))
SET CPTC=$PIECE(CPT0,"^",1)
if '$LENGTH(CPTC)
QUIT ""
+5 SET CPTSTD=0
SET CPTTD=CPTVDT+.000001
FOR
SET CPTTD=$ORDER(^DIC(81.3,"AST",(CPTC_" "),CPTTD),-1)
if +CPTTD=0
QUIT
if +CPTSTD>0
QUIT
Begin DoDot:1
+6 SET CPTTI=$ORDER(^DIC(81.3,"AST",(CPTC_" "),CPTTD," "),-1)
if CPTTI=CPTI
SET CPTSTD=CPTTD
End DoDot:1
+7 IF +CPTSTD>0
Begin DoDot:1
+8 SET CPTSTI=$ORDER(^DIC(81.3,"AST",(CPTC_" "),CPTSTD,+CPTI," "),-1)
SET CPTTXT=$PIECE($GET(^DIC(81.3,+CPTI,61,+CPTSTI,0)),"^",2)
End DoDot:1
if $LENGTH($GET(CPTTXT))
QUIT $GET(CPTTXT)
+9 SET CPTSTD=$ORDER(^DIC(81.3,+CPTI,61,"B",0))
IF +CPTSTD>0
Begin DoDot:1
+10 SET CPTSTI=$ORDER(^DIC(81.3,+CPTI,61,"B",CPTSTD,0))
SET CPTTXT=$PIECE($GET(^DIC(81.3,+CPTI,61,+CPTSTI,0)),"^",2)
End DoDot:1
if $LENGTH($GET(CPTTXT))
QUIT $GET(CPTTXT)
+11 QUIT $$TRIM($PIECE(CPT0,"^",2))
VLTCM(IEN,VDATE,ARY) ; Versioned Description - Long Text (CPT Modifier)
+1 NEW CPT0,CPTC,CPTD,CPTI,CPTSTD,CPTSTI,CPTT,CPTVDT,CPTTXT,CPTTD,CPTTI
+2 SET CPTI=+($GET(IEN))
if +CPTI'>0
QUIT
if '$DATA(^DIC(81.3,+CPTI))
QUIT
+3 SET CPTVDT=$GET(VDATE)
if '$LENGTH(CPTVDT)!(+CPTVDT'>0)
SET CPTVDT=$$DT^XLFDT
if $PIECE(CPTVDT,".",1)'?7N
QUIT
+4 SET CPT0=$GET(^DIC(81.3,+CPTI,0))
SET CPTC=$PIECE(CPT0,"^",1)
if '$LENGTH(CPTC)
QUIT
+5 SET CPTSTD=0
SET CPTTD=CPTVDT+.000001
FOR
SET CPTTD=$ORDER(^DIC(81.3,"ADS",(CPTC_" "),CPTTD),-1)
if +CPTTD=0
QUIT
if +CPTSTD>0
QUIT
Begin DoDot:1
+6 SET CPTTI=$ORDER(^DIC(81.3,"ADS",(CPTC_" "),CPTTD," "),-1)
if CPTTI=CPTI
SET CPTSTD=CPTTD
End DoDot:1
+7 IF +CPTSTD>0
Begin DoDot:1
+8 SET CPTSTI=$ORDER(^DIC(81.3,"ADS",(CPTC_" "),CPTSTD,+CPTI," "),-1)
+9 SET (CPTD,CPTT)=0
FOR
SET CPTD=$ORDER(^DIC(81.3,+CPTI,62,CPTSTI,1,CPTD))
if +CPTD=0
QUIT
Begin DoDot:2
+10 SET CPTT=CPTT+1
SET ARY(CPTT)=$$TRIM($GET(^DIC(81.3,+CPTI,62,+CPTSTI,1,+CPTD,0)))
SET ARY(0)=CPTT
End DoDot:2
End DoDot:1
if +($ORDER(ARY(0)))>0
QUIT
+11 SET CPTSTD=$ORDER(^DIC(81.3,+CPTI,62,"B",0))
IF +CPTSTD>0
Begin DoDot:1
+12 SET CPTSTI=$ORDER(^DIC(81.3,+CPTI,62,"B",CPTSTD,0))
+13 SET (CPTD,CPTT)=0
FOR
SET CPTD=$ORDER(^DIC(81.3,+CPTI,62,CPTSTI,1,CPTD))
if +CPTD=0
QUIT
Begin DoDot:2
+14 SET CPTT=CPTT+1
SET ARY(CPTT)=$$TRIM($GET(^DIC(81.3,+CPTI,62,+CPTSTI,1,+CPTD,0)))
SET ARY(0)=CPTT
End DoDot:2
End DoDot:1
if +($ORDER(ARY(0)))>0
QUIT
+15 KILL ARY
SET (CPTD,CPTT)=0
FOR
SET CPTD=$ORDER(^DIC(81.3,CPTI,"D",CPTD))
if +CPTD=0
QUIT
Begin DoDot:1
+16 SET CPTT=CPTT+1
SET ARY(CPTT)=$$TRIM($GET(^DIC(81.3,CPTI,"D",CPTD,0)))
SET ARY(0)=CPTT
End DoDot:1
+17 QUIT
TRIM(X) ; Trim Spaces
+1 SET X=$GET(X)
if X=""
QUIT X
FOR
if $EXTRACT(X,1)'=" "
QUIT
SET X=$EXTRACT(X,2,$LENGTH(X))
+2 FOR
if $EXTRACT(X,$LENGTH(X))'=" "
QUIT
SET X=$EXTRACT(X,1,($LENGTH(X)-1))
+3 FOR
if X'[" "
QUIT
SET X=$PIECE(X," ",1)_" "_$PIECE(X," ",2,229)
+4 QUIT X
MO(X) ; Modifier X = Modifier IEN
+1 QUIT $PIECE($GET(^DIC(81.3,+($GET(X)),0)),"^",1)