BQIIPPRV ;VNGT/HS/ALA-Get Provider Data ; 19 Jul 2011 2:39 PM
;;2.7;ICARE MANAGEMENT SYSTEM;**1**;Dec 19, 2017;Build 12
;
;
EN(DATA,OWNR,PLIEN,CRIPC,PLIST) ;EP - BQI GET IPC PROV DETAIL
;Description - Entry point for the panel
;Input Parameters
; OWNR - Owner of panel
; PLIEN - Panel IEN
; PLIST - List of DFNs (optional)
NEW UID,II,TDATA,XX,BQIND,BQMEAS,CAT,CODE,DEC,DEN,DFN,IDATA,MET,MSIEN
NEW NDA,NO,NUM,PROV,PRV,TITLE,TOTP,TYP,VAL,VALUE,XX,YES,TNDA,CAT2,CAT
NEW TAB,MSN,NA,BQIDOD,CNT,DCAT,EXEC,GP,I,ORD,QFL,TAG,STAB,GOAL,CRN
S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
S DATA=$NA(^TMP("BQIIPPRV",UID)) K @DATA
S TDATA=$NA(^TMP("BQIPRVIP",UID)) K @TDATA
;
S II=0
NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIIPPRV D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
;
; get the current IPC definition
S CRIPC=$G(CRIPC,"")
I CRIPC="" S CRIPC=$P($G(^BQI(90508,1,11)),U,1)
S CRN=$O(^BQI(90508,1,22,"B",CRIPC,"")) I CRN="" Q
S @DATA@(II)="T00035PROVIDER^I00010TOTAL_PATIENTS^I00010TOTAL_NDA^"
S @DATA@(II)=@DATA@(II)_"T00030CATEGORY^T00030CAT2^T00060TITLE^T00030ID^"
S @DATA@(II)=@DATA@(II)_"I00010NUMERATOR^I00010DENOMINATOR^I00010DECEASED^T00005PERCENT_MET^T00005PERCENT_GOAL"_$C(30)
;
; If a list of DFNs, process them instead of entire panel
I $D(PLIST)>0 D G DONE
. I $D(PLIST)>1 D
.. S LIST="",BN=""
.. F S BN=$O(PLIST(BN)) Q:BN="" S LIST=LIST_PLIST(BN)
.. K PLIST S PLIST=LIST
. F BQI=1:1 S DFN=$P(PLIST,$C(28),BQI) Q:DFN="" D
.. I $P($G(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R" Q
.. D RPT(DFN)
;
S DFN=0
I $O(^BQICARE(OWNR,1,PLIEN,40,DFN))="" G DONE
;
F S DFN=$O(^BQICARE(OWNR,1,PLIEN,40,DFN)) Q:'DFN D
. I $P($G(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R" Q
. D RPT(DFN)
;
S PRV=""
F S PRV=$O(@TDATA@(PRV)) Q:PRV="" D
. S TOTP=$G(@TDATA@(PRV,"TOTP")),TNDA=0
. S DFN="" F S DFN=$O(@TDATA@(PRV,"NDA",DFN)) Q:DFN="" S TNDA=TNDA+1
. S ORD=""
. F S ORD=$O(@TDATA@(PRV,ORD)) Q:'ORD D
.. S MSN=$O(^BQI(90508,1,22,CRN,1,"C",ORD,"")) I MSN="" Q
.. S IDATA=^BQI(90508,1,22,CRN,1,MSN,0)
.. I $P(IDATA,U,7)=1 Q
.. NEW DA,IENS
.. S DA(2)=1,DA(1)=CRN,DA=MSN,IENS=$$IENS^DILF(.DA)
.. S CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
.. S CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
.. I CRIPC="IPC4/IPC5" D
... S CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
... I CAT="" D
.... S RIEN=$O(^BQI(90506.1,"B",CODE,""))
.... S CAT=$$GET1^DIQ(90506.1,RIEN_",",3.02,"E")
... S CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
.. I CRIPC="IPCMH" D
... S CAT1=$$GET1^DIQ(90508.221,IENS,.03,"E")
... S ICAT=$$GET1^DIQ(90508.221,IENS,.03,"I")
... S CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
... I CAT2="" S CAT2=$$GET1^DIQ(90506.8,ICAT_",",.04,"E")
... S CAT=CAT2,CAT2=CAT1
.. S TAB=$$GET1^DIQ(90508.221,IENS,.13,"I")
.. S STAB=$$GET1^DIQ(90508.221,IENS,.14,"I")
.. I TAB="A" Q
.. S CODE=$P(IDATA,U,1),TITLE=$P(IDATA,U,4),GOAL=$P(IDATA,U,12)
.. S NUM=$G(@TDATA@(PRV,ORD,"NUM"))
.. S DEN=$G(@TDATA@(PRV,ORD,"DEN"))
.. S DEC=$G(@TDATA@(PRV,ORD,"DEC"))
.. I IDATA["Goal Set" S DEN=TOTP
.. I +DEN=0 S MET="0%"
.. I +DEN'=0,+NUM=0 S MET="0%"
.. I +NUM'=0 S MET=$J((NUM/DEN)*100,3,0),MET=$$TRIM^BQIUL1(MET," ")_"%"
.. I PRV'="~" D
... S TRM=0
... I $P($G(^VA(200,PRV,0)),U,13)'="" S TRM=1
... S PROV=PRV_$C(28)_$S(TRM:"*",1:"")_$P($G(^VA(200,PRV,0)),U,1)
.. I PRV="~" S PROV="{NOT ASSIGNED}"
.. S DCAT=CAT
.. I DCAT["_1" S DCAT=$P(CAT,"_1",1)
.. I DCAT["_2" S DCAT=$P(CAT,"_2",1)
.. S II=II+1,@DATA@(II)=PROV_U_TOTP_U_$G(TNDA)_U_DCAT_U_CAT2_U_TITLE_U_CODE_U_NUM_U_DEN_U_DEC_U_MET_U_GOAL_$C(30)
;
DONE ;
S II=II+1,@DATA@(II)=$C(31)
K @TDATA
Q
;
ERR ;
D ^%ZTER
NEW Y,ERRDTM
S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
S BMXSEC="Recording that an error occurred at "_ERRDTM
I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
Q
;
RPT(DFN) ; Get the CRS Clinical Performance information
S PROV=$P($G(^AUPNPAT(DFN,0)),U,14) S:PROV="" PROV="~"
I '$$HRN^BQIUL1(DFN) Q
S @TDATA@(PROV,"TOTP")=$G(@TDATA@(PROV,"TOTP"))+1
S ORD=""
F S ORD=$O(^BQI(90508,1,22,CRN,1,"C",ORD)) Q:ORD="" D
. S MSN=""
. F S MSN=$O(^BQI(90508,1,22,CRN,1,"C",ORD,MSN)) Q:MSN="" D
.. S IDATA=^BQI(90508,1,22,CRN,1,MSN,0)
.. S CODE=$P(IDATA,U,1),TYP=$P(IDATA,U,2),TITLE=$P(IDATA,U,4)
.. ; If inactive, quit
.. I $P(IDATA,U,7)=1 Q
.. NEW DA,IENS
.. S DA(2)=1,DA(1)=CRN,DA=MSN,IENS=$$IENS^DILF(.DA)
.. S CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
.. S MSIEN=$O(^BQI(90506.1,"B",CODE,""))
.. I CAT="",MSIEN'="" S CAT=$$GET1^DIQ(90506.1,MSIEN_",",3.03,"E")
.. I CAT="" S CAT="~"
.. I $P(IDATA,U,5)'="B" S CAT=CAT_"_2"
.. S BQIDOD=$$GET1^DIQ(2,DFN_",",.351,"I")
.. I $G(BQIDOD)'="" D Q
... I CAT'["_" S CAT=CAT_"_1"
... S @TDATA@(PROV,ORD,"DEC")=$G(@TDATA@(PROV,ORD,"DEC"))+1
.. I TYP="R",$P(IDATA,U,5)="B" D
... K XX
... I CODE="IPC_OUTC" D
.... I DFN'="" S VAL=$$OPAT^BQIIPOTC(CRN,DFN)
... I CODE["CTRL" D
.... I DFN'="" S VAL=$$PAT^BQIIPOTC(CRN,DFN,CODE)
... I CODE'="IPC_OUTC",CODE'["CTRL" D
.... D BUN^BQIIPBNL(CRN,MSN,.XX)
.... I DFN'="" S VAL=$$PAT^BQIIPBNL(DFN,.XX)
... I VAL="N/A"!(VAL="NDA") S NUM=0,DEN=0 D STOR(ORD) Q
... ;I VAL="N/A" Q
... I $P(IDATA,U,5)="B" S CAT=CAT_"_1"
... I VAL="NDA" D Q
.... S DEN=0,NUM=0 D STOR(ORD)
.... S @TDATA@(PROV,"NDA",DFN)=1
... I VAL="NO" S DEN=1,NUM=0 D STOR(ORD) Q
... I VAL="YES" S DEN=1,NUM=1 D STOR(ORD) Q
.. I TYP'="G" Q
.. S BQIND=$O(^BQIPAT(DFN,30,"B",CODE,"")) I BQIND="" D Q
... S @TDATA@(PROV,"NDA",DFN)=1
... ;S DEN=1,NUM=0 D STOR(ORD)
... S DEN=0,NUM=0 D STOR(ORD)
.. S BQMEAS=$P(^BQIPAT(DFN,30,BQIND,0),U,1),VALUE=$P(^(0),U,2),NUM=$P(^(0),U,3),DEN=$P(^(0),U,4)
.. ;
.. D STOR(ORD)
Q
;
STOR(ORD) ;EP
S @TDATA@(PROV,ORD,"NUM")=$G(@TDATA@(PROV,ORD,"NUM"))+NUM
S @TDATA@(PROV,ORD,"DEN")=$G(@TDATA@(PROV,ORD,"DEN"))+DEN
;S @TDATA@(PROV,CAT,TITLE,MSN,"NUM")=$G(@TDATA@(PROV,CAT,TITLE,MSN,"NUM"))+NUM
;S @TDATA@(PROV,CAT,TITLE,MSN,"DEN")=$G(@TDATA@(PROV,CAT,TITLE,MSN,"DEN"))+DEN
Q
BQIIPPRV ;VNGT/HS/ALA-Get Provider Data ; 19 Jul 2011 2:39 PM
+1 ;;2.7;ICARE MANAGEMENT SYSTEM;**1**;Dec 19, 2017;Build 12
+2 ;
+3 ;
EN(DATA,OWNR,PLIEN,CRIPC,PLIST) ;EP - BQI GET IPC PROV DETAIL
+1 ;Description - Entry point for the panel
+2 ;Input Parameters
+3 ; OWNR - Owner of panel
+4 ; PLIEN - Panel IEN
+5 ; PLIST - List of DFNs (optional)
+6 NEW UID,II,TDATA,XX,BQIND,BQMEAS,CAT,CODE,DEC,DEN,DFN,IDATA,MET,MSIEN
+7 NEW NDA,NO,NUM,PROV,PRV,TITLE,TOTP,TYP,VAL,VALUE,XX,YES,TNDA,CAT2,CAT
+8 NEW TAB,MSN,NA,BQIDOD,CNT,DCAT,EXEC,GP,I,ORD,QFL,TAG,STAB,GOAL,CRN
+9 SET UID=$SELECT($GET(ZTSK):"Z"_ZTSK,1:$JOB)
+10 SET DATA=$NAME(^TMP("BQIIPPRV",UID))
KILL @DATA
+11 SET TDATA=$NAME(^TMP("BQIPRVIP",UID))
KILL @TDATA
+12 ;
+13 SET II=0
+14 ; SAC 2006 2.2.3.3.2
NEW $ESTACK,$ETRAP
SET $ETRAP="D ERR^BQIIPPRV D UNWIND^%ZTER"
+15 ;
+16 ; get the current IPC definition
+17 SET CRIPC=$GET(CRIPC,"")
+18 IF CRIPC=""
SET CRIPC=$PIECE($GET(^BQI(90508,1,11)),U,1)
+19 SET CRN=$ORDER(^BQI(90508,1,22,"B",CRIPC,""))
IF CRN=""
QUIT
+20 SET @DATA@(II)="T00035PROVIDER^I00010TOTAL_PATIENTS^I00010TOTAL_NDA^"
+21 SET @DATA@(II)=@DATA@(II)_"T00030CATEGORY^T00030CAT2^T00060TITLE^T00030ID^"
+22 SET @DATA@(II)=@DATA@(II)_"I00010NUMERATOR^I00010DENOMINATOR^I00010DECEASED^T00005PERCENT_MET^T00005PERCENT_GOAL"_$CHAR(30)
+23 ;
+24 ; If a list of DFNs, process them instead of entire panel
+25 IF $DATA(PLIST)>0
Begin DoDot:1
+26 IF $DATA(PLIST)>1
Begin DoDot:2
+27 SET LIST=""
SET BN=""
+28 FOR
SET BN=$ORDER(PLIST(BN))
IF BN=""
QUIT
SET LIST=LIST_PLIST(BN)
+29 KILL PLIST
SET PLIST=LIST
End DoDot:2
+30 FOR BQI=1:1
SET DFN=$PIECE(PLIST,$CHAR(28),BQI)
IF DFN=""
QUIT
Begin DoDot:2
+31 IF $PIECE($GET(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R"
QUIT
+32 DO RPT(DFN)
End DoDot:2
End DoDot:1
GOTO DONE
+33 ;
+34 SET DFN=0
+35 IF $ORDER(^BQICARE(OWNR,1,PLIEN,40,DFN))=""
GOTO DONE
+36 ;
+37 FOR
SET DFN=$ORDER(^BQICARE(OWNR,1,PLIEN,40,DFN))
IF 'DFN
QUIT
Begin DoDot:1
+38 IF $PIECE($GET(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R"
QUIT
+39 DO RPT(DFN)
End DoDot:1
+40 ;
+41 SET PRV=""
+42 FOR
SET PRV=$ORDER(@TDATA@(PRV))
IF PRV=""
QUIT
Begin DoDot:1
+43 SET TOTP=$GET(@TDATA@(PRV,"TOTP"))
SET TNDA=0
+44 SET DFN=""
FOR
SET DFN=$ORDER(@TDATA@(PRV,"NDA",DFN))
IF DFN=""
QUIT
SET TNDA=TNDA+1
+45 SET ORD=""
+46 FOR
SET ORD=$ORDER(@TDATA@(PRV,ORD))
IF 'ORD
QUIT
Begin DoDot:2
+47 SET MSN=$ORDER(^BQI(90508,1,22,CRN,1,"C",ORD,""))
IF MSN=""
QUIT
+48 SET IDATA=^BQI(90508,1,22,CRN,1,MSN,0)
+49 IF $PIECE(IDATA,U,7)=1
QUIT
+50 NEW DA,IENS
+51 SET DA(2)=1
SET DA(1)=CRN
SET DA=MSN
SET IENS=$$IENS^DILF(.DA)
+52 SET CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
+53 SET CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
+54 IF CRIPC="IPC4/IPC5"
Begin DoDot:3
+55 SET CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
+56 IF CAT=""
Begin DoDot:4
+57 SET RIEN=$ORDER(^BQI(90506.1,"B",CODE,""))
+58 SET CAT=$$GET1^DIQ(90506.1,RIEN_",",3.02,"E")
End DoDot:4
+59 SET CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
End DoDot:3
+60 IF CRIPC="IPCMH"
Begin DoDot:3
+61 SET CAT1=$$GET1^DIQ(90508.221,IENS,.03,"E")
+62 SET ICAT=$$GET1^DIQ(90508.221,IENS,.03,"I")
+63 SET CAT2=$$GET1^DIQ(90508.221,IENS,.11,"E")
+64 IF CAT2=""
SET CAT2=$$GET1^DIQ(90506.8,ICAT_",",.04,"E")
+65 SET CAT=CAT2
SET CAT2=CAT1
End DoDot:3
+66 SET TAB=$$GET1^DIQ(90508.221,IENS,.13,"I")
+67 SET STAB=$$GET1^DIQ(90508.221,IENS,.14,"I")
+68 IF TAB="A"
QUIT
+69 SET CODE=$PIECE(IDATA,U,1)
SET TITLE=$PIECE(IDATA,U,4)
SET GOAL=$PIECE(IDATA,U,12)
+70 SET NUM=$GET(@TDATA@(PRV,ORD,"NUM"))
+71 SET DEN=$GET(@TDATA@(PRV,ORD,"DEN"))
+72 SET DEC=$GET(@TDATA@(PRV,ORD,"DEC"))
+73 IF IDATA["Goal Set"
SET DEN=TOTP
+74 IF +DEN=0
SET MET="0%"
+75 IF +DEN'=0
IF +NUM=0
SET MET="0%"
+76 IF +NUM'=0
SET MET=$JUSTIFY((NUM/DEN)*100,3,0)
SET MET=$$TRIM^BQIUL1(MET," ")_"%"
+77 IF PRV'="~"
Begin DoDot:3
+78 SET TRM=0
+79 IF $PIECE($GET(^VA(200,PRV,0)),U,13)'=""
SET TRM=1
+80 SET PROV=PRV_$CHAR(28)_$SELECT(TRM:"*",1:"")_$PIECE($GET(^VA(200,PRV,0)),U,1)
End DoDot:3
+81 IF PRV="~"
SET PROV="{NOT ASSIGNED}"
+82 SET DCAT=CAT
+83 IF DCAT["_1"
SET DCAT=$PIECE(CAT,"_1",1)
+84 IF DCAT["_2"
SET DCAT=$PIECE(CAT,"_2",1)
+85 SET II=II+1
SET @DATA@(II)=PROV_U_TOTP_U_$GET(TNDA)_U_DCAT_U_CAT2_U_TITLE_U_CODE_U_NUM_U_DEN_U_DEC_U_MET_U_GOAL_$CHAR(30)
End DoDot:2
End DoDot:1
+86 ;
DONE ;
+1 SET II=II+1
SET @DATA@(II)=$CHAR(31)
+2 KILL @TDATA
+3 QUIT
+4 ;
ERR ;
+1 DO ^%ZTER
+2 NEW Y,ERRDTM
+3 SET Y=$$NOW^XLFDT()
XECUTE ^DD("DD")
SET ERRDTM=Y
+4 SET BMXSEC="Recording that an error occurred at "_ERRDTM
+5 IF $DATA(II)
IF $DATA(DATA)
SET II=II+1
SET @DATA@(II)=$CHAR(31)
+6 QUIT
+7 ;
RPT(DFN) ; Get the CRS Clinical Performance information
+1 SET PROV=$PIECE($GET(^AUPNPAT(DFN,0)),U,14)
IF PROV=""
SET PROV="~"
+2 IF '$$HRN^BQIUL1(DFN)
QUIT
+3 SET @TDATA@(PROV,"TOTP")=$GET(@TDATA@(PROV,"TOTP"))+1
+4 SET ORD=""
+5 FOR
SET ORD=$ORDER(^BQI(90508,1,22,CRN,1,"C",ORD))
IF ORD=""
QUIT
Begin DoDot:1
+6 SET MSN=""
+7 FOR
SET MSN=$ORDER(^BQI(90508,1,22,CRN,1,"C",ORD,MSN))
IF MSN=""
QUIT
Begin DoDot:2
+8 SET IDATA=^BQI(90508,1,22,CRN,1,MSN,0)
+9 SET CODE=$PIECE(IDATA,U,1)
SET TYP=$PIECE(IDATA,U,2)
SET TITLE=$PIECE(IDATA,U,4)
+10 ; If inactive, quit
+11 IF $PIECE(IDATA,U,7)=1
QUIT
+12 NEW DA,IENS
+13 SET DA(2)=1
SET DA(1)=CRN
SET DA=MSN
SET IENS=$$IENS^DILF(.DA)
+14 SET CAT=$$GET1^DIQ(90508.221,IENS,.03,"E")
+15 SET MSIEN=$ORDER(^BQI(90506.1,"B",CODE,""))
+16 IF CAT=""
IF MSIEN'=""
SET CAT=$$GET1^DIQ(90506.1,MSIEN_",",3.03,"E")
+17 IF CAT=""
SET CAT="~"
+18 IF $PIECE(IDATA,U,5)'="B"
SET CAT=CAT_"_2"
+19 SET BQIDOD=$$GET1^DIQ(2,DFN_",",.351,"I")
+20 IF $GET(BQIDOD)'=""
Begin DoDot:3
+21 IF CAT'["_"
SET CAT=CAT_"_1"
+22 SET @TDATA@(PROV,ORD,"DEC")=$GET(@TDATA@(PROV,ORD,"DEC"))+1
End DoDot:3
QUIT
+23 IF TYP="R"
IF $PIECE(IDATA,U,5)="B"
Begin DoDot:3
+24 KILL XX
+25 IF CODE="IPC_OUTC"
Begin DoDot:4
+26 IF DFN'=""
SET VAL=$$OPAT^BQIIPOTC(CRN,DFN)
End DoDot:4
+27 IF CODE["CTRL"
Begin DoDot:4
+28 IF DFN'=""
SET VAL=$$PAT^BQIIPOTC(CRN,DFN,CODE)
End DoDot:4
+29 IF CODE'="IPC_OUTC"
IF CODE'["CTRL"
Begin DoDot:4
+30 DO BUN^BQIIPBNL(CRN,MSN,.XX)
+31 IF DFN'=""
SET VAL=$$PAT^BQIIPBNL(DFN,.XX)
End DoDot:4
+32 IF VAL="N/A"!(VAL="NDA")
SET NUM=0
SET DEN=0
DO STOR(ORD)
QUIT
+33 ;I VAL="N/A" Q
+34 IF $PIECE(IDATA,U,5)="B"
SET CAT=CAT_"_1"
+35 IF VAL="NDA"
Begin DoDot:4
+36 SET DEN=0
SET NUM=0
DO STOR(ORD)
+37 SET @TDATA@(PROV,"NDA",DFN)=1
End DoDot:4
QUIT
+38 IF VAL="NO"
SET DEN=1
SET NUM=0
DO STOR(ORD)
QUIT
+39 IF VAL="YES"
SET DEN=1
SET NUM=1
DO STOR(ORD)
QUIT
End DoDot:3
+40 IF TYP'="G"
QUIT
+41 SET BQIND=$ORDER(^BQIPAT(DFN,30,"B",CODE,""))
IF BQIND=""
Begin DoDot:3
+42 SET @TDATA@(PROV,"NDA",DFN)=1
+43 ;S DEN=1,NUM=0 D STOR(ORD)
+44 SET DEN=0
SET NUM=0
DO STOR(ORD)
End DoDot:3
QUIT
+45 SET BQMEAS=$PIECE(^BQIPAT(DFN,30,BQIND,0),U,1)
SET VALUE=$PIECE(^(0),U,2)
SET NUM=$PIECE(^(0),U,3)
SET DEN=$PIECE(^(0),U,4)
+46 ;
+47 DO STOR(ORD)
End DoDot:2
End DoDot:1
+48 QUIT
+49 ;
STOR(ORD) ;EP
+1 SET @TDATA@(PROV,ORD,"NUM")=$GET(@TDATA@(PROV,ORD,"NUM"))+NUM
+2 SET @TDATA@(PROV,ORD,"DEN")=$GET(@TDATA@(PROV,ORD,"DEN"))+DEN
+3 ;S @TDATA@(PROV,CAT,TITLE,MSN,"NUM")=$G(@TDATA@(PROV,CAT,TITLE,MSN,"NUM"))+NUM
+4 ;S @TDATA@(PROV,CAT,TITLE,MSN,"DEN")=$G(@TDATA@(PROV,CAT,TITLE,MSN,"DEN"))+DEN
+5 QUIT