Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBCOPR1

IBCOPR1.m

Go to the documentation of this file.
  1. IBCOPR1 ;WISC/RFJ,BOISE/WRL - print dollar amts for pre-registration ;05 May 97 8:34 AM
  1. ;;2.0;INTEGRATED BILLING;**75,345,528,664,668**;21-MAR-94;Build 28
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. Q
  1. ;
  1. EXCEL ; Excel print
  1. ;
  1. N CTR,IBIOM,SORT
  1. S IBIOM=IOM I IBIOM>200 S IBIOM=200
  1. ;
  1. ;Summary Report
  1. I IBCNFSUM D G EXCELX
  1. . N CLASS,GLO,LVL,SOI
  1. . D HDR
  1. . I '$D(^TMP($J,"IBCOPR","S")) W !,"NO DATA FOR SELECTED CRITERIA" Q
  1. . F LVL=1,3,"T" D
  1. .. S CLASS=$S(LVL=1:"Inpt",LVL=3:"Outpt ",1:"")
  1. .. I LVL="T" W "Grand Total",!
  1. .. W "Source^"_CLASS_"Bill Cnt^"_CLASS_"Bill Amt^"_CLASS_"Pay Cnt^"_CLASS_"Pay Amt",!
  1. .. S SOI=""
  1. .. F S SOI=$O(^TMP($J,"IBCOPR","S",LVL,SOI)) Q:'SOI D
  1. ... S STR=$$GET1^DIQ(355.12,SOI_",",.01)_U_+$G(^TMP($J,"IBCOPR","S",LVL,SOI,"BILLCNT"))_U_+$G(^TMP($J,"IBCOPR","S",LVL,SOI,"BILLAMT"))
  1. ... S STR=STR_U_+$G(^TMP($J,"IBCOPR","S",LVL,SOI,"CLMCNT"))_U_+$G(^TMP($J,"IBCOPR","S",LVL,SOI,"CLMAMT"))
  1. ... W STR,!
  1. .. S GLO=$S(LVL="T":$NA(^TMP($J,"IBCOPR","T")),1:$NA(^TMP($J,"IBCOPR","T",LVL)))
  1. .. S STR=$S(LVL=5:"Grand ",1:"")_"Total "_CLASS_U_+$G(@GLO@("BILLCNT"))_U_+$G(@GLO@("BILLAMT"))
  1. .. S STR=STR_U_+$G(@GLO@("CLMCNT"))_U_+$G(@GLO@("CLMAMT"))
  1. .. W STR,!!
  1. . Q
  1. ;
  1. ;Detail Report
  1. D HDR
  1. I '$D(^TMP($J,"IBCOPR","T")) W !,"NO DATA FOR SELECTED CRITERIA" G EXCELX
  1. F LVL=1,3 D
  1. . S SORT="" F S SORT=$O(^TMP($J,"IBCOPR","D",LVL,SORT)) Q:SORT="" D
  1. .. S CTR=0
  1. .. F S CTR=$O(^TMP($J,"IBCOPR","D",LVL,SORT,CTR)) Q:'CTR D
  1. ... W ^TMP($J,"IBCOPR","D",LVL,SORT,CTR),!
  1. . W "* Next to bill indicates bill is canceled and not used in totals"
  1. . W !,"F=Full Payment P=Partial Payment N=No Payment Received to date",!
  1. . W !,"TOTAL ",$S(LVL=3:"OUTPATIENT",1:"INPATIENT")," BILLS COUNT:",U
  1. . W $FN($G(^TMP($J,"IBCOPR","T",LVL,"BILLCNT")),","),U,"AMOUNT: ",$FN($G(^TMP($J,"IBCOPR","T",LVL,"BILLAMT")),",",2),!
  1. . W "TOTAL ",$S(LVL=3:"OUTPATIENT",1:"INPATIENT")," COLLECTED COUNT:",U
  1. . W $FN($G(^TMP($J,"IBCOPR","T",LVL,"CLMCNT")),","),U,"AMOUNT: ",$FN($G(^TMP($J,"IBCOPR","T",LVL,"CLMAMT")),",",2),!
  1. W !!,"Total Bill Ct^Total Bill Amt^Total Pymt Count^Total Pymt Amt",!
  1. W $FN($G(^TMP($J,"IBCOPR","T","BILLCNT")),","),U,$FN($G(^TMP($J,"IBCOPR","T","BILLAMT")),",",2),"^"
  1. W $FN($G(^TMP($J,"IBCOPR","T","CLMCNT")),","),U,$FN($G(^TMP($J,"IBCOPR","T",LVL,"CLMAMT")),",",2),!
  1. ;
  1. EXCELX ;
  1. Q
  1. ;
  1. REPORT ; Print the report to the selected device.
  1. ;
  1. N CTR,DATA,IBIOM,LINE,SORT,TAB,Y
  1. ;
  1. S IBIOM=IOM I IBIOM>132 S IBIOM=132
  1. ;
  1. ; Summary Report
  1. I IBCNFSUM D G REPORTX
  1. . N SOI
  1. . S TAB(1)=(IBIOM*.2),TAB(2)=(IBIOM*.4),TAB(3)=(IBIOM*.6),TAB(4)=(IBIOM*.8),$P(LINE,"-",IBIOM)=""
  1. . W @IOF D HDR
  1. . I '$D(^TMP($J,"IBCOPR","S")) W !,"NO DATA FOR SELECTED CRITERIA" Q
  1. . F LVL=1,3,"T" D I IBEX Q
  1. .. S CLASS=$S(LVL=3:"Outpt ",LVL=1:" Inpt ",1:" ")
  1. .. I LVL="T" W "Grand Total",!
  1. .. W "Source",?TAB(1),CLASS,"Bill Cnt",?TAB(2),CLASS,"Bill Amt",?TAB(3),CLASS,"Pay Cnt",?TAB(4),CLASS,"Pay Amt",!
  1. .. S SOI=""
  1. .. S GLO=$NA(^TMP($J,"IBCOPR","S",LVL))
  1. .. F S SOI=$O(@GLO@(SOI)) Q:'SOI D I IBEX Q
  1. ... D PAGE Q:IBEX I $Y<6 D
  1. .... I LVL="T" W "Grand Total",!
  1. .... W "Source",?TAB(1),CLASS,"Bill Cnt",?TAB(2),CLASS,"Bill Amt",?TAB(3),CLASS,"Pay Cnt",?TAB(4),CLASS,"Pay Amt",!
  1. ... W $E($$GET1^DIQ(355.12,SOI_",",.01),1,TAB(1))
  1. ... W ?TAB(1),$J($FN(+$G(@GLO@(SOI,"BILLCNT")),","),10),?TAB(2),$J($FN(+$G(@GLO@(SOI,"BILLAMT")),",",2),14)
  1. ... W ?TAB(3),$J($FN(+$G(@GLO@(SOI,"CLMCNT")),","),9),?TAB(4),$J($FN(+$G(@GLO@(SOI,"CLMAMT")),",",2),13),!
  1. .. I IBEX Q
  1. .. S GLO=$S(LVL="T":$NA(^TMP($J,"IBCOPR","T")),1:$NA(^TMP($J,"IBCOPR","T",LVL)))
  1. .. W $S(LVL="T":"Grand ",LVL=3:"Outpt ",1:"Inpt "),"Total"
  1. .. W ?TAB(1),$J($FN(+$G(@GLO@("BILLCNT")),","),10),?TAB(2),$J($FN(+$G(@GLO@("BILLAMT")),",",2),14)
  1. .. W ?TAB(3),$J($FN(+$G(@GLO@("CLMCNT")),","),9),?TAB(4),$J($FN(+$G(@GLO@("CLMAMT")),",",2),13),!
  1. .. W !!
  1. ;
  1. ; Detail Report
  1. S TAB(1)=18,TAB(2)=24,TAB(3)=36,TAB(4)=58,TAB(5)=70,TAB(6)=84,TAB(7)=96,TAB(8)=110,TAB(9)=116,$P(LINE,"-",IBIOM)=""
  1. I '$D(^TMP($J,"IBCOPR","D")) D HDR W !,"NO DATA FOR SELECTED CRITERIA" G REPORTX
  1. F LVL=1,3 D I IBEX Q
  1. . D HDR
  1. . S SORT="" F S SORT=$O(^TMP($J,"IBCOPR","D",LVL,SORT)) Q:SORT="" D I IBEX Q
  1. .. S CTR=0
  1. .. F S CTR=$O(^TMP($J,"IBCOPR","D",LVL,SORT,CTR)) Q:'CTR D I IBEX Q
  1. ... D PAGE Q:IBEX
  1. ... S DATA=^TMP($J,"IBCOPR","D",LVL,SORT,CTR)
  1. ... W $$FO^IBCNEUT1($P(DATA,U),16,"L") ;Patient Name
  1. ... W ?TAB(1),$$FO^IBCNEUT1($P(DATA,U,2),4,"L") ;SSN
  1. ... W ?TAB(2),$P(DATA,U,3) ;Bill Number
  1. ... W ?TAB(3),$$FO^IBCNEUT1($P(DATA,U,4),21,"L") ;Insurance Co
  1. ... W ?TAB(4),$J($FN($P(DATA,U,5),",",2),10) ;Billed Amount
  1. ... W ?TAB(5),$$FMTE^XLFDT($P(DATA,U,6)) ;Bill Date
  1. ... W ?TAB(6),$J($FN($P(DATA,U,7),",",2),10) ;Collected Amount
  1. ... W ?TAB(7),$$FMTE^XLFDT($P(DATA,U,8)) ;Collected Date
  1. ... W ?TAB(8),$J($P(DATA,U,9),3) ;F/P/N
  1. ... W ?TAB(9),$E($P(DATA,U,10),1,(IBIOM-TAB(9))) ;Source of Information
  1. ... W !
  1. . I IBEX Q
  1. . D PAGE Q:IBEX
  1. . W "* Next to bill indicates bill is canceled and not used in totals"
  1. . W !,"F=Full Payment P=Partial Payment" I DATETYPE="B" W " N=No Payments Received"
  1. . W !,LINE,!
  1. . S DATA=$G(^TMP($J,"IBCOPR","S",LVL))
  1. . W ?5,"TOTAL ",$S(LVL=3:"OUTPATIENT",1:"INPATIENT")," BILLS COUNT:",$J($FN($G(^TMP($J,"IBCOPR","T",LVL,"BILLCNT")),","),14)
  1. . W ?65,"AMOUNT: ",$J($FN($G(^TMP($J,"IBCOPR","T",LVL,"BILLAMT")),",",2),15),!
  1. . W ?5,"TOTAL ",$S(LVL=3:"OUTPATIENT",1:"INPATIENT")," COLLECTED COUNT:",$J($FN($G(^TMP($J,"IBCOPR","T",LVL,"CLMCNT")),","),10)
  1. . W ?65,"AMOUNT: ",$J($FN($G(^TMP($J,"IBCOPR","T",LVL,"CLMAMT")),",",2),15),!
  1. . I LVL=1,($E(IOST,1,2)="C-") D PAUSE^VALM1 S:'Y IBEX=1
  1. I IBEX G REPORTX
  1. K LVL D PAGE I IBEX G REPORTX
  1. W !,"Total Bill Ct",?30,"Total Bill Amt",?65,"Total Pymt Count",?95,"Total Pymt Amt",!
  1. W $J($FN(+$G(^TMP($J,"IBCOPR","T","BILLCNT")),","),10),?30,$J($FN(+$G(^TMP($J,"IBCOPR","T","BILLAMT")),",",2),14)
  1. W ?65,$J(+$G(^TMP($J,"IBCOPR","T","CLMCNT")),10),?95,$J($FN(+$G(^TMP($J,"IBCOPR","T","CLMAMT")),",",2),14),!
  1. ;
  1. REPORTX ; Report Exit
  1. Q
  1. ;
  1. ;
  1. PAGE ;
  1. I $Y+5>IOSL D
  1. . I 'IBCNFSUM D
  1. .. W "* Next to bill indicates bill is canceled and not used in totals"
  1. .. W !,"F=Full Payment P=Partial Payment" I DATETYPE="B" W " N=No Payments Received"
  1. . I $E(IOST,1,2)="C-" D PAUSE^VALM1 S:'Y IBEX=1 I IBEX Q
  1. . D HDR
  1. Q
  1. ;
  1. HDR ;Print Header
  1. ;
  1. N HSTR,LEN
  1. W @IOF
  1. N STR
  1. S STR=RDATE I IBCNOUT'="E" S PAGE=$G(PAGE)+1,STR=STR_" PAGE "_PAGE
  1. W "SOURCE OF INFORMATION REPORT",?IBIOM-($L(STR)+1),STR,!
  1. S STR="TYPE: "_$S(IBCNFSUM:"SUMMARY",1:"DETAILED")
  1. W "FOR THE ",$S(DATETYPE="B":"BILLED ",1:"COLLECTED "),"DATE RANGE: ",$$FMTE^XLFDT(DATESTRT)," TO ",$$FMTE^XLFDT(DATEEND),?IBIOM-($L(STR)+1),STR,!
  1. W "SOURCE OF INFORMATION: ",$S($G(IBCNESOI)="A":"ALL",$G(IBCNESOI)>1:"SELECTED",1:$$GET1^DIQ(355.12,$O(IBCNESOI(""))_",",.01)),!
  1. I IBCNFSUM D G HDRQ
  1. . I (IBCNOUT="E") W ! Q
  1. . W LINE,!!
  1. W "SORT: ",SORTBY,!!
  1. I '$D(LVL) Q
  1. HDR2 ;SUB-HEADER
  1. S HSTR=$S(LVL=1:" Inpatient Bills Entered ",LVL=3:" Outpatient Bills Entered ",1:"")
  1. I IBCNOUT="R" S LEN=$L(HSTR),STR="" S:(LEN#2) LEN=LEN+1 S LEN=((IBIOM-$L(HSTR))/2+1),$P(STR,".",LEN)="",HSTR=STR_HSTR_STR
  1. W HSTR,!
  1. I IBCNOUT="R" D G HDRQ
  1. . W "Patient Name",?TAB(1),"SSN",?TAB(2),"Bill Num",?TAB(3),"Insurance Company",?(TAB(4)+2),"Bill Amt",?TAB(5),"Bill Date",?(TAB(6)+2),"Coll Amt",?TAB(7),"Coll Date",?TAB(8),"F/P",$S(DATETYPE="B":"/N",1:""),?TAB(9),"Source",!!
  1. W !,"Patient Name^SSN^Bill Num^Insurance Company^Bill Amt^Bill Date^Coll Amt^Coll Date^F/P",$S(DATETYPE="B":"/N",1:""),"^Source",!
  1. ;
  1. HDRQ ;
  1. Q
  1. ;