- ABMDE ; IHS/ASDST/DMJ - Claim Editor Selection ;
- ;;2.6;IHS Third Party Billing;**1,3,6,8,9,10,13,14**;NOV 12, 2009;Build 238
- ;
- ; IHS/ASDS/LSL - 08/13/2001 - V2.4 Patch 9 - NOIS HQW-0798-100082
- ; Only check eligibility once.
- ;
- ; IHS/ASDS/LSL - 08/10/2001 - V2.4 Patch 9 - NOIS OVA-0801-190038
- ; Unlock the claim file as the lock table is filling up.
- ;
- ; IHS/SD/SDR - v2.5 p8 - task 6
- ; Added code for new page selection (page 3A and page 8K)
- ;
- ; IHS/SD/SDR - v2.5 p10 - IM20337
- ; Added code for Next if ADA and page 9F
- ;
- ; IHS/SD/SDR - v2.5 p12 - UFMS
- ; If user isn't logged into cashiering session they can't do
- ; this option
- ;
- ; IHS/SD/SDR - abm*2.6*1 - HEAT6439 - Added check for page9
- ; IHS/SD/SDR - abm*2.6*3 - HEAT10547 - modified page9 check to display 9F & 9G for
- ; all export modes; all others only for UB or 837I
- ; IHS/SD/SDR - abm*2.6*6 - 5010 - added changes for page3B
- ; IHS/SD/SDR - abm*2.6*6 - NOHEAT - fix for <NOLINE>SCRN+2^ABMDE
- ;IHS/SD/SDR - 2.6*13 - made HCFA go to page 9A instead of straight to 9E
- ;IHS/SD/SDR - 2.6*14 - HEAT165301 - took out changes for 9A that were included in p13
- ;
- ; *********************************************************************
- ;
- I $P($G(^ABMDPARM(DUZ(2),1,0)),U,15)'="Y" D G XIT
- .W !!?5,*7,"ACCESS to the CLAIM EDITOR is DENIED until SITE PARAMETERS file",!?5,"has been Reviewed!"
- .S DIR(0)="E"
- .D ^DIR
- .K DIR
- K ABMPP,ABMP("PAYM"),DIC
- S ABMPERM("EDITOR")=1
- ;
- CLM2 ;EP - CLM2 ENTRY POINT
- G XIT:$G(ABMP("PAYM"))!$D(ABMPP("CLM"))
- K ABM,ABMP,ABMX,ABMV,ABMZ,ABMC,ABMU,ABML,DIROUT,DIRUT,DIR,DTOUT,DUOUT
- W !
- D ^ABMDEDIC
- G XIT:$D(DIROUT)!$D(DIRUT)!$D(DUOUT)!$D(DTOUT)!'+$G(ABMP("CDFN"))
- K ABMP("MULT")
- K ABMLOC
- ;start new code abm*2.6*9 NOHEAT - ensure UFMS is setup
- I $P($G(^ABMDPARM(DUZ(2),1,4)),U,15)="" D Q
- .W !!,"* * UFMS SETUP MUST BE DONE BEFORE ANY BILLING FUNCTIONS CAN BE USED! * *",!
- .S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
- ;end new code
- I $P($G(^ABMDPARM(DUZ(2),1,4)),U,15)=1 D Q:+$G(ABMUOPNS)=0
- .S ABMUOPNS=$$FINDOPEN^ABMUCUTL(DUZ)
- .I +$G(ABMUOPNS)=0 D Q
- ..W !!,"* * YOU MUST SIGN IN TO BE ABLE TO PERFORM BILLING FUNCTIONS! * *",!
- ..S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
- ;
- EXT ;EP - Entry Point used when Adding New Claim
- L +^ABMDCLM(DUZ(2),ABMP("CDFN")):0 I $T G CHK
- W !!,"Claim # ",ABMP("CDFN")
- W *7," - Another User is Editing this Record, try Later!",!
- S DIR(0)="E"
- D ^DIR
- K DIR
- Q:$D(ABMPP("STATUS"))
- G CLM2
- ;
- CHK ;
- I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="C" D G CLM2
- . W *7,!!!?5,"**** All billing has been completed for Claim: "
- . W ABMP("CDFN")," ****"
- . W !?10,"The claim is thus closed and uneditable.",!!
- . L -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- ;
- DFN ;
- S ABMP("PDFN")=$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,1)
- S ABMP("VTYP")=$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,7)
- S DIE="^ABMDCLM(DUZ(2),"
- S DA=ABMP("CDFN")
- S DR=".1////"_DT
- I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="F" S DR=".04////E;"_DR
- D ^DIE
- K DR
- ;
- CNT ;
- S ABMP("SCRN")=0
- S ABMP("RTN")="^ABMDE0"
- D ^ABMDEVAR
- ;
- SCRN ;EP - Entry Point for Detailed Claim Display
- S ABMP("LABEL")=""
- D @ABMP("RTN")
- I ($D(ABMP("CHK"))!$D(ABMP("DDL")))&($D(DUOUT)!$D(DIROUT)!$D(DTOUT)) D Q
- .L -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- I $D(DTOUT)!$D(DIROUT)!$D(ABMP("QUIT")) D G XIT
- .L -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- I $D(DIRUT)!$D(DUOUT)!$D(ABMP("OVER")) D G CLM2
- .L -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- I $D(Y),Y="Q" L -^ABMDCLM(DUZ(2),ABMP("CDFN")) G CLM2
- I $G(ABMNOELG) L -^ABMDCLM(DUZ(2),ABMP("CDFN")) G CLM2 ; ABMNOELG set in ABMDE0
- I '$D(ABMP("PAGE")) D PAGE^ABMDEVAR
- I $E(Y)="J",($E(Y,2)>0&($E(Y,2)<10))!($E(Y,2)=0),ABMP("PAGE")[$E(Y,2) D JUMP^ABMDEPG G RTN
- I "BN"'[Y D SCRN^ABMDEPG:Y="J" G XIT:$D(DIROUT),SCRN:$D(DIRUT) W:+Y=0&(Y'=0) *7 G SCRN:+Y=0&(Y'=0) S ABMP("SCRN")=Y G RTN
- I Y="B" D G RTN
- .S ABMTEMP=$G(ABMP("PAGE"))_","
- .S ABMTEMP=$P(ABMTEMP,(","_ABMP("SCRN")_","))
- .S ABMP("SCRN")=$P(ABMTEMP,",",$L(ABMTEMP,","))
- .K ABMTEMP
- S ABMTEMP=$P(ABMP("PAGE"),ABMP("SCRN")_",",2)
- S ABMP("SCRN")=$P(ABMTEMP,",")
- K ABMTEMP
- ;
- RTN ;
- S:ABMP("SCRN")="3A" ABMP("SCRN")="31"
- S:ABMP("SCRN")="3B" ABMP("SCRN")="32" ;abm*2.6*6 5010
- S:ABMP("SCRN")[5 ABMP("SCRN")=5 ;abm*2.6*8
- ;I ABMP("SCRN")["9" S ABP("SCRN")="9" ;abm*2.6*1 HEAT6439 ;abm*2.6*6
- I ABMP("SCRN")["9" S ABMP("SCRN")="9" ;abm*2.6*1 HEAT6439 ;abm*2.6*6
- ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["837 P",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT6" ;abm*2.6*3 HEAT10547 ;abm*2.6*10 HEAT68575
- I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["HCFA",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT5" ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 IHS/SD/SDR 5/29/14 HEAT165301 but back in
- ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["HCFA",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT" ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 NOHEAT3
- ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["CMS",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT" ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 NOHEAT3 ;abm*2.6*14 IHS/SD/SDR 5/29/14 HEAT165301 took out
- ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["ADA",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT6" ;abm*2.6*8
- S:+ABMP("SCRN")=0 ABMP("SCRN")=0
- S ABMP("RTN")=ABMP("LABEL")_"^ABMDE"_ABMP("SCRN")
- I '$G(ABMPERM("EDITOR")),($G(ABMP("SCRN"))="") G XIT
- G SCRN
- ;
- XIT ;EXIT POINT
- I $D(ABMPP("STATUS")) S ABMPP("STATUS")=$S($D(ABMP("OVER")):0,$D(DUOUT)!($G(Y)="Q"):1,1:2)
- I '$D(ABMC("DDL")) K ABMP,ABM,ABMV,ABME,ABMX,ABML,ABMZ,ABMC,ABMU
- K ABMPERM("EDITOR")
- I $D(ABMP("CDFN")) L -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- Q
- ABMDE ; IHS/ASDST/DMJ - Claim Editor Selection ;
- +1 ;;2.6;IHS Third Party Billing;**1,3,6,8,9,10,13,14**;NOV 12, 2009;Build 238
- +2 ;
- +3 ; IHS/ASDS/LSL - 08/13/2001 - V2.4 Patch 9 - NOIS HQW-0798-100082
- +4 ; Only check eligibility once.
- +5 ;
- +6 ; IHS/ASDS/LSL - 08/10/2001 - V2.4 Patch 9 - NOIS OVA-0801-190038
- +7 ; Unlock the claim file as the lock table is filling up.
- +8 ;
- +9 ; IHS/SD/SDR - v2.5 p8 - task 6
- +10 ; Added code for new page selection (page 3A and page 8K)
- +11 ;
- +12 ; IHS/SD/SDR - v2.5 p10 - IM20337
- +13 ; Added code for Next if ADA and page 9F
- +14 ;
- +15 ; IHS/SD/SDR - v2.5 p12 - UFMS
- +16 ; If user isn't logged into cashiering session they can't do
- +17 ; this option
- +18 ;
- +19 ; IHS/SD/SDR - abm*2.6*1 - HEAT6439 - Added check for page9
- +20 ; IHS/SD/SDR - abm*2.6*3 - HEAT10547 - modified page9 check to display 9F & 9G for
- +21 ; all export modes; all others only for UB or 837I
- +22 ; IHS/SD/SDR - abm*2.6*6 - 5010 - added changes for page3B
- +23 ; IHS/SD/SDR - abm*2.6*6 - NOHEAT - fix for <NOLINE>SCRN+2^ABMDE
- +24 ;IHS/SD/SDR - 2.6*13 - made HCFA go to page 9A instead of straight to 9E
- +25 ;IHS/SD/SDR - 2.6*14 - HEAT165301 - took out changes for 9A that were included in p13
- +26 ;
- +27 ; *********************************************************************
- +28 ;
- +29 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,0)),U,15)'="Y"
- Begin DoDot:1
- +30 WRITE !!?5,*7,"ACCESS to the CLAIM EDITOR is DENIED until SITE PARAMETERS file",!?5,"has been Reviewed!"
- +31 SET DIR(0)="E"
- +32 DO ^DIR
- +33 KILL DIR
- End DoDot:1
- GOTO XIT
- +34 KILL ABMPP,ABMP("PAYM"),DIC
- +35 SET ABMPERM("EDITOR")=1
- +36 ;
- CLM2 ;EP - CLM2 ENTRY POINT
- +1 IF $GET(ABMP("PAYM"))!$DATA(ABMPP("CLM"))
- GOTO XIT
- +2 KILL ABM,ABMP,ABMX,ABMV,ABMZ,ABMC,ABMU,ABML,DIROUT,DIRUT,DIR,DTOUT,DUOUT
- +3 WRITE !
- +4 DO ^ABMDEDIC
- +5 IF $DATA(DIROUT)!$DATA(DIRUT)!$DATA(DUOUT)!$DATA(DTOUT)!'+$GET(ABMP("CDFN"))
- GOTO XIT
- +6 KILL ABMP("MULT")
- +7 KILL ABMLOC
- +8 ;start new code abm*2.6*9 NOHEAT - ensure UFMS is setup
- +9 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,4)),U,15)=""
- Begin DoDot:1
- +10 WRITE !!,"* * UFMS SETUP MUST BE DONE BEFORE ANY BILLING FUNCTIONS CAN BE USED! * *",!
- +11 SET DIR(0)="E"
- SET DIR("A")="Enter RETURN to Continue"
- DO ^DIR
- KILL DIR
- End DoDot:1
- QUIT
- +12 ;end new code
- +13 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,4)),U,15)=1
- Begin DoDot:1
- +14 SET ABMUOPNS=$$FINDOPEN^ABMUCUTL(DUZ)
- +15 IF +$GET(ABMUOPNS)=0
- Begin DoDot:2
- +16 WRITE !!,"* * YOU MUST SIGN IN TO BE ABLE TO PERFORM BILLING FUNCTIONS! * *",!
- +17 SET DIR(0)="E"
- SET DIR("A")="Enter RETURN to Continue"
- DO ^DIR
- KILL DIR
- End DoDot:2
- QUIT
- End DoDot:1
- IF +$GET(ABMUOPNS)=0
- QUIT
- +18 ;
- EXT ;EP - Entry Point used when Adding New Claim
- +1 LOCK +^ABMDCLM(DUZ(2),ABMP("CDFN")):0
- IF $TEST
- GOTO CHK
- +2 WRITE !!,"Claim # ",ABMP("CDFN")
- +3 WRITE *7," - Another User is Editing this Record, try Later!",!
- +4 SET DIR(0)="E"
- +5 DO ^DIR
- +6 KILL DIR
- +7 IF $DATA(ABMPP("STATUS"))
- QUIT
- +8 GOTO CLM2
- +9 ;
- CHK ;
- +1 IF $PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="C"
- Begin DoDot:1
- +2 WRITE *7,!!!?5,"**** All billing has been completed for Claim: "
- +3 WRITE ABMP("CDFN")," ****"
- +4 WRITE !?10,"The claim is thus closed and uneditable.",!!
- +5 LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- End DoDot:1
- GOTO CLM2
- +6 ;
- DFN ;
- +1 SET ABMP("PDFN")=$PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,1)
- +2 SET ABMP("VTYP")=$PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,7)
- +3 SET DIE="^ABMDCLM(DUZ(2),"
- +4 SET DA=ABMP("CDFN")
- +5 SET DR=".1////"_DT
- +6 IF $PIECE(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),U,4)="F"
- SET DR=".04////E;"_DR
- +7 DO ^DIE
- +8 KILL DR
- +9 ;
- CNT ;
- +1 SET ABMP("SCRN")=0
- +2 SET ABMP("RTN")="^ABMDE0"
- +3 DO ^ABMDEVAR
- +4 ;
- SCRN ;EP - Entry Point for Detailed Claim Display
- +1 SET ABMP("LABEL")=""
- +2 DO @ABMP("RTN")
- +3 IF ($DATA(ABMP("CHK"))!$DATA(ABMP("DDL")))&($DATA(DUOUT)!$DATA(DIROUT)!$DATA(DTOUT))
- Begin DoDot:1
- +4 LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- End DoDot:1
- QUIT
- +5 IF $DATA(DTOUT)!$DATA(DIROUT)!$DATA(ABMP("QUIT"))
- Begin DoDot:1
- +6 LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- End DoDot:1
- GOTO XIT
- +7 IF $DATA(DIRUT)!$DATA(DUOUT)!$DATA(ABMP("OVER"))
- Begin DoDot:1
- +8 LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- End DoDot:1
- GOTO CLM2
- +9 IF $DATA(Y)
- IF Y="Q"
- LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- GOTO CLM2
- +10 ; ABMNOELG set in ABMDE0
- IF $GET(ABMNOELG)
- LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- GOTO CLM2
- +11 IF '$DATA(ABMP("PAGE"))
- DO PAGE^ABMDEVAR
- +12 IF $EXTRACT(Y)="J"
- IF ($EXTRACT(Y,2)>0&($EXTRACT(Y,2)<10))!($EXTRACT(Y,2)=0)
- IF ABMP("PAGE")[$EXTRACT(Y,2)
- DO JUMP^ABMDEPG
- GOTO RTN
- +13 IF "BN"'[Y
- IF Y="J"
- DO SCRN^ABMDEPG
- IF $DATA(DIROUT)
- GOTO XIT
- IF $DATA(DIRUT)
- GOTO SCRN
- IF +Y=0&(Y'=0)
- WRITE *7
- IF +Y=0&(Y'=0)
- GOTO SCRN
- SET ABMP("SCRN")=Y
- GOTO RTN
- +14 IF Y="B"
- Begin DoDot:1
- +15 SET ABMTEMP=$GET(ABMP("PAGE"))_","
- +16 SET ABMTEMP=$PIECE(ABMTEMP,(","_ABMP("SCRN")_","))
- +17 SET ABMP("SCRN")=$PIECE(ABMTEMP,",",$LENGTH(ABMTEMP,","))
- +18 KILL ABMTEMP
- End DoDot:1
- GOTO RTN
- +19 SET ABMTEMP=$PIECE(ABMP("PAGE"),ABMP("SCRN")_",",2)
- +20 SET ABMP("SCRN")=$PIECE(ABMTEMP,",")
- +21 KILL ABMTEMP
- +22 ;
- RTN ;
- +1 IF ABMP("SCRN")="3A"
- SET ABMP("SCRN")="31"
- +2 ;abm*2.6*6 5010
- IF ABMP("SCRN")="3B"
- SET ABMP("SCRN")="32"
- +3 ;abm*2.6*8
- IF ABMP("SCRN")[5
- SET ABMP("SCRN")=5
- +4 ;I ABMP("SCRN")["9" S ABP("SCRN")="9" ;abm*2.6*1 HEAT6439 ;abm*2.6*6
- +5 ;abm*2.6*1 HEAT6439 ;abm*2.6*6
- IF ABMP("SCRN")["9"
- SET ABMP("SCRN")="9"
- +6 ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["837 P",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT6" ;abm*2.6*3 HEAT10547 ;abm*2.6*10 HEAT68575
- +7 ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 IHS/SD/SDR 5/29/14 HEAT165301 but back in
- IF $PIECE($GET(^ABMDEXP(ABMP("EXP"),0)),U)["HCFA"
- IF (+ABMP("SCRN")["9")
- SET ABMP("LABEL")="OPT5"
- +8 ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["HCFA",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT" ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 NOHEAT3
- +9 ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["CMS",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT" ;abm*2.6*10 HEAT68575 ;abm*2.6*13 exp mode 35 ;abm*2.6*14 NOHEAT3 ;abm*2.6*14 IHS/SD/SDR 5/29/14 HEAT165301 took out
- +10 ;I $P($G(^ABMDEXP(ABMP("EXP"),0)),U)["ADA",(+ABMP("SCRN")["9") S ABMP("LABEL")="OPT6" ;abm*2.6*8
- +11 IF +ABMP("SCRN")=0
- SET ABMP("SCRN")=0
- +12 SET ABMP("RTN")=ABMP("LABEL")_"^ABMDE"_ABMP("SCRN")
- +13 IF '$GET(ABMPERM("EDITOR"))
- IF ($GET(ABMP("SCRN"))="")
- GOTO XIT
- +14 GOTO SCRN
- +15 ;
- XIT ;EXIT POINT
- +1 IF $DATA(ABMPP("STATUS"))
- SET ABMPP("STATUS")=$SELECT($DATA(ABMP("OVER")):0,$DATA(DUOUT)!($GET(Y)="Q"):1,1:2)
- +2 IF '$DATA(ABMC("DDL"))
- KILL ABMP,ABM,ABMV,ABME,ABMX,ABML,ABMZ,ABMC,ABMU
- +3 KILL ABMPERM("EDITOR")
- +4 IF $DATA(ABMP("CDFN"))
- LOCK -^ABMDCLM(DUZ(2),ABMP("CDFN"))
- +5 QUIT