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

IBOSTUS.m

Go to the documentation of this file.
  1. IBOSTUS ;ALB/SGD - MCCR BILL STATUS REPORT ;25 MAY 88 14:19
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;
  1. ;MAP TO DGCROST
  1. ;
  1. ;***
  1. ;S XRTL=$ZU(0),XRTN="IBOSTUS-1" D T0^%ZOSV ;start rt clock
  1. N IBDTP ; date type chosen for sorting
  1. I '$D(DT) D DT^DICRW
  1. YN W !!,"DO YOU WANT TO PRINT THE STATUS OF ALL BILLS" S %=1 D YN^DICN G Q:%=-1 S:%=1 IBBST="ALL" G SORT:%=1 I %=0 W !,"CHOOSE Y (YES) OR N (NO)" G YN
  1. CHOOSE S Z="^ENTERED/NOT REVIEWED^REVIEWED^AUTHORIZED^PRINTED^CANCELLED" R !!,"CHOOSE A BILL STATUS: ",X:DTIME G HELP:X["?" G Q:(X["^")!(X="") D IN^DGHELP S IBBST=$E(X,1) I %=-1 W *7," ??" G HELP
  1. S IBHD2=$S(IBBST="A":"AUTHORIZED",IBBST="E":"ENTERED/NOT REVIEWED",IBBST="R":"REVIEWED",IBBST="P":"PRINTED",IBBST="C":"CANCELLED",1:"")
  1. SORT ; chose the date type to sort on
  1. S DIR(0)="S^1:EVENT DATE;2:BILL DATE;3:ENTERED DATE"
  1. S DIR("A")="SORT BY",DIR("B")=1,DIR("?")="^D HELP2^IBOSTUS"
  1. D ^DIR K DIR Q:$D(DIRUT)
  1. S IBDTP=$S(Y=1:"Event",Y=2:"Bill",Y=3:"Entered",1:"") Q:IBDTP=""
  1. DATE W ! S %DT="AEPX",%DT("A")="Start with "_IBDTP_" DATE: ",%DT(0)=-DT D ^%DT G Q:Y<0 S IBBEG=Y
  1. DATE1 S %DT="EPX" W !,"Go to "_IBDTP_" DATE: TODAY// " R X:DTIME S:X=" " X=IBBEG G Q:(X["^") S:X="" X="TODAY" D ^%DT G DATE1:Y<0 S IBEND=Y I IBEND<IBBEG W *7," ??",!,"ENDING DATE must follow BEGINNING DATE." G DATE1
  1. I IBEND>DT W *7," ??" G DATE1
  1. ;
  1. W !!,*7,"*** Margin width of this output is 132 ***"
  1. ;S DGPGM="QUEUED^IBOSTUS",DGVAR="IBDTP^IBBST^IBHD2^IBBEG^IBEND^DUZ" D ZIS^DGUTQ G Q:POP
  1. ;
  1. S %ZIS="QM" D ^%ZIS G:POP Q
  1. I $D(IO("Q")) K IO("Q") D G Q
  1. .S ZTRTN="QUEUED^IBOSTUS",ZTDESC="IB - Bill Status Report",ZTSAVE("IB*")=""
  1. .D ^%ZTLOAD K ZTSK D HOME^%ZIS
  1. ;
  1. U IO
  1. ;***
  1. ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOSTUS" D T1^%ZOSV ;stop rt clock
  1. QUEUED ; entry point if queued
  1. ;***
  1. ;S XRTL=$ZU(0),XRTN="IBOSTUS-2" D T0^%ZOSV ;start rt clock
  1. ;
  1. ; K ^TMP($J)
  1. ; D:IBDTP="Entered" INDX ; DATE ENTERED is not cross-referenced
  1. G BEGIN^IBOSTUS1
  1. ;
  1. Q K %,I,J,X,X1,X2,Y,Z,IBIFN,%DT,IBAPP,POP,IBPAGE,DGPGM,DGVAR,IBNEX,IBF,IBBEG,IBEND,IBHD,IBHD2,IBL,IBL1,IBBST,IBBS,IBBSBY,IBBSDT,IB0,IBS
  1. I '$D(ZTQUEUED) D ^%ZISC
  1. ;***
  1. ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOSTUS" D T1^%ZOSV ;stop rt clock
  1. Q
  1. ;
  1. HELP W !!,"CHOOSE FROM: ","ENTERED/NOT REVIEWED",!?13,"REVIEWED",!?13,"AUTHORIZED",!?13,"PRINTED",!?13,"CANCELLED" G CHOOSE
  1. Q
  1. HELP2 ; help for SORT BY:
  1. W !!," EVENT DATE is the date beginning the bill's episode of care"
  1. W !!," BILL DATE is the date the bill was initially printed"
  1. W !!," ENTERED DATE is the date the bill was first entered"
  1. Q
  1. INDX ; creates a temporary index of bills sorted by bill date=initial printed
  1. N D S IBNEX=0 F S IBNEX=$O(^DGCR(399,IBNEX)) Q:'IBNEX S D=$P($G(^DGCR(399,IBNEX,"S")),"^",1) D:D&(D'<(IBBEG\1))&(D'>(IBEND\1_.2359))
  1. .S ^TMP($J,"ENTERED",D,IBNEX)=""
  1. Q
  1. STATS ; prints statistics
  1. S IBHDR3="REPORT STATISTICS" D HEAD^IBOSTUS1
  1. S IBST1="RATE TYPE : "
  1. S IBST2="BILL STATUS: "
  1. F I="IBST1","IBST2" N IBTOT D W:'IBCRT !!!!
  1. .S IBCAT="" F W ! S IBCAT=$O(@I@(IBCAT)) Q:IBCAT="" D
  1. ..I IBCRT,($Y>(IOSL-2)) D HEAD^IBOSTUS1
  1. .. S X=@I@(IBCAT,"$"),X2="2$" D COMMA^%DTC
  1. ..W !,IBCAT,?18,".................... ",?42,$J(X,15),?60,$J(@I@(IBCAT,"C"),6),?67," BILLS"
  1. ..S IBTOT("C")=$G(IBTOT("C"))+@I@(IBCAT,"C")
  1. ..S IBTOT("$")=$G(IBTOT("$"))+@I@(IBCAT,"$")
  1. .W !,?40,"-----------------",?60,"-------------"
  1. .S X=$G(IBTOT("$")),X2="2$" D COMMA^%DTC
  1. .W !?42,$J(X,15),?60,$J($G(IBTOT("C")),6),?67," BILLS"
  1. Q