ABMDBAN ; IHS/SD/SDR - 3P Billing Banner ;
;;2.6;IHS Third Party Billing;**1,9,27**;NOV 12, 2009;Build 486
;ORIGINAL - TMD, BILLINGS AREA OFFICE
;
;IHS/SD/SDR 2.5*12 UFMS If user is logged into cashiering session and they are exiting TPB they should get a message letting
; them know they are still logged in. Also added warning msg for "outstanding" open and closed sessions.
;
;IHS/SD/SDR 2.6*1 NO HEAT Added patch# to menu header
;IHS/SD/SDR 2.6*27 CR8894 Added check for 3P Fee Table cleanup/correction message
;
S ABMM(0)=$S($D(Y(0)):$P(Y(0),U,2),$D(XQY0):$P(XQY0,U,2),1:$P($G(^XUTL("XQ",$J,"S")),U,3))
;
BEG ;
G XIT:'$D(DUZ(2))
S ABMM("SITE")=$P(^DIC(4,DUZ(2),0),"^",1)
G XIT:$G(XQNO1)]""
I '$D(IOF)!'$D(IO) S IOP="HOME" D ^%ZIS
NCNV ;CONVERSION NOT COMPLETE
I '$D(^ABMCNVRT("ABMCNVRT","COMPLETE")) D
.W $$EN^ABMVDF("IOF")
.W !!!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")
.W " Version 2.0 conversion has NOT completed. Contact your Site Manager."
.W !!,"Do not use package until conversion has completed."
.F W ! Q:$Y+4>IOSL
.S DIR(0)="E" D ^DIR K DIR
W !,$$EN^ABMVDF("IOF"),!!
I ABMM(0)["Third Party Billing" D
.S ABMM(0)="Main Menu"
.I '$D(ABMM("OUT")) S ABM("F1")=1
W !?11,"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
W !?11,"|"
S ABMM("VER")=$O(^DIC(9.4,"C","ABM",""))
I ABMM("VER")]"",$D(^DIC(9.4,ABMM("VER"),"VERSION"))
S ABMM("VER")=$S('$T:"VERSION 1.0",1:"VERSION "_^DIC(9.4,ABMM("VER"),"VERSION"))
S ABMM("VER")=ABMM("VER")_$S(+$$LAST^ABMENVCK("IHS 3P BILLING SYSTEM",$P(ABMM("VER")," ",2))'=0:"p"_+$$LAST^ABMENVCK("IHS 3P BILLING SYSTEM",$P(ABMM("VER")," ",2)),1:"") ;abm*2.6*1 NO HEAT
S ABMM("TITL")="THIRD PARTY BILLING SYSTEM - VER "_$P(ABMM("VER")," ",2) W ?80-$L(ABMM("TITL"))\2,ABMM("TITL"),?69,"|"
W !,?11,"+",?80-$L(ABMM(0))\2,$$EN^ABMVDF("RVN"),ABMM(0),$$EN^ABMVDF("RVF"),?69,"+"
W !?11,"|"
W ?80-$L(ABMM("SITE"))\2,ABMM("SITE")
W ?69,"|"
;
END ;
W !?11,"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
I $D(^VA(200,DUZ,0)) D
.W !,?11,"User: ",$P(^VA(200,DUZ,0),U),?52+$S($E(DT,6,7)<10:1,1:0)
.D NOW^%DTC
.W $$MDT^ABMDUTL(%)
I $G(ABM("F1")) D
.S X2=+$G(^ABMDPARM(DUZ(2),1,2))
.S X1=DT
.D ^%DTC
.I X>1!(X="") D
..S Y=+$G(^ABMDPARM(DUZ(2),1,2))
..D DD^%DT
..W !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," The Claim Generator has not run since ",Y,"."
..W !?9,"Contact your Site Manager to investigate this problem."
.I $P($G(^ABMDPARM(DUZ(2),1,0)),U,15)'="Y" D
..W *7,!!?5,"SITE PARAMETERS have not yet been reviewed. Access to the Claim"
..W !?5,"Editor is prevented until they are! The Site Parameters can be",!?5,"reviewed through the Table Maintenace Menu."
.D FINDAOPN^ABMUCUTL ;find all open sessions
.S ABMFLG=0
.S ABMSDT=0
.F S ABMSDT=$O(ABMO(ABMSDT)) Q:+ABMSDT=0 D Q:ABMFLG=1
..I (DT)>($P(ABMSDT,".")) S ABMFLG=1
.I $G(ABMFLG)=1 W !,"WARNING: Open cashiering sessions exist that should be reconciled for UFMS"
.S ABMFLG="CLOSED"
.D FINDACLS^ABMUCUTL ;find all closed sessions
.I $D(ABMO) W !,"WARNING: Cashiering sessions are closed and awaiting export to UFMS"
.;start new code abm*2.6*9 NOHEAT
.I $P($G(^ABMDPARM(DUZ(2),1,4)),U,15)="" D
..W !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," UFMS PARAMETERS have not been completed."
.;end new code
.;start new abm*2.6*27 IHS/SD/SDR CR8894
.I $$FEETBCHK()=1 D
..W !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," FEE SCHEDULES NEED TO BE REVIEWED/COMPLETED BEFORE ALL FEES WILL",!," BE ACCURATE"
.;end new abm*2.6*27 IHS/SD/SDR CR8894
K ABM("F1")
;
XIT ;
D EN^XBVK("ABM") ;local variable killer
K X,Y,I,X1,X2,DUOUT,DTOUT,DIROUT,POP,ZTSK,ZTSAVE,ZTRTN,ZTDESC,%ZIS,TO,FR,BY,FLDS,PG,DIR,DIC,DIE,DIK,DA,DR,L,%X,%Y
Q
;
OUT ;EP - Entry Point for all Option Exits
K DIQ
S ABMM(0)=$S($G(^XUTL("XQ",$J,"T")):$P($G(^XUTL("XQ",$J,^("T")-1)),U,3),1:"")
I $P($G(Y(0)),U)="ABMMENU"!($P($G(XQY0),U)="ABMMENU") D SESSCK G XIT
S ABMM("OUT")=""
G BEG
;
SESSCK ;EP - Check if user has open session for UFMS
S ABMUOPNS=$$FINDOPEN^ABMUCUTL(DUZ)
I +$G(ABMUOPNS)'=0 D
.W !!,"NOTE: You are still logged into your cashiering session. To Close"
.W !?6,"your session select Cashiering Options (UCSH), then Cashiering Sign In/"
.W !?6,"Sign Out (CIO).",!
.S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
Q
;start new abm*2.6*27 IHS/SD/SDR CR8894
FEETBCHK() ;EP
S ABMT=0
S ABMT("TB")=0
F S ABMT("TB")=$O(^ABMDFEE(ABMT("TB"))) Q:'ABMT("TB") D
.I $P($G(^ABMDFEE(ABMT("TB"),0)),U,6)="" S ABMT=1
Q ABMT
;end new abm*2.6*27 IHS/SD/SDR CR8894
ABMDBAN ; IHS/SD/SDR - 3P Billing Banner ;
+1 ;;2.6;IHS Third Party Billing;**1,9,27**;NOV 12, 2009;Build 486
+2 ;ORIGINAL - TMD, BILLINGS AREA OFFICE
+3 ;
+4 ;IHS/SD/SDR 2.5*12 UFMS If user is logged into cashiering session and they are exiting TPB they should get a message letting
+5 ; them know they are still logged in. Also added warning msg for "outstanding" open and closed sessions.
+6 ;
+7 ;IHS/SD/SDR 2.6*1 NO HEAT Added patch# to menu header
+8 ;IHS/SD/SDR 2.6*27 CR8894 Added check for 3P Fee Table cleanup/correction message
+9 ;
+10 SET ABMM(0)=$SELECT($DATA(Y(0)):$PIECE(Y(0),U,2),$DATA(XQY0):$PIECE(XQY0,U,2),1:$PIECE($GET(^XUTL("XQ",$JOB,"S")),U,3))
+11 ;
BEG ;
+1 IF '$DATA(DUZ(2))
GOTO XIT
+2 SET ABMM("SITE")=$PIECE(^DIC(4,DUZ(2),0),"^",1)
+3 IF $GET(XQNO1)]""
GOTO XIT
+4 IF '$DATA(IOF)!'$DATA(IO)
SET IOP="HOME"
DO ^%ZIS
NCNV ;CONVERSION NOT COMPLETE
+1 IF '$DATA(^ABMCNVRT("ABMCNVRT","COMPLETE"))
Begin DoDot:1
+2 WRITE $$EN^ABMVDF("IOF")
+3 WRITE !!!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")
+4 WRITE " Version 2.0 conversion has NOT completed. Contact your Site Manager."
+5 WRITE !!,"Do not use package until conversion has completed."
+6 FOR
WRITE !
IF $Y+4>IOSL
QUIT
+7 SET DIR(0)="E"
DO ^DIR
KILL DIR
End DoDot:1
+8 WRITE !,$$EN^ABMVDF("IOF"),!!
+9 IF ABMM(0)["Third Party Billing"
Begin DoDot:1
+10 SET ABMM(0)="Main Menu"
+11 IF '$DATA(ABMM("OUT"))
SET ABM("F1")=1
End DoDot:1
+12 WRITE !?11,"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
+13 WRITE !?11,"|"
+14 SET ABMM("VER")=$ORDER(^DIC(9.4,"C","ABM",""))
+15 IF ABMM("VER")]""
IF $DATA(^DIC(9.4,ABMM("VER"),"VERSION"))
+16 SET ABMM("VER")=$SELECT('$TEST:"VERSION 1.0",1:"VERSION "_^DIC(9.4,ABMM("VER"),"VERSION"))
+17 ;abm*2.6*1 NO HEAT
SET ABMM("VER")=ABMM("VER")_$SELECT(+$$LAST^ABMENVCK("IHS 3P BILLING SYSTEM",$PIECE(ABMM("VER")," ",2))'=0:"p"_+$$LAST^ABMENVCK("IHS 3P BILLING SYSTEM",$PIECE(ABMM("VER")," ",2)),1:"")
+18 SET ABMM("TITL")="THIRD PARTY BILLING SYSTEM - VER "_$PIECE(ABMM("VER")," ",2)
WRITE ?80-$LENGTH(ABMM("TITL"))\2,ABMM("TITL"),?69,"|"
+19 WRITE !,?11,"+",?80-$LENGTH(ABMM(0))\2,$$EN^ABMVDF("RVN"),ABMM(0),$$EN^ABMVDF("RVF"),?69,"+"
+20 WRITE !?11,"|"
+21 WRITE ?80-$LENGTH(ABMM("SITE"))\2,ABMM("SITE")
+22 WRITE ?69,"|"
+23 ;
END ;
+1 WRITE !?11,"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
+2 IF $DATA(^VA(200,DUZ,0))
Begin DoDot:1
+3 WRITE !,?11,"User: ",$PIECE(^VA(200,DUZ,0),U),?52+$SELECT($EXTRACT(DT,6,7)<10:1,1:0)
+4 DO NOW^%DTC
+5 WRITE $$MDT^ABMDUTL(%)
End DoDot:1
+6 IF $GET(ABM("F1"))
Begin DoDot:1
+7 SET X2=+$GET(^ABMDPARM(DUZ(2),1,2))
+8 SET X1=DT
+9 DO ^%DTC
+10 IF X>1!(X="")
Begin DoDot:2
+11 SET Y=+$GET(^ABMDPARM(DUZ(2),1,2))
+12 DO DD^%DT
+13 WRITE !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," The Claim Generator has not run since ",Y,"."
+14 WRITE !?9,"Contact your Site Manager to investigate this problem."
End DoDot:2
+15 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,0)),U,15)'="Y"
Begin DoDot:2
+16 WRITE *7,!!?5,"SITE PARAMETERS have not yet been reviewed. Access to the Claim"
+17 WRITE !?5,"Editor is prevented until they are! The Site Parameters can be",!?5,"reviewed through the Table Maintenace Menu."
End DoDot:2
+18 ;find all open sessions
DO FINDAOPN^ABMUCUTL
+19 SET ABMFLG=0
+20 SET ABMSDT=0
+21 FOR
SET ABMSDT=$ORDER(ABMO(ABMSDT))
IF +ABMSDT=0
QUIT
Begin DoDot:2
+22 IF (DT)>($PIECE(ABMSDT,"."))
SET ABMFLG=1
End DoDot:2
IF ABMFLG=1
QUIT
+23 IF $GET(ABMFLG)=1
WRITE !,"WARNING: Open cashiering sessions exist that should be reconciled for UFMS"
+24 SET ABMFLG="CLOSED"
+25 ;find all closed sessions
DO FINDACLS^ABMUCUTL
+26 IF $DATA(ABMO)
WRITE !,"WARNING: Cashiering sessions are closed and awaiting export to UFMS"
+27 ;start new code abm*2.6*9 NOHEAT
+28 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,4)),U,15)=""
Begin DoDot:2
+29 WRITE !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," UFMS PARAMETERS have not been completed."
End DoDot:2
+30 ;end new code
+31 ;start new abm*2.6*27 IHS/SD/SDR CR8894
+32 IF $$FEETBCHK()=1
Begin DoDot:2
+33 WRITE !!,$$EN^ABMVDF("RVN"),*7,"WARNING:",$$EN^ABMVDF("RVF")," FEE SCHEDULES NEED TO BE REVIEWED/COMPLETED BEFORE ALL FEES WILL",!," BE ACCURATE"
End DoDot:2
+34 ;end new abm*2.6*27 IHS/SD/SDR CR8894
End DoDot:1
+35 KILL ABM("F1")
+36 ;
XIT ;
+1 ;local variable killer
DO EN^XBVK("ABM")
+2 KILL X,Y,I,X1,X2,DUOUT,DTOUT,DIROUT,POP,ZTSK,ZTSAVE,ZTRTN,ZTDESC,%ZIS,TO,FR,BY,FLDS,PG,DIR,DIC,DIE,DIK,DA,DR,L,%X,%Y
+3 QUIT
+4 ;
OUT ;EP - Entry Point for all Option Exits
+1 KILL DIQ
+2 SET ABMM(0)=$SELECT($GET(^XUTL("XQ",$JOB,"T")):$PIECE($GET(^XUTL("XQ",$JOB,^("T")-1)),U,3),1:"")
+3 IF $PIECE($GET(Y(0)),U)="ABMMENU"!($PIECE($GET(XQY0),U)="ABMMENU")
DO SESSCK
GOTO XIT
+4 SET ABMM("OUT")=""
+5 GOTO BEG
+6 ;
SESSCK ;EP - Check if user has open session for UFMS
+1 SET ABMUOPNS=$$FINDOPEN^ABMUCUTL(DUZ)
+2 IF +$GET(ABMUOPNS)'=0
Begin DoDot:1
+3 WRITE !!,"NOTE: You are still logged into your cashiering session. To Close"
+4 WRITE !?6,"your session select Cashiering Options (UCSH), then Cashiering Sign In/"
+5 WRITE !?6,"Sign Out (CIO).",!
+6 SET DIR(0)="E"
SET DIR("A")="Enter RETURN to Continue"
DO ^DIR
KILL DIR
End DoDot:1
+7 QUIT
+8 ;start new abm*2.6*27 IHS/SD/SDR CR8894
FEETBCHK() ;EP
+1 SET ABMT=0
+2 SET ABMT("TB")=0
+3 FOR
SET ABMT("TB")=$ORDER(^ABMDFEE(ABMT("TB")))
IF 'ABMT("TB")
QUIT
Begin DoDot:1
+4 IF $PIECE($GET(^ABMDFEE(ABMT("TB"),0)),U,6)=""
SET ABMT=1
End DoDot:1
+5 QUIT ABMT
+6 ;end new abm*2.6*27 IHS/SD/SDR CR8894