1 | IBCNBOF ;ALB/ARH-Ins Buffer: Employee Report (Entered);1 Jun 97
|
---|
2 | ;;2.0;INTEGRATED BILLING;**82**;21-MAR-94
|
---|
3 | ;
|
---|
4 | EN ;get parameters then run the report
|
---|
5 | ;
|
---|
6 | K ^TMP($J) D HOME^%ZIS S IBHDR="INSURANCE BUFFER EMPLOYEE REPORT" W @IOF,!!,?25,IBHDR
|
---|
7 | W !!,"This report produces a count of the number of entries added to the Buffer",!,"file for a specified date range sorted by employee. Also included are",!,"sub-totals and percentages based on the current status of those entries."
|
---|
8 | ;
|
---|
9 | S IBEMPL=+$$EMPL^IBCNBOE G:IBEMPL="" EXIT W !!
|
---|
10 | I +IBEMPL S IBEMPL=$$SELEMPL^IBCNBOE("Enters/Creates") G:IBEMPL="" EXIT W !!
|
---|
11 | ;
|
---|
12 | S IBBEG=$$DATES^IBCNBOE("Beginning") G:'IBBEG EXIT
|
---|
13 | S IBEND=$$DATES^IBCNBOE("Ending",IBBEG) G:'IBEND EXIT W !!
|
---|
14 | ;
|
---|
15 | S IBMONTH=$$MONTH^IBCNBOE G:IBMONTH="" EXIT W !!
|
---|
16 | ;
|
---|
17 | DEV ;get the device
|
---|
18 | W !,"Report requires 132 columns."
|
---|
19 | S %ZIS="QM",%ZIS("A")="OUTPUT DEVICE: " D ^%ZIS G:POP EXIT
|
---|
20 | I $D(IO("Q")) S ZTRTN="RPT^IBCNBOF",ZTDESC=IBHDR,ZTSAVE("IB*")="" D ^%ZTLOAD K IO("Q") G EXIT
|
---|
21 | U IO
|
---|
22 | ;
|
---|
23 | RPT ; run report
|
---|
24 | S IBQUIT=0
|
---|
25 | ;
|
---|
26 | D SEARCH(IBBEG,IBEND,IBMONTH,IBEMPL) G:IBQUIT EXIT
|
---|
27 | D PRINT(IBBEG,IBEND,IBMONTH,IBEMPL)
|
---|
28 | ;
|
---|
29 | EXIT K ^TMP($J),IBHDR,IBBEG,IBEND,IBMONTH,IBQUIT,IBEMPL
|
---|
30 | Q:$D(ZTQUEUED)
|
---|
31 | D ^%ZISC
|
---|
32 | Q
|
---|
33 | ;
|
---|
34 | SEARCH(IBBEG,IBEND,IBMONTH,IBEMPL) ; search/sort statistics for employee report
|
---|
35 | N IBXDT,IBBUFDA,IBB0,IBXREF,IBS1,IBEMP
|
---|
36 | S IBBEG=$G(IBBEG)-.01,IBEND=$S('$G(IBEND):9999999,1:$P(IBEND,".")+.9)
|
---|
37 | ;
|
---|
38 | S IBXDT=IBBEG F S IBXDT=$O(^IBA(355.33,"B",IBXDT)) Q:'IBXDT!(IBXDT>IBEND) D S IBQUIT=$$STOP Q:IBQUIT
|
---|
39 | . S IBBUFDA=0 F S IBBUFDA=$O(^IBA(355.33,"B",IBXDT,IBBUFDA)) Q:'IBBUFDA D
|
---|
40 | .. ;
|
---|
41 | .. S IBB0=$G(^IBA(355.33,IBBUFDA,0)),IBEMP=+$P(IBB0,U,2) I 'IBEMP Q
|
---|
42 | .. I +IBEMPL,IBEMPL'=IBEMP Q
|
---|
43 | .. ;
|
---|
44 | .. I $G(IBMONTH) D SET("IBCNBOF",IBEMP,$E(+IBB0,1,5),$P(IBB0,U,4),+$P(IBB0,U,7),+$P(IBB0,U,8),+$P(IBB0,U,9))
|
---|
45 | .. D SET("IBCNBOF",IBEMP,99999,$P(IBB0,U,4),+$P(IBB0,U,7),+$P(IBB0,U,8),+$P(IBB0,U,9))
|
---|
46 | .. D SET("IBCNBOF","~",99999,$P(IBB0,U,4),+$P(IBB0,U,7),+$P(IBB0,U,8),+$P(IBB0,U,9))
|
---|
47 | ;
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | SET(XREF,S1,S2,STAT,NC,NG,NP) ;
|
---|
51 | S ^TMP($J,XREF,S1,S2,"CNT")=$G(^TMP($J,XREF,S1,S2,"CNT"))+1
|
---|
52 | I STAT="E" S ^TMP($J,XREF,S1,S2,"EN")=$G(^TMP($J,XREF,S1,S2,"EN"))+1
|
---|
53 | I STAT="R" S ^TMP($J,XREF,S1,S2,"RJ")=$G(^TMP($J,XREF,S1,S2,"RJ"))+1
|
---|
54 | I STAT="A" S ^TMP($J,XREF,S1,S2,"AC")=$G(^TMP($J,XREF,S1,S2,"AC"))+1
|
---|
55 | I +NC S ^TMP($J,XREF,S1,S2,"NC")=$G(^TMP($J,XREF,S1,S2,"NC"))+1
|
---|
56 | I +NG S ^TMP($J,XREF,S1,S2,"NG")=$G(^TMP($J,XREF,S1,S2,"NG"))+1
|
---|
57 | I +NP S ^TMP($J,XREF,S1,S2,"NP")=$G(^TMP($J,XREF,S1,S2,"NP"))+1
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | ;
|
---|
61 | PRINT(IBBEG,IBEND,IBMONTH,IBEMPL) ;
|
---|
62 | N IBXREF,IBS1,IBS2,IBRDT,IBPGN,IBRANGE,IBLN,IBI
|
---|
63 | ;
|
---|
64 | S IBRANGE=$$FMTE^XLFDT(IBBEG)_" - "_$$FMTE^XLFDT(IBEND)
|
---|
65 | S IBRDT=$$FMTE^XLFDT($J($$NOW^XLFDT,0,4),2),IBRDT=$TR(IBRDT,"@"," "),IBPGN=0
|
---|
66 | D HDR
|
---|
67 | ;
|
---|
68 | S IBXREF="IBCNBOF",IBS1="" F S IBS1=$O(^TMP($J,IBXREF,IBS1)) Q:IBS1="" D
|
---|
69 | . I +$G(IBMONTH) W ! S IBLN=IBLN+1
|
---|
70 | . ;
|
---|
71 | . S IBS2=0 F S IBS2=$O(^TMP($J,IBXREF,IBS1,IBS2)) Q:IBS2="" D:IBLN>(IOSL-3) HDR Q:IBQUIT D
|
---|
72 | .. D PRTLN S IBLN=IBLN+1
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | PRTLN ;
|
---|
76 | N IBEMP,IBCNT,IBEN,IBAC,IBRJ,IBNC,IBNG,IBNP,DATM
|
---|
77 | ;
|
---|
78 | S IBEMP=$P($G(^VA(200,+IBS1,0)),U,1) I IBS1="~" S IBEMP="TOTAL"
|
---|
79 | S IBCNT=$G(^TMP($J,IBXREF,IBS1,IBS2,"CNT")) Q:'IBCNT
|
---|
80 | S IBEN=$G(^TMP($J,IBXREF,IBS1,IBS2,"EN"))
|
---|
81 | S IBAC=$G(^TMP($J,IBXREF,IBS1,IBS2,"AC"))
|
---|
82 | S IBRJ=$G(^TMP($J,IBXREF,IBS1,IBS2,"RJ"))
|
---|
83 | S IBNC=$G(^TMP($J,IBXREF,IBS1,IBS2,"NC"))
|
---|
84 | S IBNG=$G(^TMP($J,IBXREF,IBS1,IBS2,"NG"))
|
---|
85 | S IBNP=$G(^TMP($J,IBXREF,IBS1,IBS2,"NP"))
|
---|
86 | S DATM=$S(IBS2=99999:"TOTAL",1:$$FMTE^XLFDT(IBS2_"00"))
|
---|
87 | ;
|
---|
88 | W !,$E(IBEMP,1,15),?17,DATM,?25,$J($FN(IBCNT,","),7)
|
---|
89 | W ?35,$J($FN(IBEN,","),7),?43,$J("("_$FN(((IBEN/IBCNT)*100),",",1)_"%)",8)
|
---|
90 | W ?54,$J($FN(IBAC,","),7),?62,$J("("_$FN(((IBAC/IBCNT)*100),",",1)_"%)",8)
|
---|
91 | W ?73,$J($FN(IBRJ,","),7),?81,$J("("_$FN(((IBRJ/IBCNT)*100),",",1)_"%)",8)
|
---|
92 | W ?92,$J($FN(IBNC,","),7),?102,$J($FN(IBNG,","),7),?112,$J($FN(IBNP,","),7)
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | HDR ;print the report header
|
---|
96 | S IBQUIT=$$STOP Q:IBQUIT
|
---|
97 | I IBPGN>0 S IBQUIT=$$PAUSE Q:IBQUIT
|
---|
98 | S IBPGN=IBPGN+1,IBLN=5 I IBPGN>1!($E(IOST,1,2)["C-") W @IOF
|
---|
99 | W !,"INSURANCE BUFFER (ENTERING) EMPLOYEE REPORT ",IBRANGE," "
|
---|
100 | W ?(IOM-22),IBRDT,?(IOM-7)," PAGE ",IBPGN,!,?39,"NOT YET",?93,"NEW",?104,"NEW",?113,"NEW"
|
---|
101 | W !,"EMPLOYEE",?17,"MONTH",?27,"TOTAL",?39,"PROCESSED",?58,"ACCEPTED",?77,"REJECTED",?93,"INS CO",?104,"GROUP",?113,"POLICY",!
|
---|
102 | S IBI="",$P(IBI,"-",IOM+1)="" W IBI
|
---|
103 | Q
|
---|
104 | ;
|
---|
105 | PAUSE() ;pause at end of screen if beeing displayed on a terminal
|
---|
106 | N IBX,DIR,DIRUT,DUOUT,X,Y S IBX=0
|
---|
107 | I $E(IOST,1,2)["C-" W !! S DIR(0)="E" D ^DIR K DIR I $D(DUOUT)!($D(DIRUT)) S IBX=1
|
---|
108 | Q IBX
|
---|
109 | ;
|
---|
110 | STOP() ;determine if user has requested the queued report to stop
|
---|
111 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 K ZTREQ I +$G(IBPGN) W !,"***TASK STOPPED BY USER***"
|
---|
112 | Q +$G(ZTSTOP)
|
---|