ABMDE7C ; IHS/ASDST/DMJ - Page 7 - Inpatient Triggers ;
;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
;
; IHS/ASDS/LSL - 11/01/01 - V2.4 P9 - Resolve undef error when splitting claims.
; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to call ABMFEAPI
; *********************************************************************
;
; If it gets this far w/o active insurer, ABMP("FEE") is undefined
S:'$D(ABMP("FEE")) ABMP("FEE")=$P($G(^ABMDPARM(DUZ(2),1,0)),U,9)
TRIG S ABM("C6")=$G(^ABMDCLM(DUZ(2),ABMP("CDFN"),6)),ABM("C5")=$G(^(5)),ABM("C7")=$G(^(7))
G RB:+ABM("C5")'=85
FLAT2 I $D(ABMP("FLAT")),$P(ABM("C5"),U,10)>0 S ABMP("FLAT",170)=$P(ABM("C5"),U,10)
G COMP:ABMP("PAGE")'[8
;
RB I '$D(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0)),$P(ABM("C7"),U,3)>0 D
.Q:ABMP("VTYP")=831
.Q:ABMP("VTYP")=999
.S DA(1)=ABMP("CDFN"),DIC="^ABMDCLM(DUZ(2),"_DA(1)_",25,",DIC(0)="LXE"
.S ^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0)="^9002274.3025P"
.;S (DINUM,X)=120,DIC("DR")=".02////"_$P(ABM("C7"),U,3)_";.03////"_$P($G(^ABMDFEE(ABMP("FEE"),31,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
.S (DINUM,X)=120,DIC("DR")=".02////"_$P(ABM("C7"),U,3)_";.03////"_$P($$ONE^ABMFEAPI(ABMP("FEE"),31,X,ABMP("VDT")),U) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
;
NURS G NONUR:+ABM("C5")'=85
I '$D(ABMP("FLAT")),ABMP("VTYP")'=831 D
.Q:$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0))
.S DA(1)=ABMP("CDFN"),DIC="^ABMDCLM(DUZ(2),"_DA(1)_",25,",DIC(0)="LE"
.;I $P(ABM("C5"),U,10)>0 S (DINUM,X)=170,DIC("DR")=".02////"_$P(ABM("C5"),U,10)_";.03////"_$P($G(^ABMDFEE(ABMP("FEE"),31,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
.I $P(ABM("C5"),U,10)>0 S (DINUM,X)=170,DIC("DR")=".02////"_$P(ABM("C5"),U,10)_";.03////"_$P($$ONE^ABMFEAPI(ABMP("FEE"),31,X,ABMP("VDT")),U) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
G COMP
;
NONUR I $P(ABM("C5"),U,10)]"" S DA=ABMP("CDFN"),DR=".525///@",DIE="^ABMDCLM(DUZ(2)," D ^DIE
I $D(ABMP("FLAT")) K ABMP("FLAT",2)
I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,170))=10 S DA(1)=ABMP("CDFN"),DIK="^ABMDCLM(DUZ(2),"_DA(1)_",25,",DA=170 D ^DIK
;
COMP ;COMP LINE TAG
;
PSRO S DIE="^ABMDCLM(DUZ(2),",DA=ABMP("CDFN")
;
MED Q:$D(^ABMDCLM(DUZ(2),ABMP("CDFN"),27,0))
S ^ABMDCLM(DUZ(2),ABMP("CDFN"),27,0)="^9002274.3027P"
S DA(1)=ABMP("CDFN")
S DIC="^ABMDCLM(DUZ(2),"_DA(1)_",27,",DIC(0)="LE"
S (DINUM,X)=$S($D(^ICPT(99221)):99221,1:90200)
;S DIC("DR")=".03////1;.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) ;abm*2.6*2 3PMS10003A
S DIC("DR")=".03////1;.04////"_$P($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U) ;abm*2.6*2 3PMS10003A
K DD,DO D FILE^DICN
;I $P(ABM("C7"),U,3)>1 S (X,DINUM)=$S($D(^ICPT(99231)):99231,1:90240),DIC("DR")=".03////"_($P(ABM("C7"),U,3)-1)_";.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
I $P(ABM("C7"),U,3)>1 S (X,DINUM)=$S($D(^ICPT(99231)):99231,1:90240),DIC("DR")=".03////"_($P(ABM("C7"),U,3)-1)_";.04////"_$P($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
;I $P(ABM("C7"),U,2)>$P(ABM("C7"),U) S (X,DINUM)=$S($D(^ICPT(99238)):99238,1:90292),DIC("DR")=".03////1;.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
I $P(ABM("C7"),U,2)>$P(ABM("C7"),U) S (X,DINUM)=$S($D(^ICPT(99238)):99238,1:90292),DIC("DR")=".03////1;.04////"_$P($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
Q
ABMDE7C ; IHS/ASDST/DMJ - Page 7 - Inpatient Triggers ;
+1 ;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
+2 ;
+3 ; IHS/ASDS/LSL - 11/01/01 - V2.4 P9 - Resolve undef error when splitting claims.
+4 ; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to call ABMFEAPI
+5 ; *********************************************************************
+6 ;
+7 ; If it gets this far w/o active insurer, ABMP("FEE") is undefined
+8 IF '$DATA(ABMP("FEE"))
SET ABMP("FEE")=$PIECE($GET(^ABMDPARM(DUZ(2),1,0)),U,9)
TRIG SET ABM("C6")=$GET(^ABMDCLM(DUZ(2),ABMP("CDFN"),6))
SET ABM("C5")=$GET(^(5))
SET ABM("C7")=$GET(^(7))
+1 IF +ABM("C5")'=85
GOTO RB
FLAT2 IF $DATA(ABMP("FLAT"))
IF $PIECE(ABM("C5"),U,10)>0
SET ABMP("FLAT",170)=$PIECE(ABM("C5"),U,10)
+1 IF ABMP("PAGE")'[8
GOTO COMP
+2 ;
RB IF '$DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0))
IF $PIECE(ABM("C7"),U,3)>0
Begin DoDot:1
+1 IF ABMP("VTYP")=831
QUIT
+2 IF ABMP("VTYP")=999
QUIT
+3 SET DA(1)=ABMP("CDFN")
SET DIC="^ABMDCLM(DUZ(2),"_DA(1)_",25,"
SET DIC(0)="LXE"
+4 SET ^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0)="^9002274.3025P"
+5 ;S (DINUM,X)=120,DIC("DR")=".02////"_$P(ABM("C7"),U,3)_";.03////"_$P($G(^ABMDFEE(ABMP("FEE"),31,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
+6 ;abm*2.6*2 3PMS10003A
SET (DINUM,X)=120
SET DIC("DR")=".02////"_$PIECE(ABM("C7"),U,3)_";.03////"_$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),31,X,ABMP("VDT")),U)
KILL DD,DO
DO FILE^DICN
End DoDot:1
+7 ;
NURS IF +ABM("C5")'=85
GOTO NONUR
+1 IF '$DATA(ABMP("FLAT"))
IF ABMP("VTYP")'=831
Begin DoDot:1
+2 IF $ORDER(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,0))
QUIT
+3 SET DA(1)=ABMP("CDFN")
SET DIC="^ABMDCLM(DUZ(2),"_DA(1)_",25,"
SET DIC(0)="LE"
+4 ;I $P(ABM("C5"),U,10)>0 S (DINUM,X)=170,DIC("DR")=".02////"_$P(ABM("C5"),U,10)_";.03////"_$P($G(^ABMDFEE(ABMP("FEE"),31,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
+5 ;abm*2.6*2 3PMS10003A
IF $PIECE(ABM("C5"),U,10)>0
SET (DINUM,X)=170
SET DIC("DR")=".02////"_$PIECE(ABM("C5"),U,10)_";.03////"_$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),31,X,ABMP("VDT")),U)
KILL DD,DO
DO FILE^DICN
End DoDot:1
+6 GOTO COMP
+7 ;
NONUR IF $PIECE(ABM("C5"),U,10)]""
SET DA=ABMP("CDFN")
SET DR=".525///@"
SET DIE="^ABMDCLM(DUZ(2),"
DO ^DIE
+1 IF $DATA(ABMP("FLAT"))
KILL ABMP("FLAT",2)
+2 IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),25,170))=10
SET DA(1)=ABMP("CDFN")
SET DIK="^ABMDCLM(DUZ(2),"_DA(1)_",25,"
SET DA=170
DO ^DIK
+3 ;
COMP ;COMP LINE TAG
+1 ;
PSRO SET DIE="^ABMDCLM(DUZ(2),"
SET DA=ABMP("CDFN")
+1 ;
MED IF $DATA(^ABMDCLM(DUZ(2),ABMP("CDFN"),27,0))
QUIT
+1 SET ^ABMDCLM(DUZ(2),ABMP("CDFN"),27,0)="^9002274.3027P"
+2 SET DA(1)=ABMP("CDFN")
+3 SET DIC="^ABMDCLM(DUZ(2),"_DA(1)_",27,"
SET DIC(0)="LE"
+4 SET (DINUM,X)=$SELECT($DATA(^ICPT(99221)):99221,1:90200)
+5 ;S DIC("DR")=".03////1;.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) ;abm*2.6*2 3PMS10003A
+6 ;abm*2.6*2 3PMS10003A
SET DIC("DR")=".03////1;.04////"_$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U)
+7 KILL DD,DO
DO FILE^DICN
+8 ;I $P(ABM("C7"),U,3)>1 S (X,DINUM)=$S($D(^ICPT(99231)):99231,1:90240),DIC("DR")=".03////"_($P(ABM("C7"),U,3)-1)_";.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
+9 ;abm*2.6*2 3PMS10003A
IF $PIECE(ABM("C7"),U,3)>1
SET (X,DINUM)=$SELECT($DATA(^ICPT(99231)):99231,1:90240)
SET DIC("DR")=".03////"_($PIECE(ABM("C7"),U,3)-1)_";.04////"_$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U)
KILL DD,DO
DO FILE^DICN
+10 ;I $P(ABM("C7"),U,2)>$P(ABM("C7"),U) S (X,DINUM)=$S($D(^ICPT(99238)):99238,1:90292),DIC("DR")=".03////1;.04////"_$P($G(^ABMDFEE(ABMP("FEE"),19,X,0)),U,2) K DD,DO D FILE^DICN ;abm*2.6*2 3PMS10003A
+11 ;abm*2.6*2 3PMS10003A
IF $PIECE(ABM("C7"),U,2)>$PIECE(ABM("C7"),U)
SET (X,DINUM)=$SELECT($DATA(^ICPT(99238)):99238,1:90292)
SET DIC("DR")=".03////1;.04////"_$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),19,X,ABMP("VDT")),U)
KILL DD,DO
DO FILE^DICN
+12 QUIT