ABMDF1B ; IHS/ASDST/DMJ - Set UB82 Print Array - cont ;
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;Original;TMD;
;
S ABM("X")=DT D DT S $P(ABMF(63),U,3)=ABM("X")
10 ; Line 10
S ABM=0 F ABM("I")=1:2:10 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM)) Q:'ABM D OCCUR
S ABM=0 F ABM("I")=11:1:13 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM)) Q:'ABM D SPAN
G 12
;
OCCUR S ABM("X")=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM,0),U,2) D DT Q:ABM("X")=""
S $P(ABMF(10),U,ABM("I"))=$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM,0),U),0),U)
S $P(ABMF(10),U,ABM("I")+1)=ABM("X")
Q
;
SPAN S ABM("X")=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U,2) Q:ABM("X")="" D DT S ABM("X0")=ABM("X")
S ABM("X")=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U,3) Q:ABM("X")="" D DT
I ABM("I")=11 S $P(ABMF(10),U,11)=$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U),0),U)
I S $P(ABMF(10),U,12)=ABM("X0"),$P(ABMF(10),U,13)=ABM("X")
E S ABMP("REM",ABM("I"))="Occurance Span: "_$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U),0),U)_" "_ABM("X0")_" to "_ABM("X")
Q
;
12 ; Line 12
S ABM=0 F ABM("I")=2:1:6 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),53,ABM)) Q:'ABM S $P(ABMF(12),U,ABM("I"))=$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),53,ABM,0),U),0),U)
;
S ABM=0 F ABM("I")=1:1:2 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABM)) Q:'ABM D SPROG
G VALU
;
SPROG S ABM("X")=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABM,0),U,1) Q:ABM("X")=""
I ABM("I")=1 S $P(ABMF(12),U,11)=$P(^ABMDCODE(ABM("X"),0),U)
E S ABMP("REM",ABM("I"))="Special Program: "_$P(^ABMDCODE(ABM("X"),0),U)
Q
;
VALU ; Value Codes
I $D(^AUTNINS(ABMP("INS"),2)),$P(^(2),U,1)'="R" G REM
14 S ABM=0 F ABM("I")=2:2:8 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM)) Q:'ABM S $P(ABMF(14),U,ABM("I"))=$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM,0),U),0),U)_U_$P(^(0),U,2)
15 S ABM="" F ABM("I")=2:2:8 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM)) Q:'ABM S $P(ABMF(15),U,ABM("I"))=$P(^ABMDCODE($P(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM,0),U),0),U)_U_$P(^(0),U,2)
;
REM S ABM=0 F ABM("I")=1:1 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),61,ABM)) Q:'ABM
S ABM("I")=$S(ABM("I")<3:60,ABM("I")<5:59,1:58)
S ABM=0 F ABM("I")=ABM("I"):1:63 S ABM=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),61,ABM)) Q:'ABM S $P(ABMF(ABM("I")),U)=^(ABM,0)
I ABM("I")>63 G CONT
S ABM("I")=$S(ABM("I")<60:60,1:ABM("I")),$P(ABMF(ABM("I")),U)="Send Payment to Provider (see Block 1)"
I ABM("I")<63 S $P(ABMF(ABM("I")+1),U)="--------------------------------------"
;
CONT K ABM,ABMV,ABMX
G ^ABMDF1C
;
DT I ABM("X")]"" S ABM("X")=$E(ABM("X"),4,5)_"-"_$E(ABM("X"),6,7)_"-"_$E(ABM("X"),2,3)
Q
ABMDF1B ; IHS/ASDST/DMJ - Set UB82 Print Array - cont ;
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;Original;TMD;
+3 ;
+4 SET ABM("X")=DT
DO DT
SET $PIECE(ABMF(63),U,3)=ABM("X")
10 ; Line 10
+1 SET ABM=0
FOR ABM("I")=1:2:10
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM))
IF 'ABM
QUIT
DO OCCUR
+2 SET ABM=0
FOR ABM("I")=11:1:13
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM))
IF 'ABM
QUIT
DO SPAN
+3 GOTO 12
+4 ;
OCCUR SET ABM("X")=$PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM,0),U,2)
DO DT
IF ABM("X")=""
QUIT
+1 SET $PIECE(ABMF(10),U,ABM("I"))=$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),51,ABM,0),U),0),U)
+2 SET $PIECE(ABMF(10),U,ABM("I")+1)=ABM("X")
+3 QUIT
+4 ;
SPAN SET ABM("X")=$PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U,2)
IF ABM("X")=""
QUIT
DO DT
SET ABM("X0")=ABM("X")
+1 SET ABM("X")=$PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U,3)
IF ABM("X")=""
QUIT
DO DT
+2 IF ABM("I")=11
SET $PIECE(ABMF(10),U,11)=$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U),0),U)
+3 IF $TEST
SET $PIECE(ABMF(10),U,12)=ABM("X0")
SET $PIECE(ABMF(10),U,13)=ABM("X")
+4 IF '$TEST
SET ABMP("REM",ABM("I"))="Occurance Span: "_$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),57,ABM,0),U),0),U)_" "_ABM("X0")_" to "_ABM("X")
+5 QUIT
+6 ;
12 ; Line 12
+1 SET ABM=0
FOR ABM("I")=2:1:6
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),53,ABM))
IF 'ABM
QUIT
SET $PIECE(ABMF(12),U,ABM("I"))=$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),53,ABM,0),U),0),U)
+2 ;
+3 SET ABM=0
FOR ABM("I")=1:1:2
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABM))
IF 'ABM
QUIT
DO SPROG
+4 GOTO VALU
+5 ;
SPROG SET ABM("X")=$PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),59,ABM,0),U,1)
IF ABM("X")=""
QUIT
+1 IF ABM("I")=1
SET $PIECE(ABMF(12),U,11)=$PIECE(^ABMDCODE(ABM("X"),0),U)
+2 IF '$TEST
SET ABMP("REM",ABM("I"))="Special Program: "_$PIECE(^ABMDCODE(ABM("X"),0),U)
+3 QUIT
+4 ;
VALU ; Value Codes
+1 IF $DATA(^AUTNINS(ABMP("INS"),2))
IF $PIECE(^(2),U,1)'="R"
GOTO REM
14 SET ABM=0
FOR ABM("I")=2:2:8
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM))
IF 'ABM
QUIT
SET $PIECE(ABMF(14),U,ABM("I"))=$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM,0),U),0),U)_U_$PIECE(^(0),U,2)
15 SET ABM=""
FOR ABM("I")=2:2:8
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM))
IF 'ABM
QUIT
SET $PIECE(ABMF(15),U,ABM("I"))=$PIECE(^ABMDCODE($PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),55,ABM,0),U),0),U)_U_$PIECE(^(0),U,2)
+1 ;
REM SET ABM=0
FOR ABM("I")=1:1
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),61,ABM))
IF 'ABM
QUIT
+1 SET ABM("I")=$SELECT(ABM("I")<3:60,ABM("I")<5:59,1:58)
+2 SET ABM=0
FOR ABM("I")=ABM("I"):1:63
SET ABM=$ORDER(^ABMDBILL(DUZ(2),ABMP("BDFN"),61,ABM))
IF 'ABM
QUIT
SET $PIECE(ABMF(ABM("I")),U)=^(ABM,0)
+3 IF ABM("I")>63
GOTO CONT
+4 SET ABM("I")=$SELECT(ABM("I")<60:60,1:ABM("I"))
SET $PIECE(ABMF(ABM("I")),U)="Send Payment to Provider (see Block 1)"
+5 IF ABM("I")<63
SET $PIECE(ABMF(ABM("I")+1),U)="--------------------------------------"
+6 ;
CONT KILL ABM,ABMV,ABMX
+1 GOTO ^ABMDF1C
+2 ;
DT IF ABM("X")]""
SET ABM("X")=$EXTRACT(ABM("X"),4,5)_"-"_$EXTRACT(ABM("X"),6,7)_"-"_$EXTRACT(ABM("X"),2,3)
+1 QUIT