ABMDESMC ; IHS/ASDST/DMJ - Ambulatory Surg Claim Info ;
;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to call ABMFEAPI
;
K ABMS("CPT"),ABMS("TMP")
S ABMCAT=21 D PCK^ABMDESM1 Q:$G(ABMQUIT)
I $P($G(^AUTNINS(ABMP("INS"),2)),U)'="R" S ABMS("TOT")=0
MS S ABMX="""""" F ABMS=1:1 S ABMX=$O(@(ABMP("GL")_"21,""C"","_ABMX_")")) Q:'ABMX S ABMX("X")=$O(^(ABMX,"")) D MS1
G XIT
;
MS1 S ABMX(0)=@(ABMP("GL")_"21,"_ABMX("X")_",0)")
;Q:'$P($G(^ABMDFEE(ABMP("FEE"),11,+ABMX(0),0)),U,2) ;abm*2.6*2 3PMS10003A
Q:'$P($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U) ;abm*2.6*2 3PMS10003A
I $D(ABMS("TMP",+ABMX(0))) S $P(ABMS("CPT",ABMS("TMP",+ABMX(0))),U,4)=$P(ABMS("CPT",ABMS("TMP",+ABMX(0))),U,4)+1,ABMS=ABMS-1 Q
S ABMS("CPT",ABMS)=U_$P(ABMX(0),U)_U_$P(ABMP("FLAT"),U,2)_U_1
S ABMS("TMP",$P(ABMX(0),U))=ABMS
I $P($G(^AUTNINS(ABMP("INS"),2)),U)="R" G MCR
;S $P(ABMS("CPT",ABMS),U,5)=$P(^ABMDFEE(ABMP("FEE"),11,+ABMX(0),0),U,2),ABMS("TOT")=ABMS("TOT")+$P(^(0),U,2) ;abm*2.6*2 3PMS10003A
S $P(ABMS("CPT",ABMS),U,5)=$P($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U),ABMS("TOT")=ABMS("TOT")+$P($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U) ;abm*2.6*2 3PMS10003A
Q
MCR S $P(ABMS("CPT",ABMS),U,5)=$S(ABMS=1:ABMS("TOT"),1:0)
Q
;
XIT K ABMX,ABMS("TMP")
Q
ABMDESMC ; IHS/ASDST/DMJ - Ambulatory Surg Claim Info ;
+1 ;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
+2 ; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to call ABMFEAPI
+3 ;
+4 KILL ABMS("CPT"),ABMS("TMP")
+5 SET ABMCAT=21
DO PCK^ABMDESM1
IF $GET(ABMQUIT)
QUIT
+6 IF $PIECE($GET(^AUTNINS(ABMP("INS"),2)),U)'="R"
SET ABMS("TOT")=0
MS SET ABMX=""""""
FOR ABMS=1:1
SET ABMX=$ORDER(@(ABMP("GL")_"21,""C"","_ABMX_")"))
IF 'ABMX
QUIT
SET ABMX("X")=$ORDER(^(ABMX,""))
DO MS1
+1 GOTO XIT
+2 ;
MS1 SET ABMX(0)=@(ABMP("GL")_"21,"_ABMX("X")_",0)")
+1 ;Q:'$P($G(^ABMDFEE(ABMP("FEE"),11,+ABMX(0),0)),U,2) ;abm*2.6*2 3PMS10003A
+2 ;abm*2.6*2 3PMS10003A
IF '$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U)
QUIT
+3 IF $DATA(ABMS("TMP",+ABMX(0)))
SET $PIECE(ABMS("CPT",ABMS("TMP",+ABMX(0))),U,4)=$PIECE(ABMS("CPT",ABMS("TMP",+ABMX(0))),U,4)+1
SET ABMS=ABMS-1
QUIT
+4 SET ABMS("CPT",ABMS)=U_$PIECE(ABMX(0),U)_U_$PIECE(ABMP("FLAT"),U,2)_U_1
+5 SET ABMS("TMP",$PIECE(ABMX(0),U))=ABMS
+6 IF $PIECE($GET(^AUTNINS(ABMP("INS"),2)),U)="R"
GOTO MCR
+7 ;S $P(ABMS("CPT",ABMS),U,5)=$P(^ABMDFEE(ABMP("FEE"),11,+ABMX(0),0),U,2),ABMS("TOT")=ABMS("TOT")+$P(^(0),U,2) ;abm*2.6*2 3PMS10003A
+8 ;abm*2.6*2 3PMS10003A
SET $PIECE(ABMS("CPT",ABMS),U,5)=$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U)
SET ABMS("TOT")=ABMS("TOT")+$PIECE($$ONE^ABMFEAPI(ABMP("FEE"),11,+ABMX(0),ABMP("VDT")),U)
+9 QUIT
MCR SET $PIECE(ABMS("CPT",ABMS),U,5)=$SELECT(ABMS=1:ABMS("TOT"),1:0)
+1 QUIT
+2 ;
XIT KILL ABMX,ABMS("TMP")
+1 QUIT