XUSNPI1 ; OAK/TKW - NATIONAL PROVIDER IDENTIFIER UTILITIES ;6/6/08 11:27
;;8.0;KERNEL;**480**; July 10, 1995;Build 38
;;Per VHA Directive 2004-038, this routine should not be modified
NPIUSED(XUSNPI,XUSQID,XUSQIL,XUSIEN,XUSRSLT,XUSFLAG) ; Evaluate cases where an NPI is already in use
; and return an error or warning. Called from routines that allow an NPI to be assigned
; to either an INSTITUTION (file 4) or a NEW PERSON (file 200).
; XUSNPI = the NPI
; XUSQID = the qualified identifier for the file being edited (ex. "Individual_ID")
; XUSQIL = the delimited list of entities already using that NPI. This is output
; from $$QI^XUSNPI, in the format:
; Qualified_Identifier^IEN^Effective_date/time^Active/Inactive;
; (Qualified_Identifier=(ex. "Individual_ID")
; IEN=the IEN of the entity who owns the NPI.
; If there are multiple entities who own the NPI, there will
; be multiple entries in XUSQIL, delimited by ";".)
; XUSIEN = IEN of entry to which NPI is being assigned
; XUSRSLT = an output array returned if an error or warning message is generated.
; XUSFLAG = If set to 1, indicates that routine is being called from an input transform.
; If set to 2, indicates we're checking the current NPI prior to delete/replace
; If set to 3, indicates we're checking a new NPI (Either ADD or REPLACE).
;
; The function will return:
; 0 - No Error
; 1 - Error
; 2 - Warning
;
N XUSGLOB,XUSERR,XUSWARN,XUSFILE,XUSCNT,XUSFILI,XUSNEWPT,ZZ,X,I
N XUSOU,XUSOAI,XUSOIEN,XUSOQID,XUSOPT
K XUSRSLT
; If NPI is not already in use, quit 0 (no error)
I XUSQIL=0 Q 0
; If NPI is malformed, quit 1 (error)
I +XUSQIL=0,$P(XUSQIL,U,2)="Invalid NPI" D Q 1
. S XUSRSLT(1)="NPI values have a specific structure to validate them..."
. S XUSRSLT(2)="The Checksum for this entry is not valid"
. Q
D GETLST^XPAR(.ZZ,"PKG.KERNEL","XUSNPI QUALIFIED IDENTIFIER")
S ZZ=""
F S ZZ=$O(ZZ(ZZ)) Q:ZZ'>0 I $P(ZZ(ZZ),U)=XUSQID Q
I ZZ'>0 S XUSRSLT(1)="Invalid 'Qualified Identifier' Input Parameter "_XUSQID_" passed." Q 1
S XUSFLAG=+$G(XUSFLAG)
S XUSIEN=+$G(XUSIEN)
; If user being updated is NON-VA Provider, get their Provider Type and file name
S XUSNEWPT=0,XUSFILI=""
; Read through list of entities that already own the NPI
S (XUSERR,XUSWARN,XUSCNT)=0
F I=1:1 S XUSOU=$P(XUSQIL,";",I) Q:XUSOU=""!(XUSERR) D
. ; Get Qualified Identifier, IEN and Active/Inactive flag for other entity who owns the NPI
. S XUSOQID=$P(XUSOU,U)
. S XUSOIEN=+$P(XUSOU,U,2)
. S XUSOAI=$P(XUSOU,U,4)
. ; Find Qualified Identifier of file that already owns the NPI in the list of valid QIs
. S ZZ="" F S ZZ=$O(ZZ(ZZ)) Q:ZZ'>0 I $P(ZZ(ZZ),U)=XUSOQID Q
. I ZZ'>0 D Q
. . S XUSERR=1
. . S XUSRSLT(1)="Invalid Qualified Identifier "_XUSOQID_" returned from $$QI^XUSNPI" Q
. ; Get global reference for file that owns NPI
. S XUSGLOB="^"_$P(ZZ(ZZ),U,2)
. ; If called from the input transform, and an entity is trying to enter an NPI they
. ; have previously held, it's not an error, unless NPI is inactive.
. I XUSFLAG=1,XUSQID=XUSOQID,XUSIEN=XUSOIEN,XUSOAI'="Inactive" Q
. ; Put provider type information into XUSOPT to generate error/warning
. S XUSOPT=0
. I XUSFLAG'=1 D
. . I XUSOQID="Individual_ID" S XUSOPT="2^"
. . I XUSOQID="Organization_ID" S XUSOPT="1^"
. . I XUSOQID="Non_VA_Provider_ID" S XUSOPT=$$GETPT(XUSOIEN)
. . Q
. ; If editing a VA Provider, and a non-VA Provider has same current NPI, build both the
. ; warning a user sees prior to replacing or deleting the current NPI, and the warning
. ; the user will see after replacing the NPI.
. I XUSFLAG=2 D Q
. . Q:XUSOQID'="Non_VA_Provider_ID"
. . D MSGOLD(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,XUSOPT,XUSOAI,.XUSRSLT)
. . S XUSWARN=1
. . Q
. ; If an entity in the same file owns the NPI, it's an error.
. I $P(XUSOU,U)=XUSQID D Q
. . D:XUSFLAG'=1 MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
. . S XUSERR=1 Q
. ; If an entity in the INSTITUTION file (#4) already owns the NPI, it's an error.
. I $P(XUSOU,U)="Organization_ID" D Q
. . D:XUSFLAG'=1 MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
. . S XUSERR=1 Q
. ; If new entry being edited is a VA INSTITUTION and any other entity owns the NPI, it's an error
. I XUSQID="Organization_ID" D Q
. . D:XUSFLAG'=1 MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
. . S XUSERR=1 Q
. ; Providers in file 200 or 355.93 can share an NPI. If NPI in file 355.93 is Active,
. ; issue a warning, if inactive, issue an error
. I XUSFLAG'=1 D MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT,XUSOAI)
. I XUSOAI="Inactive" S XUSERR=1 Q
. S XUSWARN=1
. Q
I XUSERR Q 1
I XUSWARN Q 2
Q 0
;
GETPT(XUSIEN) ; Get provider type for entry in IB NON/OTHER VA BILLING PROVIDER file
N PT
S PT=+$$GET1^DIQ(355.93,XUSIEN_",",.02,"I")
; Null provider type returned as 3.
I PT=1 S PT="1^the FACILITY/GROUP provider "
E I PT=2 S PT="2^the INDIVIDUAL provider "
E S PT="3^"
K ^TMP("DIERR",$J)
Q PT
;
GETPER(XUSOWNKY) ; Return names of people who own the security key IB PROVIDER EDIT
N XUSIEN,X
F XUSIEN=0:0 S XUSIEN=$O(^XUSEC("IB PROVIDER EDIT",XUSIEN)) Q:'XUSIEN D
. Q:$G(^VA(200,XUSIEN,0))=""
. ; Don't return TERMINATED or DISUSERed users
. S X=$$ACTIVE^XUSER(XUSIEN)
. I X=""!($P(X,U)=0) Q
. ; Put users IENs into output array
. S XUSOWNKY(XUSIEN)="" Q
Q
;
MSGOLD(XUSNPI,XUSGLOB,XUSIEN,XUSCNT,XUSOPT,XUSOAI,XUSRSLT) ;
; Generate warning message to display prior to REPLACE/DELETE NPI prompt, when the current
; NPI is also used by a non-va provider
N XUSFILE,XUSOWNKY,I,J,X
S XUSFILE=$P(@(XUSGLOB_"0)"),U)
S X=""
S:$G(XUSOPT) X=$P(XUSOPT,U,2)
S XUSCNT=XUSCNT+1,XUSRSLT(XUSCNT)="The NPI of "_XUSNPI_" is also associated with "_X
S XUSCNT=XUSCNT+1,XUSRSLT(XUSCNT)=$P(@(XUSGLOB_XUSIEN_",0)"),U)
I XUSOAI="Inactive" S XUSRSLT(XUSCNT)=XUSRSLT(XUSCNT)_" as INACTIVE"
S XUSRSLT(XUSCNT)=XUSRSLT(XUSCNT)_" in the "_XUSFILE_" file."
S XUSCNT=XUSCNT+2
; Generate warning message to display after REPLACE NPI, when the current NPI
; is also used by a non-va provider
;
S I=$O(XUSRSLT("X",999999999999),-1)
S XUSRSLT("X",I+1)="Warning: NPI "_XUSNPI_" is also associated with provider "_$P(@(XUSGLOB_XUSIEN_",0)"),U)_"."
S XUSRSLT("X",I+2)=""
S XUSRSLT("X",I+3)="A Mailman message has been sent to holders of the ""IB PROVIDER EDIT"""
S XUSRSLT("X",I+4)="security key."
S I=$O(XUSRSLT("XMSG",999999999999),-1)
S XUSRSLT("XMSG",I+1,0)="The NPI "_XUSNPI_" was ^ for ^ in"
S XUSRSLT("XMSG",I+2,0)="the NEW PERSON file. The NPI "_XUSNPI_" is also associated with"
S XUSRSLT("XMSG",I+3,0)=$P(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
S XUSRSLT("XMSG",I+4,0)=" "
S XUSRSLT("XMSG",I+5,0)="The same change may need to be made to the "_XUSFILE
S XUSRSLT("XMSG",I+6,0)="using the PROVIDER ID MAINTENANCE option."
; Get names of persons to notify
D GETPER(.XUSOWNKY)
S I=$O(XUSRSLT("XRCPT",999999999999),-1)
F J=0:0 S J=$O(XUSOWNKY(J)) Q:'J S I=I+1,XUSRSLT("XRCPT",I)=J
Q
;
MSGNEW(XUSNPI,XUSGLOB,XUSIEN,XUSCNT,XUSRSLT,XUSOPT,XUSOAI) ;
; Generate error or warning message when new NPI is in use.
N XUSFILE,X
S XUSFILE=$P(@(XUSGLOB_"0)"),U)
S X=""
S:$G(XUSOPT) X=$P(XUSOPT,U,2)
I $G(XUSOAI)="" D Q
. S XUSRSLT(XUSCNT+1)="The NPI of "_XUSNPI_" is now, or was in the past, associated with"
. S XUSRSLT(XUSCNT+2)=X_$P(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
. S XUSCNT=XUSCNT+2
. Q
S XUSRSLT(XUSCNT+1)="The NPI of "_XUSNPI_" is also associated with "_X
S XUSRSLT(XUSCNT+2)=$P(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
S XUSCNT=XUSCNT+2
I XUSOAI="Inactive" D Q
. S XUSCNT=XUSCNT+1,XUSRSLT(XUSCNT)="This NPI is INACTIVE and may not be used."
. Q
Q
;
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUSNPI1 7925 printed Nov 22, 2024@17:22:46 Page 2
XUSNPI1 ; OAK/TKW - NATIONAL PROVIDER IDENTIFIER UTILITIES ;6/6/08 11:27
+1 ;;8.0;KERNEL;**480**; July 10, 1995;Build 38
+2 ;;Per VHA Directive 2004-038, this routine should not be modified
NPIUSED(XUSNPI,XUSQID,XUSQIL,XUSIEN,XUSRSLT,XUSFLAG) ; Evaluate cases where an NPI is already in use
+1 ; and return an error or warning. Called from routines that allow an NPI to be assigned
+2 ; to either an INSTITUTION (file 4) or a NEW PERSON (file 200).
+3 ; XUSNPI = the NPI
+4 ; XUSQID = the qualified identifier for the file being edited (ex. "Individual_ID")
+5 ; XUSQIL = the delimited list of entities already using that NPI. This is output
+6 ; from $$QI^XUSNPI, in the format:
+7 ; Qualified_Identifier^IEN^Effective_date/time^Active/Inactive;
+8 ; (Qualified_Identifier=(ex. "Individual_ID")
+9 ; IEN=the IEN of the entity who owns the NPI.
+10 ; If there are multiple entities who own the NPI, there will
+11 ; be multiple entries in XUSQIL, delimited by ";".)
+12 ; XUSIEN = IEN of entry to which NPI is being assigned
+13 ; XUSRSLT = an output array returned if an error or warning message is generated.
+14 ; XUSFLAG = If set to 1, indicates that routine is being called from an input transform.
+15 ; If set to 2, indicates we're checking the current NPI prior to delete/replace
+16 ; If set to 3, indicates we're checking a new NPI (Either ADD or REPLACE).
+17 ;
+18 ; The function will return:
+19 ; 0 - No Error
+20 ; 1 - Error
+21 ; 2 - Warning
+22 ;
+23 NEW XUSGLOB,XUSERR,XUSWARN,XUSFILE,XUSCNT,XUSFILI,XUSNEWPT,ZZ,X,I
+24 NEW XUSOU,XUSOAI,XUSOIEN,XUSOQID,XUSOPT
+25 KILL XUSRSLT
+26 ; If NPI is not already in use, quit 0 (no error)
+27 IF XUSQIL=0
QUIT 0
+28 ; If NPI is malformed, quit 1 (error)
+29 IF +XUSQIL=0
IF $PIECE(XUSQIL,U,2)="Invalid NPI"
Begin DoDot:1
+30 SET XUSRSLT(1)="NPI values have a specific structure to validate them..."
+31 SET XUSRSLT(2)="The Checksum for this entry is not valid"
+32 QUIT
End DoDot:1
QUIT 1
+33 DO GETLST^XPAR(.ZZ,"PKG.KERNEL","XUSNPI QUALIFIED IDENTIFIER")
+34 SET ZZ=""
+35 FOR
SET ZZ=$ORDER(ZZ(ZZ))
if ZZ'>0
QUIT
IF $PIECE(ZZ(ZZ),U)=XUSQID
QUIT
+36 IF ZZ'>0
SET XUSRSLT(1)="Invalid 'Qualified Identifier' Input Parameter "_XUSQID_" passed."
QUIT 1
+37 SET XUSFLAG=+$GET(XUSFLAG)
+38 SET XUSIEN=+$GET(XUSIEN)
+39 ; If user being updated is NON-VA Provider, get their Provider Type and file name
+40 SET XUSNEWPT=0
SET XUSFILI=""
+41 ; Read through list of entities that already own the NPI
+42 SET (XUSERR,XUSWARN,XUSCNT)=0
+43 FOR I=1:1
SET XUSOU=$PIECE(XUSQIL,";",I)
if XUSOU=""!(XUSERR)
QUIT
Begin DoDot:1
+44 ; Get Qualified Identifier, IEN and Active/Inactive flag for other entity who owns the NPI
+45 SET XUSOQID=$PIECE(XUSOU,U)
+46 SET XUSOIEN=+$PIECE(XUSOU,U,2)
+47 SET XUSOAI=$PIECE(XUSOU,U,4)
+48 ; Find Qualified Identifier of file that already owns the NPI in the list of valid QIs
+49 SET ZZ=""
FOR
SET ZZ=$ORDER(ZZ(ZZ))
if ZZ'>0
QUIT
IF $PIECE(ZZ(ZZ),U)=XUSOQID
QUIT
+50 IF ZZ'>0
Begin DoDot:2
+51 SET XUSERR=1
+52 SET XUSRSLT(1)="Invalid Qualified Identifier "_XUSOQID_" returned from $$QI^XUSNPI"
QUIT
End DoDot:2
QUIT
+53 ; Get global reference for file that owns NPI
+54 SET XUSGLOB="^"_$PIECE(ZZ(ZZ),U,2)
+55 ; If called from the input transform, and an entity is trying to enter an NPI they
+56 ; have previously held, it's not an error, unless NPI is inactive.
+57 IF XUSFLAG=1
IF XUSQID=XUSOQID
IF XUSIEN=XUSOIEN
IF XUSOAI'="Inactive"
QUIT
+58 ; Put provider type information into XUSOPT to generate error/warning
+59 SET XUSOPT=0
+60 IF XUSFLAG'=1
Begin DoDot:2
+61 IF XUSOQID="Individual_ID"
SET XUSOPT="2^"
+62 IF XUSOQID="Organization_ID"
SET XUSOPT="1^"
+63 IF XUSOQID="Non_VA_Provider_ID"
SET XUSOPT=$$GETPT(XUSOIEN)
+64 QUIT
End DoDot:2
+65 ; If editing a VA Provider, and a non-VA Provider has same current NPI, build both the
+66 ; warning a user sees prior to replacing or deleting the current NPI, and the warning
+67 ; the user will see after replacing the NPI.
+68 IF XUSFLAG=2
Begin DoDot:2
+69 if XUSOQID'="Non_VA_Provider_ID"
QUIT
+70 DO MSGOLD(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,XUSOPT,XUSOAI,.XUSRSLT)
+71 SET XUSWARN=1
+72 QUIT
End DoDot:2
QUIT
+73 ; If an entity in the same file owns the NPI, it's an error.
+74 IF $PIECE(XUSOU,U)=XUSQID
Begin DoDot:2
+75 if XUSFLAG'=1
DO MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
+76 SET XUSERR=1
QUIT
End DoDot:2
QUIT
+77 ; If an entity in the INSTITUTION file (#4) already owns the NPI, it's an error.
+78 IF $PIECE(XUSOU,U)="Organization_ID"
Begin DoDot:2
+79 if XUSFLAG'=1
DO MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
+80 SET XUSERR=1
QUIT
End DoDot:2
QUIT
+81 ; If new entry being edited is a VA INSTITUTION and any other entity owns the NPI, it's an error
+82 IF XUSQID="Organization_ID"
Begin DoDot:2
+83 if XUSFLAG'=1
DO MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT)
+84 SET XUSERR=1
QUIT
End DoDot:2
QUIT
+85 ; Providers in file 200 or 355.93 can share an NPI. If NPI in file 355.93 is Active,
+86 ; issue a warning, if inactive, issue an error
+87 IF XUSFLAG'=1
DO MSGNEW(XUSNPI,XUSGLOB,XUSOIEN,.XUSCNT,.XUSRSLT,XUSOPT,XUSOAI)
+88 IF XUSOAI="Inactive"
SET XUSERR=1
QUIT
+89 SET XUSWARN=1
+90 QUIT
End DoDot:1
+91 IF XUSERR
QUIT 1
+92 IF XUSWARN
QUIT 2
+93 QUIT 0
+94 ;
GETPT(XUSIEN) ; Get provider type for entry in IB NON/OTHER VA BILLING PROVIDER file
+1 NEW PT
+2 SET PT=+$$GET1^DIQ(355.93,XUSIEN_",",.02,"I")
+3 ; Null provider type returned as 3.
+4 IF PT=1
SET PT="1^the FACILITY/GROUP provider "
+5 IF '$TEST
IF PT=2
SET PT="2^the INDIVIDUAL provider "
+6 IF '$TEST
SET PT="3^"
+7 KILL ^TMP("DIERR",$JOB)
+8 QUIT PT
+9 ;
GETPER(XUSOWNKY) ; Return names of people who own the security key IB PROVIDER EDIT
+1 NEW XUSIEN,X
+2 FOR XUSIEN=0:0
SET XUSIEN=$ORDER(^XUSEC("IB PROVIDER EDIT",XUSIEN))
if 'XUSIEN
QUIT
Begin DoDot:1
+3 if $GET(^VA(200,XUSIEN,0))=""
QUIT
+4 ; Don't return TERMINATED or DISUSERed users
+5 SET X=$$ACTIVE^XUSER(XUSIEN)
+6 IF X=""!($PIECE(X,U)=0)
QUIT
+7 ; Put users IENs into output array
+8 SET XUSOWNKY(XUSIEN)=""
QUIT
End DoDot:1
+9 QUIT
+10 ;
MSGOLD(XUSNPI,XUSGLOB,XUSIEN,XUSCNT,XUSOPT,XUSOAI,XUSRSLT) ;
+1 ; Generate warning message to display prior to REPLACE/DELETE NPI prompt, when the current
+2 ; NPI is also used by a non-va provider
+3 NEW XUSFILE,XUSOWNKY,I,J,X
+4 SET XUSFILE=$PIECE(@(XUSGLOB_"0)"),U)
+5 SET X=""
+6 if $GET(XUSOPT)
SET X=$PIECE(XUSOPT,U,2)
+7 SET XUSCNT=XUSCNT+1
SET XUSRSLT(XUSCNT)="The NPI of "_XUSNPI_" is also associated with "_X
+8 SET XUSCNT=XUSCNT+1
SET XUSRSLT(XUSCNT)=$PIECE(@(XUSGLOB_XUSIEN_",0)"),U)
+9 IF XUSOAI="Inactive"
SET XUSRSLT(XUSCNT)=XUSRSLT(XUSCNT)_" as INACTIVE"
+10 SET XUSRSLT(XUSCNT)=XUSRSLT(XUSCNT)_" in the "_XUSFILE_" file."
+11 SET XUSCNT=XUSCNT+2
+12 ; Generate warning message to display after REPLACE NPI, when the current NPI
+13 ; is also used by a non-va provider
+14 ;
+15 SET I=$ORDER(XUSRSLT("X",999999999999),-1)
+16 SET XUSRSLT("X",I+1)="Warning: NPI "_XUSNPI_" is also associated with provider "_$PIECE(@(XUSGLOB_XUSIEN_",0)"),U)_"."
+17 SET XUSRSLT("X",I+2)=""
+18 SET XUSRSLT("X",I+3)="A Mailman message has been sent to holders of the ""IB PROVIDER EDIT"""
+19 SET XUSRSLT("X",I+4)="security key."
+20 SET I=$ORDER(XUSRSLT("XMSG",999999999999),-1)
+21 SET XUSRSLT("XMSG",I+1,0)="The NPI "_XUSNPI_" was ^ for ^ in"
+22 SET XUSRSLT("XMSG",I+2,0)="the NEW PERSON file. The NPI "_XUSNPI_" is also associated with"
+23 SET XUSRSLT("XMSG",I+3,0)=$PIECE(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
+24 SET XUSRSLT("XMSG",I+4,0)=" "
+25 SET XUSRSLT("XMSG",I+5,0)="The same change may need to be made to the "_XUSFILE
+26 SET XUSRSLT("XMSG",I+6,0)="using the PROVIDER ID MAINTENANCE option."
+27 ; Get names of persons to notify
+28 DO GETPER(.XUSOWNKY)
+29 SET I=$ORDER(XUSRSLT("XRCPT",999999999999),-1)
+30 FOR J=0:0
SET J=$ORDER(XUSOWNKY(J))
if 'J
QUIT
SET I=I+1
SET XUSRSLT("XRCPT",I)=J
+31 QUIT
+32 ;
MSGNEW(XUSNPI,XUSGLOB,XUSIEN,XUSCNT,XUSRSLT,XUSOPT,XUSOAI) ;
+1 ; Generate error or warning message when new NPI is in use.
+2 NEW XUSFILE,X
+3 SET XUSFILE=$PIECE(@(XUSGLOB_"0)"),U)
+4 SET X=""
+5 if $GET(XUSOPT)
SET X=$PIECE(XUSOPT,U,2)
+6 IF $GET(XUSOAI)=""
Begin DoDot:1
+7 SET XUSRSLT(XUSCNT+1)="The NPI of "_XUSNPI_" is now, or was in the past, associated with"
+8 SET XUSRSLT(XUSCNT+2)=X_$PIECE(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
+9 SET XUSCNT=XUSCNT+2
+10 QUIT
End DoDot:1
QUIT
+11 SET XUSRSLT(XUSCNT+1)="The NPI of "_XUSNPI_" is also associated with "_X
+12 SET XUSRSLT(XUSCNT+2)=$PIECE(@(XUSGLOB_XUSIEN_",0)"),U)_" in the "_XUSFILE_" file."
+13 SET XUSCNT=XUSCNT+2
+14 IF XUSOAI="Inactive"
Begin DoDot:1
+15 SET XUSCNT=XUSCNT+1
SET XUSRSLT(XUSCNT)="This NPI is INACTIVE and may not be used."
+16 QUIT
End DoDot:1
QUIT
+17 QUIT
+18 ;
+19 ;