DVBHSVER ;ALB/JLU;This is the print for the verification screen ; 8/23/05 11:04am
;;4.0;HINQ;**7,21,23,49**;03/25/92
N Y
;Gets info from patient file.
K DVBDIQ,DVBX(1)
S DIC="^DPT(",DA=DFN,DIQ(0)="E",DIQ="DVBDIQ("
I $D(X(1)) S DVBX(1)=X(1)
S DR=".01;.02;.09;.111:.113;.301:.303;.3014;.313;.361;.3611;.3612;.3615;391;1901"
D EN^DIQ1
I $D(DVBX(1)) S X(1)=DVBX(1) K DVBX(1)
;
W ?23 W "****** HINQ Upload/edit ******"
W !,?35,DVBON,"<<0>>",DVBOFF
W !,?26,"Verification screen only"
W !!,?9,"Patient file"
;with DVB*4*49 the value of DVBCAP will no longer be checked
W DVBON," VBA ",$S($P(^DVB(395.5,DFN,0),U,5)="Y":"UPDATED",1:"NOT UPDATED"),DVBOFF," " X DVBLIT1
W ?50,"HINQ Response"
W !,"--------------------------------------------------------------------------------"
I $D(DVBBAS(2)) I $P(DVBBAS(2),U,35)!($P(DVBBAS(2),U,36))!($P(DVBBAS(2),U,37))!($P(DVBBAS(2),U,38)) D BAD
I $D(DVBP(6)),$P(DVBP(6),U) S M=$E(DVBP(6),1,2) D MM^DVBHQM11 W !,?11,$C(7),$C(7),DVBON,"** VBA indicates Patient is deceased. ",M_" "_$S(+$E(DVBP(6),3,4)>0:$E(DVBP(6),3,4)_", ",1:" ")_$E(DVBP(6),5,8)," **",DVBOFF
;all records are type "A" after DVB*4*49, so instead of checking
;record type check if there are SC disabilities, but no VA check
I $G(DVBCHECK)'>0,($G(DVBDXNO)'>0) W:$D(M) ! W ?8,$C(7),DVBON,"** NO Monetary Benefits - Means Test Required **",DVBOFF
W !,?3,DVBON,"Name: ",DVBOFF,DVBDIQ(2,DFN,.01,"E") X DVBLIT1 W ?49,$S($D(DVBADR(1)):DVBADR(1),$D(DVBNAME):$E(DVBNAME,1,30),1:"")
;
W !,?4,DVBON,"Sex: ",DVBOFF,DVBDIQ(2,DFN,.02,"E") X DVBLIT1
I $D(DVBVET),$P(DVBVET,U,1)'="C" W ?49,$S($P(DVBVET,U,3)="M":"MALE",$P(DVBVET,U,3)="F":"FEMALE",1:"")
E I $D(DVBBIR) W ?49,$S($P(DVBBIR,U,25)="M":"MALE",$P(DVBBIR,U,25)="F":"FEMALE",1:"")
W !,?4,DVBON,"SSN: ",DVBOFF,DVBDIQ(2,DFN,.09,"E") X DVBLIT1
S (B,C)=0
I $D(DVBP(6)) S C=$P(DVBP(6),U,3),B=1
I $D(DVBP(1)) S C=$P(DVBP(1),U,8)
I C S C=$S(C=1:" Verified SSA",C=2:" Verified VBA",C=4:" Verified by BIRLS",C=9:" SSA Verified No Number Exists",C=0:" Unverified",C=3:" Not Required, Child Under 2",1:" "_C)
I $D(DVBREF),$P(DVBREF,U,1)?9N D:$P(DVBREF,U,1)'=$P(^DPT(D0,0),U,9) SS W ?49,$P(DVBREF,U,1) W:C]"" ?60,DVBON,$E(C,2,99),DVBOFF X DVBLIT1 K C
I $P($G(DVBREF),U)'?9N I $D(DVBSSN),DVBSSN?9N W ! D:DVBSSN'=$P(^DPT(D0,0),U,9) SS W ?49,DVBSSN W:B ?60,DVBON,$E(C,2,99),DVBOFF X DVBLIT1 K C
W !,DVBON,"Claim #: ",DVBOFF,DVBDIQ(2,DFN,.313,"E") X DVBLIT1
I $D(DVBCN),DVBCN W ?49,DVBCN
W !,DVBON,"Address: ",DVBOFF,DVBDIQ(2,DFN,.111,"E") X DVBLIT1 I $D(DVBADR(1)) W ?49,DVBADR(1)
W !,?9,DVBDIQ(2,DFN,.112,"E") I $D(DVBADR(2)) W ?49,DVBADR(2)
W !,?9,DVBDIQ(2,DFN,.113,"E") I $D(DVBADR(3)) W ?49,DVBADR(3)
W !!,?2,DVBON,"Pat. Type: ",DVBOFF,DVBDIQ(2,DFN,391,"E") X DVBLIT1
W ?45,DVBON,"Elig. Stat.: ",DVBOFF,$E(DVBDIQ(2,DFN,.3611,"E"),1,20)
W !,?3,DVBON,"Vet. Y/N: ",DVBOFF,DVBDIQ(2,DFN,1901,"E") X DVBLIT1
W ?46,DVBON,"Stat. Date: ",DVBOFF,DVBDIQ(2,DFN,.3612,"E")
W !,?2,DVBON,"Ser. Con.: ",DVBOFF,DVBDIQ(2,DFN,.301,"E") X DVBLIT1
W ?44,DVBON,"Verif. Meth.: ",DVBOFF,DVBDIQ(2,DFN,.3615,"E")
W !,DVBON,"Ser. Con. %: ",DVBOFF,DVBDIQ(2,DFN,.302,"E") X DVBLIT1
W ?35,DVBON,"Eff. Date Comb. Eval.:",DVBOFF,DVBDIQ(2,DFN,.3014,"E")
W !,?1,DVBON,"Elig. code: ",DVBOFF,DVBDIQ(2,DFN,.361,"E")
Q
;
;
SS W ?46,DVBON,DVBBLO,"-->",DVBBLF,DVBOFF X DVBLIT2,DVBLIT1
Q
;
BAD S T1="WARNING: Error Indicators for " F N=38:-1:35 I $P(DVBBAS(2),U,N) S T1=T1_" "_$S(N=38:"BASIC",N=37:"STATISTICAL",N=36:"DIAGNOSTIC",N=35:"FUTURE",1:"")_","
W !,DVBON,DVBBLO," ***",DVBOFF,DVBBLF,$E(T1,1,$L(T1)-1),DVBON,DVBBLO,"***",DVBOFF,DVBBLF
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBHSVER 3661 printed Dec 13, 2024@01:59:10 Page 2
DVBHSVER ;ALB/JLU;This is the print for the verification screen ; 8/23/05 11:04am
+1 ;;4.0;HINQ;**7,21,23,49**;03/25/92
+2 NEW Y
+3 ;Gets info from patient file.
+4 KILL DVBDIQ,DVBX(1)
+5 SET DIC="^DPT("
SET DA=DFN
SET DIQ(0)="E"
SET DIQ="DVBDIQ("
+6 IF $DATA(X(1))
SET DVBX(1)=X(1)
+7 SET DR=".01;.02;.09;.111:.113;.301:.303;.3014;.313;.361;.3611;.3612;.3615;391;1901"
+8 DO EN^DIQ1
+9 IF $DATA(DVBX(1))
SET X(1)=DVBX(1)
KILL DVBX(1)
+10 ;
+11 WRITE ?23
WRITE "****** HINQ Upload/edit ******"
+12 WRITE !,?35,DVBON,"<<0>>",DVBOFF
+13 WRITE !,?26,"Verification screen only"
+14 WRITE !!,?9,"Patient file"
+15 ;with DVB*4*49 the value of DVBCAP will no longer be checked
+16 WRITE DVBON," VBA ",$SELECT($PIECE(^DVB(395.5,DFN,0),U,5)="Y":"UPDATED",1:"NOT UPDATED"),DVBOFF," "
XECUTE DVBLIT1
+17 WRITE ?50,"HINQ Response"
+18 WRITE !,"--------------------------------------------------------------------------------"
+19 IF $DATA(DVBBAS(2))
IF $PIECE(DVBBAS(2),U,35)!($PIECE(DVBBAS(2),U,36))!($PIECE(DVBBAS(2),U,37))!($PIECE(DVBBAS(2),U,38))
DO BAD
+20 IF $DATA(DVBP(6))
IF $PIECE(DVBP(6),U)
SET M=$EXTRACT(DVBP(6),1,2)
DO MM^DVBHQM11
WRITE !,?11,$CHAR(7),$CHAR(7),DVBON,"** VBA indicates Patient is deceased. ",M_" "_$SELECT(+$EXTRACT(DVBP(6),3,4)>0:$EXTRACT(DVBP(6),3,4)_", ",1:" ")_$EXTRACT(DVBP(6),5,8)," **",DVBOFF
+21 ;all records are type "A" after DVB*4*49, so instead of checking
+22 ;record type check if there are SC disabilities, but no VA check
+23 IF $GET(DVBCHECK)'>0
IF ($GET(DVBDXNO)'>0)
if $DATA(M)
WRITE !
WRITE ?8,$CHAR(7),DVBON,"** NO Monetary Benefits - Means Test Required **",DVBOFF
+24 WRITE !,?3,DVBON,"Name: ",DVBOFF,DVBDIQ(2,DFN,.01,"E")
XECUTE DVBLIT1
WRITE ?49,$SELECT($DATA(DVBADR(1)):DVBADR(1),$DATA(DVBNAME):$EXTRACT(DVBNAME,1,30),1:"")
+25 ;
+26 WRITE !,?4,DVBON,"Sex: ",DVBOFF,DVBDIQ(2,DFN,.02,"E")
XECUTE DVBLIT1
+27 IF $DATA(DVBVET)
IF $PIECE(DVBVET,U,1)'="C"
WRITE ?49,$SELECT($PIECE(DVBVET,U,3)="M":"MALE",$PIECE(DVBVET,U,3)="F":"FEMALE",1:"")
+28 IF '$TEST
IF $DATA(DVBBIR)
WRITE ?49,$SELECT($PIECE(DVBBIR,U,25)="M":"MALE",$PIECE(DVBBIR,U,25)="F":"FEMALE",1:"")
+29 WRITE !,?4,DVBON,"SSN: ",DVBOFF,DVBDIQ(2,DFN,.09,"E")
XECUTE DVBLIT1
+30 SET (B,C)=0
+31 IF $DATA(DVBP(6))
SET C=$PIECE(DVBP(6),U,3)
SET B=1
+32 IF $DATA(DVBP(1))
SET C=$PIECE(DVBP(1),U,8)
+33 IF C
SET C=$SELECT(C=1:" Verified SSA",C=2:" Verified VBA",C=4:" Verified by BIRLS",C=9:" SSA Verified No Number Exists",C=0:" Unverified",C=3:" Not Required, Child Under 2",1:" "_C)
+34 IF $DATA(DVBREF)
IF $PIECE(DVBREF,U,1)?9N
if $PIECE(DVBREF,U,1)'=$PIECE(^DPT(D0,0),U,9)
DO SS
WRITE ?49,$PIECE(DVBREF,U,1)
if C]""
WRITE ?60,DVBON,$EXTRACT(C,2,99),DVBOFF
XECUTE DVBLIT1
KILL C
+35 IF $PIECE($GET(DVBREF),U)'?9N
IF $DATA(DVBSSN)
IF DVBSSN?9N
WRITE !
if DVBSSN'=$PIECE(^DPT(D0,0),U,9)
DO SS
WRITE ?49,DVBSSN
if B
WRITE ?60,DVBON,$EXTRACT(C,2,99),DVBOFF
XECUTE DVBLIT1
KILL C
+36 WRITE !,DVBON,"Claim #: ",DVBOFF,DVBDIQ(2,DFN,.313,"E")
XECUTE DVBLIT1
+37 IF $DATA(DVBCN)
IF DVBCN
WRITE ?49,DVBCN
+38 WRITE !,DVBON,"Address: ",DVBOFF,DVBDIQ(2,DFN,.111,"E")
XECUTE DVBLIT1
IF $DATA(DVBADR(1))
WRITE ?49,DVBADR(1)
+39 WRITE !,?9,DVBDIQ(2,DFN,.112,"E")
IF $DATA(DVBADR(2))
WRITE ?49,DVBADR(2)
+40 WRITE !,?9,DVBDIQ(2,DFN,.113,"E")
IF $DATA(DVBADR(3))
WRITE ?49,DVBADR(3)
+41 WRITE !!,?2,DVBON,"Pat. Type: ",DVBOFF,DVBDIQ(2,DFN,391,"E")
XECUTE DVBLIT1
+42 WRITE ?45,DVBON,"Elig. Stat.: ",DVBOFF,$EXTRACT(DVBDIQ(2,DFN,.3611,"E"),1,20)
+43 WRITE !,?3,DVBON,"Vet. Y/N: ",DVBOFF,DVBDIQ(2,DFN,1901,"E")
XECUTE DVBLIT1
+44 WRITE ?46,DVBON,"Stat. Date: ",DVBOFF,DVBDIQ(2,DFN,.3612,"E")
+45 WRITE !,?2,DVBON,"Ser. Con.: ",DVBOFF,DVBDIQ(2,DFN,.301,"E")
XECUTE DVBLIT1
+46 WRITE ?44,DVBON,"Verif. Meth.: ",DVBOFF,DVBDIQ(2,DFN,.3615,"E")
+47 WRITE !,DVBON,"Ser. Con. %: ",DVBOFF,DVBDIQ(2,DFN,.302,"E")
XECUTE DVBLIT1
+48 WRITE ?35,DVBON,"Eff. Date Comb. Eval.:",DVBOFF,DVBDIQ(2,DFN,.3014,"E")
+49 WRITE !,?1,DVBON,"Elig. code: ",DVBOFF,DVBDIQ(2,DFN,.361,"E")
+50 QUIT
+51 ;
+52 ;
SS WRITE ?46,DVBON,DVBBLO,"-->",DVBBLF,DVBOFF
XECUTE DVBLIT2
XECUTE DVBLIT1
+1 QUIT
+2 ;
BAD SET T1="WARNING: Error Indicators for "
FOR N=38:-1:35
IF $PIECE(DVBBAS(2),U,N)
SET T1=T1_" "_$SELECT(N=38:"BASIC",N=37:"STATISTICAL",N=36:"DIAGNOSTIC",N=35:"FUTURE",1:"")_","
+1 WRITE !,DVBON,DVBBLO," ***",DVBOFF,DVBBLF,$EXTRACT(T1,1,$LENGTH(T1)-1),DVBON,DVBBLO,"***",DVBOFF,DVBBLF
+2 QUIT