- ABMDF2 ; IHS/ASDST/DMJ - Set HCFA-1500 Print Array ;
- ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- ;Original;TMD;
- ;
- K ABMP S U="^",ABMP("XMIT")=0,ABMP("EXP")=2,ABMY("TOT")="0^0^0"
- BDFN S ABMY("N")=0 F S ABMY("N")=$O(ABMY(ABMY("N"))) Q:'ABMY("N") D
- .S ABMP("BDFN")="" F S ABMP("BDFN")=$O(ABMY(ABMY("N"),ABMP("BDFN"))) Q:'ABMP("BDFN") D
- ..Q:'$D(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- ..D ENT
- ..I +$O(ABMR("")) S ABMR("MORE")=""
- ..D ^ABMDF2X
- ..I +$O(ABMR("")) D HCFA
- XMIT ..I ABMP("XMIT")=0 S ABM("XM")="" F S ABM("XM")=$O(^ABMDTXST(DUZ(2),"B",DT,ABM("XM"))) Q:'ABM("XM") D Q:ABMP("XMIT")
- ...Q:'$D(^ABMDTXST(DUZ(2),ABM("XM"),0)) Q:$P(^(0),U,2)'=ABMP("EXP")
- ...I $D(ABMY("TYP")),$P(^ABMDTXST(DUZ(2),ABM("XM"),0),U,3)=ABMY("TYP") S ABMP("XMIT")=ABM("XM")
- ...I $D(ABMY("INS")),$P(^ABMDTXST(DUZ(2),ABM("XM"),0),U,4)=ABMY("INS") S ABMP("XMIT")=ABM("XM")
- ..I '+ABMP("XMIT") S DIC="^ABMDTXST(DUZ(2),",DIC(0)="L",X=DT,DIC("DR")=".02////2;.07////1;.08////1;"_$S($D(ABMY("TYP")):".03////"_$P(ABMY("TYP"),U),$D(ABMY("INS")):".04////"_ABMY("INS"),1:".03////A")_";.05////"_DUZ
- ..I K DD,DO D FILE^DICN S ABMP("XMIT")=+Y
- ..S DIE="^ABMDBILL(DUZ(2),",DA=ABMP("BDFN"),DR=".04////B;.16////A;.17////"_ABMP("XMIT") D ^ABMDDIE Q:$D(ABM("DIE-FAIL"))
- ..K ^ABMDBILL(DUZ(2),"AS",+^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"A",ABMP("BDFN")),^ABMDBILL(DUZ(2),"AC","A",ABMP("BDFN"))
- ..S ABM=ABMP("BDFN"),ABM("L")=ABMP("XMIT") K ABMP S ABMP("XMIT")=ABM("L"),ABMP("BDFN")=ABM
- G XIT
- ;
- HCFA ;EP for printing HCFA 1500's
- S ABMR="" F ABMR("I")=37:2:47 S ABMR=$O(ABMR(ABMR)) Q:'ABMR D
- .S ABMF(ABMR("I"))=$P(ABMR(ABMR),U,2)_U_$S(ABMP("VTYP")=111!($G(ABMP("BTYP"))=111):1,1:3)_U_$P(ABMR(ABMR),U,4)_U_U_$P(ABMR(ABMR),U,5)_U_$P(ABMR(ABMR),U)_U_$P(ABMR(ABMR),U,6)_U_$P(ABMR(ABMR),U,7)
- .S ABMF(ABMR("I")+1)=""
- .I $P(ABMR(ABMR),U,2)'=$P(ABMR(ABMR),U,3) S ABMF(ABMR("I")+1)=$P(ABMR(ABMR),U,3)
- .I $L($P(ABMR(ABMR),U,8))>19 S ABMU("LNG")=19,ABMU("TXT")=$P(ABMR(ABMR),U,8),ABMU=2 D LNG^ABMDWRAP S $P(ABMF(ABMR("I")),U,4)=ABMU(1),$P(ABMF(ABMR("I")+1),U,4)=ABMU(2) K ABMU I 1
- .E S $P(ABMF(ABMR("I")),U,4)=$P(ABMR(ABMR),U,8)
- .K ABMR(ABMR)
- .Q
- I ABMR("I")=47,+$O(ABMR(ABMR)) D ^ABMDF2X G HCFA
- S ABMF(50)=$S($D(ABMF(50)):ABMF(50),1:"")_ABMR("TOT")
- S $P(ABMF(50),U,3)=$S($P(ABMF(50),U,3)>999:$FN($P(ABMF(50),U,3),",",0),1:$FN($P(ABMF(50),U,3),",",2))
- I ABMR("I")'=47 F ABMR("I")=ABMR("I"):1:48 K ABMF(ABMR("I"))
- K ABMR("MORE")
- D ^ABMDF2X
- Q
- ;
- ENT ;EP for setting up export array
- D ^ABMDF2A
- G ^ABMDF2B
- ;
- XIT K ABM,ABMV,ABMF
- Q
- ABMDF2 ; IHS/ASDST/DMJ - Set HCFA-1500 Print Array ;
- +1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- +2 ;Original;TMD;
- +3 ;
- +4 KILL ABMP
- SET U="^"
- SET ABMP("XMIT")=0
- SET ABMP("EXP")=2
- SET ABMY("TOT")="0^0^0"
- BDFN SET ABMY("N")=0
- FOR
- SET ABMY("N")=$ORDER(ABMY(ABMY("N")))
- IF 'ABMY("N")
- QUIT
- Begin DoDot:1
- +1 SET ABMP("BDFN")=""
- FOR
- SET ABMP("BDFN")=$ORDER(ABMY(ABMY("N"),ABMP("BDFN")))
- IF 'ABMP("BDFN")
- QUIT
- Begin DoDot:2
- +2 IF '$DATA(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- QUIT
- +3 DO ENT
- +4 IF +$ORDER(ABMR(""))
- SET ABMR("MORE")=""
- +5 DO ^ABMDF2X
- +6 IF +$ORDER(ABMR(""))
- DO HCFA
- XMIT IF ABMP("XMIT")=0
- SET ABM("XM")=""
- FOR
- SET ABM("XM")=$ORDER(^ABMDTXST(DUZ(2),"B",DT,ABM("XM")))
- IF 'ABM("XM")
- QUIT
- Begin DoDot:3
- +1 IF '$DATA(^ABMDTXST(DUZ(2),ABM("XM"),0))
- QUIT
- IF $PIECE(^(0),U,2)'=ABMP("EXP")
- QUIT
- +2 IF $DATA(ABMY("TYP"))
- IF $PIECE(^ABMDTXST(DUZ(2),ABM("XM"),0),U,3)=ABMY("TYP")
- SET ABMP("XMIT")=ABM("XM")
- +3 IF $DATA(ABMY("INS"))
- IF $PIECE(^ABMDTXST(DUZ(2),ABM("XM"),0),U,4)=ABMY("INS")
- SET ABMP("XMIT")=ABM("XM")
- End DoDot:3
- IF ABMP("XMIT")
- QUIT
- +4 IF '+ABMP("XMIT")
- SET DIC="^ABMDTXST(DUZ(2),"
- SET DIC(0)="L"
- SET X=DT
- SET DIC("DR")=".02////2;.07////1;.08////1;"_$SELECT($DATA(ABMY("TYP")):".03////"_$PIECE(ABMY("TYP"),U),$DATA(ABMY("INS")):".04////"_ABMY("INS"),1:".03////A")_";.05////"_DUZ
- +5 IF $TEST
- KILL DD,DO
- DO FILE^DICN
- SET ABMP("XMIT")=+Y
- +6 SET DIE="^ABMDBILL(DUZ(2),"
- SET DA=ABMP("BDFN")
- SET DR=".04////B;.16////A;.17////"_ABMP("XMIT")
- DO ^ABMDDIE
- IF $DATA(ABM("DIE-FAIL"))
- QUIT
- +7 KILL ^ABMDBILL(DUZ(2),"AS",+^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"A",ABMP("BDFN")),^ABMDBILL(DUZ(2),"AC","A",ABMP("BDFN"))
- +8 SET ABM=ABMP("BDFN")
- SET ABM("L")=ABMP("XMIT")
- KILL ABMP
- SET ABMP("XMIT")=ABM("L")
- SET ABMP("BDFN")=ABM
- End DoDot:2
- End DoDot:1
- +9 GOTO XIT
- +10 ;
- HCFA ;EP for printing HCFA 1500's
- +1 SET ABMR=""
- FOR ABMR("I")=37:2:47
- SET ABMR=$ORDER(ABMR(ABMR))
- IF 'ABMR
- QUIT
- Begin DoDot:1
- +2 SET ABMF(ABMR("I"))=$PIECE(ABMR(ABMR),U,2)_U_$SELECT(ABMP("VTYP")=111!($GET(ABMP("BTYP"))=111):1,1:3)_U_$PIECE(ABMR(ABMR),U,4)_U_U_$PIECE(ABMR(ABMR),U,5)_U_$PIECE(ABMR(ABMR),U)_U_$PIECE(ABMR(ABMR),U,6)_U_$PIECE(ABMR(ABMR),U,7)
- +3 SET ABMF(ABMR("I")+1)=""
- +4 IF $PIECE(ABMR(ABMR),U,2)'=$PIECE(ABMR(ABMR),U,3)
- SET ABMF(ABMR("I")+1)=$PIECE(ABMR(ABMR),U,3)
- +5 IF $LENGTH($PIECE(ABMR(ABMR),U,8))>19
- SET ABMU("LNG")=19
- SET ABMU("TXT")=$PIECE(ABMR(ABMR),U,8)
- SET ABMU=2
- DO LNG^ABMDWRAP
- SET $PIECE(ABMF(ABMR("I")),U,4)=ABMU(1)
- SET $PIECE(ABMF(ABMR("I")+1),U,4)=ABMU(2)
- KILL ABMU
- IF 1
- +6 IF '$TEST
- SET $PIECE(ABMF(ABMR("I")),U,4)=$PIECE(ABMR(ABMR),U,8)
- +7 KILL ABMR(ABMR)
- +8 QUIT
- End DoDot:1
- +9 IF ABMR("I")=47
- IF +$ORDER(ABMR(ABMR))
- DO ^ABMDF2X
- GOTO HCFA
- +10 SET ABMF(50)=$SELECT($DATA(ABMF(50)):ABMF(50),1:"")_ABMR("TOT")
- +11 SET $PIECE(ABMF(50),U,3)=$SELECT($PIECE(ABMF(50),U,3)>999:$FNUMBER($PIECE(ABMF(50),U,3),",",0),1:$FNUMBER($PIECE(ABMF(50),U,3),",",2))
- +12 IF ABMR("I")'=47
- FOR ABMR("I")=ABMR("I"):1:48
- KILL ABMF(ABMR("I"))
- +13 KILL ABMR("MORE")
- +14 DO ^ABMDF2X
- +15 QUIT
- +16 ;
- ENT ;EP for setting up export array
- +1 DO ^ABMDF2A
- +2 GOTO ^ABMDF2B
- +3 ;
- XIT KILL ABM,ABMV,ABMF
- +1 QUIT