DVBSIGN2 ;ALB/JD - CAPRI Signature RPCS; August, 22 2024@01:25 ; 8/22/24 1:25am
;;2.7;AMIE;**252**;Apr 10, 1995;Build 92
; Per VHA Directive 6402 this routine should not be modified
; Reference to $$GET1^DIQ(2 in DBIA #10035
;
Q
;
ALRTDATA(DVBRTN,DVBDUZ,DVBST,DVBUT) ;
;New RPC code for CAPRI-12958. JD - 8/21/24
;RPC: DVBA CAPRI ALERTS DATA
;Returns the data for either the specified worksheet review status of DVBST OR
;The following worksheet review statuses:
;A=Awaiting Signature, D=Draft/Not ready, O=Outdated Template, P=Review Pending, S=Sent Back
;Fixed the single status issue. JD - 9/9/24
;Added code for two new parameters DVBDUZ and DVBUT. JD - 9/9/24
;
N DVBCNT,DVBD,DVBDMIE,DVBDMNM,DVBEXS,DVBFLEX,DVBFLGR,DVBFLNW,DVBFRMT
N DVBID,DVBIEN,DVBLN,DVBP,DVBPTIE,DVBPTNM,DVBSTAT,DVBSTS,DVBTRIE,DVBUSR
S (DVBIEN,DVBSTAT)="",DVBST=$G(DVBST),DVBDUZ=$G(DVBDUZ),DVBUT=$G(DVBUT)
S DVBSTS=$S(DVBST'="":DVBST,1:"ADOS")
K ^TMP("ALRTDATA",$J)
F S DVBSTAT=$O(^DVB(396.17,"RS",DVBSTAT)) Q:DVBSTAT="" D
. I DVBSTS'[DVBSTAT Q
. S DVBIEN=""
. F S DVBIEN=$O(^DVB(396.17,"RS",DVBSTAT,DVBIEN)) Q:DVBIEN="" D
.. S DVBP="" D PASCALCHK^DVBCTPDF(.DVBP,DVBIEN) I DVBP="P" Q ;CMT worksheets only!
.. S DVBDMIE=$$GET1^DIQ(396.17,DVBIEN,2,"I") ;Document manager IEN
.. S DVBTRIE=$$GET1^DIQ(396.17,DVBIEN,10,"I") ;Transcriber IEN
.. S DVBUSR=$S(DVBUT="T":DVBTRIE,1:DVBDMIE)
.. I DVBDUZ="",DUZ'=DVBUSR Q
.. S DVBPTIE=$$GET1^DIQ(396.17,DVBIEN,.01,"I") ;Patient IEN
.. S DVBPTNM=$$GET1^DIQ(396.17,DVBIEN,.01,"E") ;Patient name
.. S DVBDMNM=$$GET1^DIQ(396.17,DVBIEN,2,"E") ;Document manager name
.. S DVBFRMT=$$GET1^DIQ(396.17,DVBIEN,9,"I") ;Form title
.. S DVBFLNW=$$GET1^DIQ(396.17,DVBIEN,19,"I") ;Flag new
.. I DVBFLNW="" S DVBFLNW=0
.. S DVBFLGR=$$GET1^DIQ(396.17,DVBIEN,20,"I") ;Flag green flag
.. I DVBFLGR="" S DVBFLGR=0
.. S DVBFLEX=$$GET1^DIQ(396.17,DVBIEN,21,"I") ;Flag exclamation
.. I DVBFLEX="" S DVBFLEX=0
.. S DVBID=$$GET1^DIQ(2,DVBPTIE,.0905) ;ID (First column of the GUI list)
.. S DVBLN=DVBIEN_U_DVBID_U_DVBPTIE_U_DVBPTNM_U_DVBDMIE_U_DVBDMNM_U_DVBFRMT_U_DVBSTAT_U_DVBFLNW_U_DVBFLGR_U_DVBFLEX
.. S ^TMP("ALRTDATA",$J,DVBIEN)=DVBLN
.. I DVBFRMT="" Q
.. I DVBFRMT'="MERGED FORM" S ^TMP("ALRTDATA",$J,DVBIEN)=DVBLN_U_1_U_DVBFRMT
.. I DVBFRMT="MERGED FORM" D
... S DVBCNT=0,DVBP=0,DVBEXS=""
... F S DVBP=$O(^DVB(396.17,DVBIEN,1,DVBP)) Q:DVBP="" D
.... S DVBD=^DVB(396.17,DVBIEN,1,DVBP,0),DVBCNT=DVBCNT+1
.... S DVBEXS=DVBEXS_","_$P(DVBD,U,2)
... S DVBEXS=$P(DVBEXS,",",2,99999)
... S ^TMP("ALRTDATA",$J,DVBIEN)=DVBLN_U_DVBCNT_U_DVBEXS
I $D(^TMP("ALRTDATA"))'>1 S DVBRTN="-1^No data available" Q
S DVBRTN=$NA(^TMP("ALRTDATA",$J))
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBSIGN2 2767 printed Aug 26, 2025@22:15:04 Page 2
DVBSIGN2 ;ALB/JD - CAPRI Signature RPCS; August, 22 2024@01:25 ; 8/22/24 1:25am
+1 ;;2.7;AMIE;**252**;Apr 10, 1995;Build 92
+2 ; Per VHA Directive 6402 this routine should not be modified
+3 ; Reference to $$GET1^DIQ(2 in DBIA #10035
+4 ;
+5 QUIT
+6 ;
ALRTDATA(DVBRTN,DVBDUZ,DVBST,DVBUT) ;
+1 ;New RPC code for CAPRI-12958. JD - 8/21/24
+2 ;RPC: DVBA CAPRI ALERTS DATA
+3 ;Returns the data for either the specified worksheet review status of DVBST OR
+4 ;The following worksheet review statuses:
+5 ;A=Awaiting Signature, D=Draft/Not ready, O=Outdated Template, P=Review Pending, S=Sent Back
+6 ;Fixed the single status issue. JD - 9/9/24
+7 ;Added code for two new parameters DVBDUZ and DVBUT. JD - 9/9/24
+8 ;
+9 NEW DVBCNT,DVBD,DVBDMIE,DVBDMNM,DVBEXS,DVBFLEX,DVBFLGR,DVBFLNW,DVBFRMT
+10 NEW DVBID,DVBIEN,DVBLN,DVBP,DVBPTIE,DVBPTNM,DVBSTAT,DVBSTS,DVBTRIE,DVBUSR
+11 SET (DVBIEN,DVBSTAT)=""
SET DVBST=$GET(DVBST)
SET DVBDUZ=$GET(DVBDUZ)
SET DVBUT=$GET(DVBUT)
+12 SET DVBSTS=$SELECT(DVBST'="":DVBST,1:"ADOS")
+13 KILL ^TMP("ALRTDATA",$JOB)
+14 FOR
SET DVBSTAT=$ORDER(^DVB(396.17,"RS",DVBSTAT))
if DVBSTAT=""
QUIT
Begin DoDot:1
+15 IF DVBSTS'[DVBSTAT
QUIT
+16 SET DVBIEN=""
+17 FOR
SET DVBIEN=$ORDER(^DVB(396.17,"RS",DVBSTAT,DVBIEN))
if DVBIEN=""
QUIT
Begin DoDot:2
+18 ;CMT worksheets only!
SET DVBP=""
DO PASCALCHK^DVBCTPDF(.DVBP,DVBIEN)
IF DVBP="P"
QUIT
+19 ;Document manager IEN
SET DVBDMIE=$$GET1^DIQ(396.17,DVBIEN,2,"I")
+20 ;Transcriber IEN
SET DVBTRIE=$$GET1^DIQ(396.17,DVBIEN,10,"I")
+21 SET DVBUSR=$SELECT(DVBUT="T":DVBTRIE,1:DVBDMIE)
+22 IF DVBDUZ=""
IF DUZ'=DVBUSR
QUIT
+23 ;Patient IEN
SET DVBPTIE=$$GET1^DIQ(396.17,DVBIEN,.01,"I")
+24 ;Patient name
SET DVBPTNM=$$GET1^DIQ(396.17,DVBIEN,.01,"E")
+25 ;Document manager name
SET DVBDMNM=$$GET1^DIQ(396.17,DVBIEN,2,"E")
+26 ;Form title
SET DVBFRMT=$$GET1^DIQ(396.17,DVBIEN,9,"I")
+27 ;Flag new
SET DVBFLNW=$$GET1^DIQ(396.17,DVBIEN,19,"I")
+28 IF DVBFLNW=""
SET DVBFLNW=0
+29 ;Flag green flag
SET DVBFLGR=$$GET1^DIQ(396.17,DVBIEN,20,"I")
+30 IF DVBFLGR=""
SET DVBFLGR=0
+31 ;Flag exclamation
SET DVBFLEX=$$GET1^DIQ(396.17,DVBIEN,21,"I")
+32 IF DVBFLEX=""
SET DVBFLEX=0
+33 ;ID (First column of the GUI list)
SET DVBID=$$GET1^DIQ(2,DVBPTIE,.0905)
+34 SET DVBLN=DVBIEN_U_DVBID_U_DVBPTIE_U_DVBPTNM_U_DVBDMIE_U_DVBDMNM_U_DVBFRMT_U_DVBSTAT_U_DVBFLNW_U_DVBFLGR_U_DVBFLEX
+35 SET ^TMP("ALRTDATA",$JOB,DVBIEN)=DVBLN
+36 IF DVBFRMT=""
QUIT
+37 IF DVBFRMT'="MERGED FORM"
SET ^TMP("ALRTDATA",$JOB,DVBIEN)=DVBLN_U_1_U_DVBFRMT
+38 IF DVBFRMT="MERGED FORM"
Begin DoDot:3
+39 SET DVBCNT=0
SET DVBP=0
SET DVBEXS=""
+40 FOR
SET DVBP=$ORDER(^DVB(396.17,DVBIEN,1,DVBP))
if DVBP=""
QUIT
Begin DoDot:4
+41 SET DVBD=^DVB(396.17,DVBIEN,1,DVBP,0)
SET DVBCNT=DVBCNT+1
+42 SET DVBEXS=DVBEXS_","_$PIECE(DVBD,U,2)
End DoDot:4
+43 SET DVBEXS=$PIECE(DVBEXS,",",2,99999)
+44 SET ^TMP("ALRTDATA",$JOB,DVBIEN)=DVBLN_U_DVBCNT_U_DVBEXS
End DoDot:3
End DoDot:2
End DoDot:1
+45 IF $DATA(^TMP("ALRTDATA"))'>1
SET DVBRTN="-1^No data available"
QUIT
+46 SET DVBRTN=$NAME(^TMP("ALRTDATA",$JOB))
+47 QUIT