PXCECPT ;ISL/dee,ISA/Zoltan,esw - Used to edit and display V CPT ; 1/13/03 4:21pm
;;1.0;PCE PATIENT CARE ENCOUNTER;**14,27,73,89,112**;Aug 12, 1996
;; ;
Q
;
;+Structure of Line with the line label "FORMAT"
;+;;Long name~File Number~Node Subscripts~Allow Duplicate entries (1=yes, 0=no)~File global name
;+ 1 2 3 4 5
;+
;+Structure of Followning lines:
;+;;Node~Piece~,Field Number~Edit Label~Display Label~Display Routine~Edit Routine~Help Text for DIR("?")~Set of PXCEKEYS that can Edit~D if Detail Display Only~
;+ 1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 8 ~ 9 ~ 10
;+The Display & Edit routines are for special cases.
;+ (The .01 fields cannot have a special edit.)
;
FORMAT ;;CPT~9000010.18~0,1,12,802,811,812~1~^AUPNVCPT
;;0~1~.01~CPT Code: ~CPT Code: ~$$DISPLY01^PXCECPT~ECPTCODE^PXCECPT~^D HELP^PXCEHELP~~B
;;1~0~1~CPT Modifier: ~CPT Modifier: ~$$DISPMOD^PXCECPT~ECPTMOD^PXCECPT~Select a Modifier that is valid for the CPT code.~~B
;;0~4~.04~Provider Narrative: ~Provider Narrative: ~$$DNARRAT^PXCECPT~ENARRAT^PXCEPOV1(1,1,1,81,2)~~~B
;;0~16~.16~Quantity: ~Quantity: ~~EQUAN^PXCECPT~~~D
;;0~7~.07~Principal Procedure: ~Principal Procedure: ~~~~~D
;;12~4~1204~Encounter Provider: ~Encounter Provider: ~~EPROV12^PXCEPRV~~~D
;;802~1~80201~Provider Narrative Category: ~Provider Narrative Category: ~$$DNARRAT^PXCECPT~ENARRAT^PXCEPOV1(0,2,0,81,3)~~C~D
;;811~1~81101~Comments: ~Comments: ~~~~~D
;;
;Do not use this one
;;0~5~.05~Diagnosis: ~Diagnosis: ~$$DISPLY01^PXCEPOV~~~~D
;
;The interface for AICS to get list on form for help.
INTRFACE ;;DG SELECT CPT PROCEDURE CODES
;+
;+********************************
;+Special cases for display.
;
DISPMOD(PXCECPT) ;
;+Display the modifiers associated with this V CPT entry.
;+PXCECPT = IEN in V CPT file.
N MODS,SIEN,MODIEN,SCRATCH,MODSTR,MODNAME,OUTSTR
I $G(PXCECPT)="" S PXCECPT=IEN
S OUTSTR=""
I PXCECPT="" Q OUTSTR
S SIEN=0
F MODS=1:1 S SIEN=$O(^AUPNVCPT(PXCECPT,1,SIEN)) Q:'SIEN D
. S MODIEN=$P($G(^AUPNVCPT(PXCECPT,1,SIEN,0)),"^")
. S $P(OUTSTR,U,MODS)=$$MODTEXT(MODIEN)
Q OUTSTR
DNARRAT(PNAR) ;+Display Provider Narrative for procedure in V CPT file.
I PNAR="" Q ""
N PXCEPNAR
S PXCEPNAR=$P(^AUTNPOV(PNAR,0),"^")
I $G(VIEW)="B",$D(ENTRY)>0 D
. N DIC,DR,DA,DIQ,PXCEDIQ1
. S DIC=81
. S DR="2"
. S DA=$P(ENTRY(0),"^",1)
. S DIQ="PXCEDIQ1("
. S DIQ(0)="E"
. D EN^DIQ1
. S:PXCEDIQ1(81,DA,2,"E")=PXCEPNAR PXCEPNAR=""
Q PXCEPNAR
;+
;+********************************
;+Special cases for edit.
;+
ECPTCODE ;+Code to edit CPT Code in V CPT file.
K DIRUT
N DIC,DA,PXCPTDT,PXDFLT
S PXCPTDT=+^TMP("PXK",$J,"VST",1,0,"AFTER")
S (X,PXDFLT)=""
I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))'="" D
. N DIERR,PXCEDILF,PXCEINT,PXCEEXT
. S PXCEINT=$P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))
. S PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$P(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
. S PXDFLT=$S('$D(DIERR):PXCEEXT,1:PXCEINT)
S Y=$$GETCODE^PXCPTAPI(PXDFLT,PXCPTDT)
I Y="@" S X="@" Q
I Y<0 S DIRUT=1 Q
S PXCEMOD=$P(Y,"-",2)
S Y=$P(Y,"-"),X=+Y
I PXCEDIRB="" Q
I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))=X Q
Q:$$CHGCPT()
G ECPTCODE
;
ECPTMOD ;+Prompt for CPT Modifier in V CPT file.
;
;--If there are no modifiers for CPT code do not prompt
Q:PXMDCNT'>0
N DTOUT,DUOUT,DIROUT,DIR,PXSUB,PXSEQ,PXSTR,PXARR
N DA,DIC,PXLINE,SUBIEN,PXFILE,PXMOD,PXI
S PXSUB=1,PXSTR=""
S DA=^TMP("PXK",$J,PXCECATS,1,"IEN")
S DR=1
S DIE="^AUPNVCPT("
S DIC(0)="AELMQ"
L +@(DIE_"DA)"):10
I $G(PXCEMOD)]"" D
. I $L(PXCEMOD,",")=1 S DR="1//"_PXCEMOD Q
. S PXMOD=""
. F PXI=1:1 S PXMOD=$P(PXCEMOD,",",PXI) Q:PXMOD="" D
.. K PXERR
.. D VAL^DIE(9000010.181,DA,.01,"",PXMOD,.PXERR)
.. Q:PXERR="^"
.. S DR="1///^S X=PXMOD"
.. D ^DIE
. S DR=1
D ^DIE
L -@(DIE_"DA)")
; SET NEWLY FILED CPT MODIFIERS INTO LOCAL ARRAY
K PXCEAFTR(1)
D GETS^DIQ(9000010.18,^TMP("PXK",$J,PXCECATS,1,"IEN"),"1*","I","PXARR")
S PXFILE=9000010.181
S PXSUB=""
F S PXSUB=$O(PXARR(PXFILE,PXSUB)) Q:PXSUB="" D
. S PXCEAFTR(1,$P(PXSUB,","))=PXARR(PXFILE,PXSUB,.01,"I")
I $D(DTOUT)!$D(Y) S (PXCEEND,PXCEQUIT)=1 Q
Q
;
EQUAN ;+Code to edit Quantity in V CPT file.
I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))'="" D
. N DIERR,PXCEDILF,PXCEINT,PXCEEXT
. S PXCEINT=$P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))
. S PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$P(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
. S DIR("B")=$S('$D(DIERR):PXCEEXT,1:PXCEINT)
E S DIR("B")=1
S DIR(0)=PXCEFILE_","_$P(PXCETEXT,"~",3)_"A"
S DIR("A")=$P(PXCETEXT,"~",4)
S:$P(PXCETEXT,"~",8)]"" DIR("?")=$P(PXCETEXT,"~",8)
D ^DIR
K DIR,DA
I $D(DTOUT)!$D(DUOUT) S (PXCEEND,PXCEQUIT)=1 Q
I +Y<1 W !,$C(7),"Quanitity is required.",! G EQUAN
I +Y>1,$D(^IBE(357.69,$G(PXCEIN01))) W !,"Only one E&M allowed, quantity changed to 1.",! S Y=1 ;PX112
S:$P(Y,"^")="" Y=1
S $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))=$P(Y,"^")
Q
;+
;+********************************
;+Special Reusable Functionality
DISPLY01(PXCECPT) ;
;Display text for the .01 field which is a pointer to ^ICPT.
;Also called with the Evaluation and Management Code from the visit
; in the parameter.
;(Must have is called by ASK^PXCEVFI2 and DEL^PXCEVFI2.)
N DIC,DR,DA,DIQ,PXCEFNUM,PXCEDIQ1
S (DIC,PXCEFNUM)=81
S DR=".01;2"
S DA=+$P(PXCECPT,"^",1)
S DIQ="PXCEDIQ1("
S DIQ(0)="E"
D EN^DIQ1
Q PXCEDIQ1(PXCEFNUM,DA,.01,"E")_" "_PXCEDIQ1(PXCEFNUM,DA,2,"E")
EDMOD(MODS,CPT) ;+Edit the Modifiers for a CPT code entry.
N MNUM S MNUM=0 ; Modifier number.
N MIEN,MTEXT
Q
MODNAME(MODIEN) ;+Return #.02 NAME for this CPT MODIFIER (#81.3)
Q
MODTEXT(MODIEN) ;+Return string of text describing modifier.
;+MODIEN = IEN in CPT MODIFIER file (#81.3).
;+Returns: MODIFIER (#.01) followed by NAME(#.02).
N MOD,DESC,TEXT,RVAL
S RVAL=$$MOD^ICPTMOD(MODIEN,"I")
S MOD=$P(RVAL,"^",2)
S DESC=$P(RVAL,"^",3)
S TEXT=MOD_" "_DESC
Q TEXT
CHGCPT() ;Verify CPT code should be modified
;If response is yes remove modifiers on file for CPT code
N DIR,DA,X,Y,PXIEN
W !!,$C(7),"WARNING! THIS WILL ALSO DELETE ANY MODIFIERS ASSOCIATED WITH CPT CODE "_PXCEDIRB
S DIR(0)="Y"
S DIR("A")="SURE YOU WANT TO CHANGE THE CPT CODE?"
S DIR("B")="YES"
D ^DIR
;Delete CPT Modifiers from V CPT file for current IEN
I 'Y Q +Y
S DA(1)=PXCEFIEN
S DIK="^AUPNVCPT("_DA(1)_","_1_","
S PXIEN=""
F S PXIEN=$O(PXCEAFTR(1,PXIEN)) Q:PXIEN="" D
. S DA=PXIEN
. D ^DIK
Q 1
;
NEWCODE ;
K DD,DO
N DIC,X,Y
S DIC="^AUPNVCPT("
S DIC(0)=""
S DIC("DR")=".02////^S X=$P(PXCEAFTR(0),""^"",2);"
S DIC("DR")=DIC("DR")_".03////^S X=$P(PXCEAFTR(0),""^"",3);"
S X=PXCEIN01
D FILE^DICN
S PXCEFIEN=+Y
Q
PXCECPT ;ISL/dee,ISA/Zoltan,esw - Used to edit and display V CPT ; 1/13/03 4:21pm
+1 ;;1.0;PCE PATIENT CARE ENCOUNTER;**14,27,73,89,112**;Aug 12, 1996
+2 ;; ;
+3 QUIT
+4 ;
+5 ;+Structure of Line with the line label "FORMAT"
+6 ;+;;Long name~File Number~Node Subscripts~Allow Duplicate entries (1=yes, 0=no)~File global name
+7 ;+ 1 2 3 4 5
+8 ;+
+9 ;+Structure of Followning lines:
+10 ;+;;Node~Piece~,Field Number~Edit Label~Display Label~Display Routine~Edit Routine~Help Text for DIR("?")~Set of PXCEKEYS that can Edit~D if Detail Display Only~
+11 ;+ 1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 8 ~ 9 ~ 10
+12 ;+The Display & Edit routines are for special cases.
+13 ;+ (The .01 fields cannot have a special edit.)
+14 ;
FORMAT ;;CPT~9000010.18~0,1,12,802,811,812~1~^AUPNVCPT
+1 ;;0~1~.01~CPT Code: ~CPT Code: ~$$DISPLY01^PXCECPT~ECPTCODE^PXCECPT~^D HELP^PXCEHELP~~B
+2 ;;1~0~1~CPT Modifier: ~CPT Modifier: ~$$DISPMOD^PXCECPT~ECPTMOD^PXCECPT~Select a Modifier that is valid for the CPT code.~~B
+3 ;;0~4~.04~Provider Narrative: ~Provider Narrative: ~$$DNARRAT^PXCECPT~ENARRAT^PXCEPOV1(1,1,1,81,2)~~~B
+4 ;;0~16~.16~Quantity: ~Quantity: ~~EQUAN^PXCECPT~~~D
+5 ;;0~7~.07~Principal Procedure: ~Principal Procedure: ~~~~~D
+6 ;;12~4~1204~Encounter Provider: ~Encounter Provider: ~~EPROV12^PXCEPRV~~~D
+7 ;;802~1~80201~Provider Narrative Category: ~Provider Narrative Category: ~$$DNARRAT^PXCECPT~ENARRAT^PXCEPOV1(0,2,0,81,3)~~C~D
+8 ;;811~1~81101~Comments: ~Comments: ~~~~~D
+9 ;;
+10 ;Do not use this one
+11 ;;0~5~.05~Diagnosis: ~Diagnosis: ~$$DISPLY01^PXCEPOV~~~~D
+12 ;
+13 ;The interface for AICS to get list on form for help.
INTRFACE ;;DG SELECT CPT PROCEDURE CODES
+1 ;+
+2 ;+********************************
+3 ;+Special cases for display.
+4 ;
DISPMOD(PXCECPT) ;
+1 ;+Display the modifiers associated with this V CPT entry.
+2 ;+PXCECPT = IEN in V CPT file.
+3 NEW MODS,SIEN,MODIEN,SCRATCH,MODSTR,MODNAME,OUTSTR
+4 IF $GET(PXCECPT)=""
SET PXCECPT=IEN
+5 SET OUTSTR=""
+6 IF PXCECPT=""
QUIT OUTSTR
+7 SET SIEN=0
+8 FOR MODS=1:1
SET SIEN=$ORDER(^AUPNVCPT(PXCECPT,1,SIEN))
IF 'SIEN
QUIT
Begin DoDot:1
+9 SET MODIEN=$PIECE($GET(^AUPNVCPT(PXCECPT,1,SIEN,0)),"^")
+10 SET $PIECE(OUTSTR,U,MODS)=$$MODTEXT(MODIEN)
End DoDot:1
+11 QUIT OUTSTR
DNARRAT(PNAR) ;+Display Provider Narrative for procedure in V CPT file.
+1 IF PNAR=""
QUIT ""
+2 NEW PXCEPNAR
+3 SET PXCEPNAR=$PIECE(^AUTNPOV(PNAR,0),"^")
+4 IF $GET(VIEW)="B"
IF $DATA(ENTRY)>0
Begin DoDot:1
+5 NEW DIC,DR,DA,DIQ,PXCEDIQ1
+6 SET DIC=81
+7 SET DR="2"
+8 SET DA=$PIECE(ENTRY(0),"^",1)
+9 SET DIQ="PXCEDIQ1("
+10 SET DIQ(0)="E"
+11 DO EN^DIQ1
+12 IF PXCEDIQ1(81,DA,2,"E")=PXCEPNAR
SET PXCEPNAR=""
End DoDot:1
+13 QUIT PXCEPNAR
+14 ;+
+15 ;+********************************
+16 ;+Special cases for edit.
+17 ;+
ECPTCODE ;+Code to edit CPT Code in V CPT file.
+1 KILL DIRUT
+2 NEW DIC,DA,PXCPTDT,PXDFLT
+3 SET PXCPTDT=+^TMP("PXK",$JOB,"VST",1,0,"AFTER")
+4 SET (X,PXDFLT)=""
+5 IF $PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))'=""
Begin DoDot:1
+6 NEW DIERR,PXCEDILF,PXCEINT,PXCEEXT
+7 SET PXCEINT=$PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))
+8 SET PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$PIECE(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
+9 SET PXDFLT=$SELECT('$DATA(DIERR):PXCEEXT,1:PXCEINT)
End DoDot:1
+10 SET Y=$$GETCODE^PXCPTAPI(PXDFLT,PXCPTDT)
+11 IF Y="@"
SET X="@"
QUIT
+12 IF Y<0
SET DIRUT=1
QUIT
+13 SET PXCEMOD=$PIECE(Y,"-",2)
+14 SET Y=$PIECE(Y,"-")
SET X=+Y
+15 IF PXCEDIRB=""
QUIT
+16 IF $PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))=X
QUIT
+17 IF $$CHGCPT()
QUIT
+18 GOTO ECPTCODE
+19 ;
ECPTMOD ;+Prompt for CPT Modifier in V CPT file.
+1 ;
+2 ;--If there are no modifiers for CPT code do not prompt
+3 IF PXMDCNT'>0
QUIT
+4 NEW DTOUT,DUOUT,DIROUT,DIR,PXSUB,PXSEQ,PXSTR,PXARR
+5 NEW DA,DIC,PXLINE,SUBIEN,PXFILE,PXMOD,PXI
+6 SET PXSUB=1
SET PXSTR=""
+7 SET DA=^TMP("PXK",$JOB,PXCECATS,1,"IEN")
+8 SET DR=1
+9 SET DIE="^AUPNVCPT("
+10 SET DIC(0)="AELMQ"
+11 LOCK +@(DIE_"DA)"):10
+12 IF $GET(PXCEMOD)]""
Begin DoDot:1
+13 IF $LENGTH(PXCEMOD,",")=1
SET DR="1//"_PXCEMOD
QUIT
+14 SET PXMOD=""
+15 FOR PXI=1:1
SET PXMOD=$PIECE(PXCEMOD,",",PXI)
IF PXMOD=""
QUIT
Begin DoDot:2
+16 KILL PXERR
+17 DO VAL^DIE(9000010.181,DA,.01,"",PXMOD,.PXERR)
+18 IF PXERR="^"
QUIT
+19 SET DR="1///^S X=PXMOD"
+20 DO ^DIE
End DoDot:2
+21 SET DR=1
End DoDot:1
+22 DO ^DIE
+23 LOCK -@(DIE_"DA)")
+24 ; SET NEWLY FILED CPT MODIFIERS INTO LOCAL ARRAY
+25 KILL PXCEAFTR(1)
+26 DO GETS^DIQ(9000010.18,^TMP("PXK",$JOB,PXCECATS,1,"IEN"),"1*","I","PXARR")
+27 SET PXFILE=9000010.181
+28 SET PXSUB=""
+29 FOR
SET PXSUB=$ORDER(PXARR(PXFILE,PXSUB))
IF PXSUB=""
QUIT
Begin DoDot:1
+30 SET PXCEAFTR(1,$PIECE(PXSUB,","))=PXARR(PXFILE,PXSUB,.01,"I")
End DoDot:1
+31 IF $DATA(DTOUT)!$DATA(Y)
SET (PXCEEND,PXCEQUIT)=1
QUIT
+32 QUIT
+33 ;
EQUAN ;+Code to edit Quantity in V CPT file.
+1 IF $PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))'=""
Begin DoDot:1
+2 NEW DIERR,PXCEDILF,PXCEINT,PXCEEXT
+3 SET PXCEINT=$PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))
+4 SET PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$PIECE(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
+5 SET DIR("B")=$SELECT('$DATA(DIERR):PXCEEXT,1:PXCEINT)
End DoDot:1
+6 IF '$TEST
SET DIR("B")=1
+7 SET DIR(0)=PXCEFILE_","_$PIECE(PXCETEXT,"~",3)_"A"
+8 SET DIR("A")=$PIECE(PXCETEXT,"~",4)
+9 IF $PIECE(PXCETEXT,"~",8)]""
SET DIR("?")=$PIECE(PXCETEXT,"~",8)
+10 DO ^DIR
+11 KILL DIR,DA
+12 IF $DATA(DTOUT)!$DATA(DUOUT)
SET (PXCEEND,PXCEQUIT)=1
QUIT
+13 IF +Y<1
WRITE !,$CHAR(7),"Quanitity is required.",!
GOTO EQUAN
+14 ;PX112
IF +Y>1
IF $DATA(^IBE(357.69,$GET(PXCEIN01)))
WRITE !,"Only one E&M allowed, quantity changed to 1.",!
SET Y=1
+15 IF $PIECE(Y,"^")=""
SET Y=1
+16 SET $PIECE(PXCEAFTR($PIECE(PXCETEXT,"~",1)),"^",$PIECE(PXCETEXT,"~",2))=$PIECE(Y,"^")
+17 QUIT
+18 ;+
+19 ;+********************************
+20 ;+Special Reusable Functionality
DISPLY01(PXCECPT) ;
+1 ;Display text for the .01 field which is a pointer to ^ICPT.
+2 ;Also called with the Evaluation and Management Code from the visit
+3 ; in the parameter.
+4 ;(Must have is called by ASK^PXCEVFI2 and DEL^PXCEVFI2.)
+5 NEW DIC,DR,DA,DIQ,PXCEFNUM,PXCEDIQ1
+6 SET (DIC,PXCEFNUM)=81
+7 SET DR=".01;2"
+8 SET DA=+$PIECE(PXCECPT,"^",1)
+9 SET DIQ="PXCEDIQ1("
+10 SET DIQ(0)="E"
+11 DO EN^DIQ1
+12 QUIT PXCEDIQ1(PXCEFNUM,DA,.01,"E")_" "_PXCEDIQ1(PXCEFNUM,DA,2,"E")
EDMOD(MODS,CPT) ;+Edit the Modifiers for a CPT code entry.
+1 ; Modifier number.
NEW MNUM
SET MNUM=0
+2 NEW MIEN,MTEXT
+3 QUIT
MODNAME(MODIEN) ;+Return #.02 NAME for this CPT MODIFIER (#81.3)
+1 QUIT
MODTEXT(MODIEN) ;+Return string of text describing modifier.
+1 ;+MODIEN = IEN in CPT MODIFIER file (#81.3).
+2 ;+Returns: MODIFIER (#.01) followed by NAME(#.02).
+3 NEW MOD,DESC,TEXT,RVAL
+4 SET RVAL=$$MOD^ICPTMOD(MODIEN,"I")
+5 SET MOD=$PIECE(RVAL,"^",2)
+6 SET DESC=$PIECE(RVAL,"^",3)
+7 SET TEXT=MOD_" "_DESC
+8 QUIT TEXT
CHGCPT() ;Verify CPT code should be modified
+1 ;If response is yes remove modifiers on file for CPT code
+2 NEW DIR,DA,X,Y,PXIEN
+3 WRITE !!,$CHAR(7),"WARNING! THIS WILL ALSO DELETE ANY MODIFIERS ASSOCIATED WITH CPT CODE "_PXCEDIRB
+4 SET DIR(0)="Y"
+5 SET DIR("A")="SURE YOU WANT TO CHANGE THE CPT CODE?"
+6 SET DIR("B")="YES"
+7 DO ^DIR
+8 ;Delete CPT Modifiers from V CPT file for current IEN
+9 IF 'Y
QUIT +Y
+10 SET DA(1)=PXCEFIEN
+11 SET DIK="^AUPNVCPT("_DA(1)_","_1_","
+12 SET PXIEN=""
+13 FOR
SET PXIEN=$ORDER(PXCEAFTR(1,PXIEN))
IF PXIEN=""
QUIT
Begin DoDot:1
+14 SET DA=PXIEN
+15 DO ^DIK
End DoDot:1
+16 QUIT 1
+17 ;
NEWCODE ;
+1 KILL DD,DO
+2 NEW DIC,X,Y
+3 SET DIC="^AUPNVCPT("
+4 SET DIC(0)=""
+5 SET DIC("DR")=".02////^S X=$P(PXCEAFTR(0),""^"",2);"
+6 SET DIC("DR")=DIC("DR")_".03////^S X=$P(PXCEAFTR(0),""^"",3);"
+7 SET X=PXCEIN01
+8 DO FILE^DICN
+9 SET PXCEFIEN=+Y
+10 QUIT