ABMDRPT2 ; IHS/ASDST/DMJ - Bills Listing-part 2 ;
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;Original;TMD;
;
PRINT ;EP for printing data
W:$D(ABM("PRINT",16)) @ABM("PRINT",16) S ABM("PG")=0 D HDB
S (ABM("CNT1"),ABM("CNT2"),ABM("CNT"),ABM("TOT1"),ABM("TOT2"),ABM("TOT"),ABM("PD"),ABM("PDT1"),ABM("PDT2"),ABM("PDT"))=0,(ABM("A"),ABM("L"),ABM("V"))=""
S ABM("Z")="TMP(""ABM-PT"","_$J,ABM="^"_ABM("Z")_")" I '$D(@ABM) Q
F S ABM=$Q(@ABM) Q:ABM'[ABM("Z") D Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
.I $Y>(IOSL-5) D HD Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) D SUBHD W " (cont)"
.S ABM("T")=$P(ABM,"ABM-P",2),ABM("TXT")=$P($P(ABM("T"),",",3,99),"""",2)
.S ABM("C")=$G(^ABMDBILL(DUZ(2),+$P(ABM("TXT"),U,5),0)) Q:ABM("C")="" S ABM("T")=+^(2),ABM("D")=$P($G(^(1)),U,7) S:ABM("D")]"" ABM("D")=+$G(^ABMDTXST(DUZ(2),ABM("D"),0))
.I ABM("L")'=$P(ABM("TXT"),U) D SUB:ABM("L")]"",SUBHD S ABM("V")=""
.S ABM("L")=$P(ABM("TXT"),U)
.I ABM("V")'=$P(ABM("TXT"),U,2) D SUB2:ABM("V")]"" W:ABM("V")]"" ! W:$P(ABM("TXT"),U,2) !?7,$S(ABMY("SORT")="C":" Clinic: "_$P(^DIC(40.7,$P(ABM("TXT"),U,2),0),U),1:"Visit Type: "_$P(^ABMDVTYP($P(ABM("TXT"),U,2),0),U))
.S ABM("V")=$P(ABM("TXT"),U,2)
.D WRT
Q:$D(DTOUT)!($D(DUOUT))!($D(DIROUT))
D SUB,TOT
Q
;
WRT W ! W:ABM("I")'=$P(ABM("C"),U,8) $E($P(^AUTNINS($P(ABM("C"),U,8),0),U),1,28) S ABM("I")=$P(ABM("C"),U,8)
W ?30,$P(ABM("C"),U)
W ?38,$E($P(^DPT($P(ABM("C"),U,5),0),U),1,18)
W ?58,$S($D(^AUPNPAT($P(ABM("C"),U,5),41,$P(ABM("C"),U,3),0)):$P(^(0),U,2),$D(^AUPNPAT($P(ABM("C"),U,5),41,DUZ(2),0)):$P(^(0),U,2),1:"")
W:+$G(^ABMDBILL(DUZ(2),+$P(ABM("TXT"),U,5),7)) ?65,$$SDT^ABMDUTL(+^(7))
I ABMY("SORT")="V" W:+$P(ABM("C"),U,10) ?76,$E($P(^DIC(40.7,$P(ABM("C"),U,10),0),U),1,10)
E W ?76,$E($P(^ABMDVTYP($P(ABM("C"),U,7),0),U),1,10)
W ?87,$$SDT^ABMDUTL(ABM("D"))
W ?98,$J($FN(ABM("T"),",",2),10)
S ABM("PD")=0 F ABM(0)=1:1 S ABM("PD")=$O(^ABMDBILL(DUZ(2),+$P(ABM("TXT"),U,5),3,ABM("PD"))) Q:'ABM("PD") S ABM("PDD")=$P(^(ABM("PD"),0),U),ABM("PD0")=$P(^(0),U,2) D
.I $G(ABMY("DT"))="P",ABM("PDD")<ABMY("DT",1)!(ABM("PDD")>ABMY("DT",2)) S ABM(0)=ABM(0)-1 Q
.W:ABM(0)>1 !
.W ?110,$$SDT^ABMDUTL(ABM("PDD"))
.W ?121,$J($FN(ABM("PD0"),",",2),10)
.S ABM("PDT1")=ABM("PDT1")+ABM("PD0"),ABM("PDT2")=ABM("PDT2")+ABM("PD0"),ABM("PDT")=ABM("PDT")+ABM("PD0")
.I $Y>(IOSL-5) D HD Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) D SUBHD W " (cont)",!
S ABM("CNT1")=ABM("CNT1")+1,ABM("CNT2")=ABM("CNT2")+1,ABM("CNT")=ABM("CNT")+1,ABM("TOT")=ABM("TOT")+ABM("T")
S ABM("TOT1")=ABM("TOT1")+ABM("T"),ABM("TOT2")=ABM("TOT2")+ABM("T")
Q
;
TOT Q:ABM("CNT")=0
W !?30,"======",?98,"==========",?121,"==========",!?3,"GRAND TOTAL:",?30,ABM("CNT"),?98,$J($FN(ABM("TOT"),",",2),10),?121,$J($FN(ABM("PDT"),",",2),10)
S ABM("TOT")=0,ABM("PDT")=0
Q
;
HD D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
HDB S ABM("PG")=ABM("PG")+1,ABM("I")="" D WHD^ABMDRHD
W !,?30,"Claim",?67,"Visit",?89,"Export",?101,"Billed",?112,"Date",?125,"Paid"
W !?10,"Insurer",?30,"Number",?43,"Patient",?59,"HRN",?67,"Date",?77,$S(ABMY("SORT")="V":"Clinic",1:"Visit Type"),?90,"Date",?101,"Amount",?112,"Paid",?124,"Amount"
S $P(ABM("LINE"),"-",132)="" W !,ABM("LINE") K ABM("LINE")
Q
;
SUBHD W:ABM("L")'="" ! W !?3,"Visit Location: ",$P(^DIC(4,$P(ABM("C"),U,3),0),U)
Q
;
SUB2 Q:'ABM("CNT2")
W !?30,"------",?98,"----------",?121,"----------"
W !?5,"Sub-total:",?30,ABM("CNT2"),?98,$J($FN(ABM("TOT2"),",",2),10),?121,$J($FN(ABM("PDT2"),",",2),10)
S ABM("CNT2")=0,ABM("TOT2")=0,ABM("I")="",ABM("PDT2")=0
Q
;
SUB Q:'ABM("CNT1") D SUB2:ABM("CNT1")'=ABM("CNT2")
W !?30,"------",?98,"----------",?121,"----------"
W !?9,"Total:",?30,ABM("CNT1"),?98,$J($FN(ABM("TOT1"),",",2),10),?121,$J($FN(ABM("PDT1"),",",2),10)
S (ABM("CNT1"),ABM("TOT1"),ABM("CNT2"),ABM("TOT2"),ABM("PDT1"),ABM("PDT2"))=0,ABM("I")=""
Q
ABMDRPT2 ; IHS/ASDST/DMJ - Bills Listing-part 2 ;
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;Original;TMD;
+3 ;
PRINT ;EP for printing data
+1 IF $DATA(ABM("PRINT",16))
WRITE @ABM("PRINT",16)
SET ABM("PG")=0
DO HDB
+2 SET (ABM("CNT1"),ABM("CNT2"),ABM("CNT"),ABM("TOT1"),ABM("TOT2"),ABM("TOT"),ABM("PD"),ABM("PDT1"),ABM("PDT2"),ABM("PDT"))=0
SET (ABM("A"),ABM("L"),ABM("V"))=""
+3 SET ABM("Z")="TMP(""ABM-PT"","_$JOB
SET ABM="^"_ABM("Z")_")"
IF '$DATA(@ABM)
QUIT
+4 FOR
SET ABM=$QUERY(@ABM)
IF ABM'[ABM("Z")
QUIT
Begin DoDot:1
+5 IF $Y>(IOSL-5)
DO HD
IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
DO SUBHD
WRITE " (cont)"
+6 SET ABM("T")=$PIECE(ABM,"ABM-P",2)
SET ABM("TXT")=$PIECE($PIECE(ABM("T"),",",3,99),"""",2)
+7 SET ABM("C")=$GET(^ABMDBILL(DUZ(2),+$PIECE(ABM("TXT"),U,5),0))
IF ABM("C")=""
QUIT
SET ABM("T")=+^(2)
SET ABM("D")=$PIECE($GET(^(1)),U,7)
IF ABM("D")]""
SET ABM("D")=+$GET(^ABMDTXST(DUZ(2),ABM("D"),0))
+8 IF ABM("L")'=$PIECE(ABM("TXT"),U)
IF ABM("L")]""
DO SUB
DO SUBHD
SET ABM("V")=""
+9 SET ABM("L")=$PIECE(ABM("TXT"),U)
+10 IF ABM("V")'=$PIECE(ABM("TXT"),U,2)
IF ABM("V")]""
DO SUB2
IF ABM("V")]""
WRITE !
IF $PIECE(ABM("TXT"),U,2)
WRITE !?7,$SELECT(ABMY("SORT")="C":" Clinic: "_$PIECE(^DIC(40.7,$PIECE(ABM("TXT"),U,2),0),U),1:"Visit Type: "_$PIECE(^ABMDVTYP($PIECE(ABM("TXT"),U,2),0),U))
+11 SET ABM("V")=$PIECE(ABM("TXT"),U,2)
+12 DO WRT
End DoDot:1
IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
+13 IF $DATA(DTOUT)!($DATA(DUOUT))!($DATA(DIROUT))
QUIT
+14 DO SUB
DO TOT
+15 QUIT
+16 ;
WRT WRITE !
IF ABM("I")'=$PIECE(ABM("C"),U,8)
WRITE $EXTRACT($PIECE(^AUTNINS($PIECE(ABM("C"),U,8),0),U),1,28)
SET ABM("I")=$PIECE(ABM("C"),U,8)
+1 WRITE ?30,$PIECE(ABM("C"),U)
+2 WRITE ?38,$EXTRACT($PIECE(^DPT($PIECE(ABM("C"),U,5),0),U),1,18)
+3 WRITE ?58,$SELECT($DATA(^AUPNPAT($PIECE(ABM("C"),U,5),41,$PIECE(ABM("C"),U,3),0)):$PIECE(^(0),U,2),$DATA(^AUPNPAT($PIECE(ABM("C"),U,5),41,DUZ(2),0)):$PIECE(^(0),U,2),1:"")
+4 IF +$GET(^ABMDBILL(DUZ(2),+$PIECE(ABM("TXT"),U,5),7))
WRITE ?65,$$SDT^ABMDUTL(+^(7))
+5 IF ABMY("SORT")="V"
IF +$PIECE(ABM("C"),U,10)
WRITE ?76,$EXTRACT($PIECE(^DIC(40.7,$PIECE(ABM("C"),U,10),0),U),1,10)
+6 IF '$TEST
WRITE ?76,$EXTRACT($PIECE(^ABMDVTYP($PIECE(ABM("C"),U,7),0),U),1,10)
+7 WRITE ?87,$$SDT^ABMDUTL(ABM("D"))
+8 WRITE ?98,$JUSTIFY($FNUMBER(ABM("T"),",",2),10)
+9 SET ABM("PD")=0
FOR ABM(0)=1:1
SET ABM("PD")=$ORDER(^ABMDBILL(DUZ(2),+$PIECE(ABM("TXT"),U,5),3,ABM("PD")))
IF 'ABM("PD")
QUIT
SET ABM("PDD")=$PIECE(^(ABM("PD"),0),U)
SET ABM("PD0")=$PIECE(^(0),U,2)
Begin DoDot:1
+10 IF $GET(ABMY("DT"))="P"
IF ABM("PDD")<ABMY("DT",1)!(ABM("PDD")>ABMY("DT",2))
SET ABM(0)=ABM(0)-1
QUIT
+11 IF ABM(0)>1
WRITE !
+12 WRITE ?110,$$SDT^ABMDUTL(ABM("PDD"))
+13 WRITE ?121,$JUSTIFY($FNUMBER(ABM("PD0"),",",2),10)
+14 SET ABM("PDT1")=ABM("PDT1")+ABM("PD0")
SET ABM("PDT2")=ABM("PDT2")+ABM("PD0")
SET ABM("PDT")=ABM("PDT")+ABM("PD0")
+15 IF $Y>(IOSL-5)
DO HD
IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
DO SUBHD
WRITE " (cont)",!
End DoDot:1
+16 SET ABM("CNT1")=ABM("CNT1")+1
SET ABM("CNT2")=ABM("CNT2")+1
SET ABM("CNT")=ABM("CNT")+1
SET ABM("TOT")=ABM("TOT")+ABM("T")
+17 SET ABM("TOT1")=ABM("TOT1")+ABM("T")
SET ABM("TOT2")=ABM("TOT2")+ABM("T")
+18 QUIT
+19 ;
TOT IF ABM("CNT")=0
QUIT
+1 WRITE !?30,"======",?98,"==========",?121,"==========",!?3,"GRAND TOTAL:",?30,ABM("CNT"),?98,$JUSTIFY($FNUMBER(ABM("TOT"),",",2),10),?121,$JUSTIFY($FNUMBER(ABM("PDT"),",",2),10)
+2 SET ABM("TOT")=0
SET ABM("PDT")=0
+3 QUIT
+4 ;
HD DO PAZ^ABMDRUTL
IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
QUIT
HDB SET ABM("PG")=ABM("PG")+1
SET ABM("I")=""
DO WHD^ABMDRHD
+1 WRITE !,?30,"Claim",?67,"Visit",?89,"Export",?101,"Billed",?112,"Date",?125,"Paid"
+2 WRITE !?10,"Insurer",?30,"Number",?43,"Patient",?59,"HRN",?67,"Date",?77,$SELECT(ABMY("SORT")="V":"Clinic",1:"Visit Type"),?90,"Date",?101,"Amount",?112,"Paid",?124,"Amount"
+3 SET $PIECE(ABM("LINE"),"-",132)=""
WRITE !,ABM("LINE")
KILL ABM("LINE")
+4 QUIT
+5 ;
SUBHD IF ABM("L")'=""
WRITE !
WRITE !?3,"Visit Location: ",$PIECE(^DIC(4,$PIECE(ABM("C"),U,3),0),U)
+1 QUIT
+2 ;
SUB2 IF 'ABM("CNT2")
QUIT
+1 WRITE !?30,"------",?98,"----------",?121,"----------"
+2 WRITE !?5,"Sub-total:",?30,ABM("CNT2"),?98,$JUSTIFY($FNUMBER(ABM("TOT2"),",",2),10),?121,$JUSTIFY($FNUMBER(ABM("PDT2"),",",2),10)
+3 SET ABM("CNT2")=0
SET ABM("TOT2")=0
SET ABM("I")=""
SET ABM("PDT2")=0
+4 QUIT
+5 ;
SUB IF 'ABM("CNT1")
QUIT
IF ABM("CNT1")'=ABM("CNT2")
DO SUB2
+1 WRITE !?30,"------",?98,"----------",?121,"----------"
+2 WRITE !?9,"Total:",?30,ABM("CNT1"),?98,$JUSTIFY($FNUMBER(ABM("TOT1"),",",2),10),?121,$JUSTIFY($FNUMBER(ABM("PDT1"),",",2),10)
+3 SET (ABM("CNT1"),ABM("TOT1"),ABM("CNT2"),ABM("TOT2"),ABM("PDT1"),ABM("PDT2"))=0
SET ABM("I")=""
+4 QUIT