| [613] | 1 | IBOCOSI ;ALB/ARH - LIST INACTIVE CODES FROM COS; 5/27/92
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**133**;21-MAR-94
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | EN ;get device then run the report
 | 
|---|
 | 5 |  ; ****
 | 
|---|
 | 6 |  ;S XRTL=$ZU(0),XRTN="IBOCOSI-1" D T0^%ZOSV ;start rt clock
 | 
|---|
 | 7 |  S IBHDR="INACTIVE CPT CODES ON CHECK-OFF SHEETS"
 | 
|---|
 | 8 |  S %ZIS="QM",%ZIS("A")="OUTPUT DEVICE: " D ^%ZIS G:POP EXIT
 | 
|---|
 | 9 |  I $D(IO("Q")) S ZTRTN="EN1^IBOCOSI",ZTDESC=IBHDR D ^%ZTLOAD K IO("Q") G EXIT
 | 
|---|
 | 10 |  U IO
 | 
|---|
 | 11 |  ;***
 | 
|---|
 | 12 |  ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCOSI" D T1^%ZOSV ;stop rt clock
 | 
|---|
 | 13 |  D EN1 D ^%ZISC
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 | EXIT ;clean up and quit
 | 
|---|
 | 16 |  ;***
 | 
|---|
 | 17 |  ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCOSI" D T1^%ZOSV ;stop rt clock
 | 
|---|
 | 18 |  Q:$D(ZTQUEUED)  K IBHDR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
 | 
|---|
 | 19 |  Q
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 | EN1 ;entry pt. for tasked jobs
 | 
|---|
 | 22 |  ;***
 | 
|---|
 | 23 |  ;S XRTL=$ZU(0),XRTN="IBOCOSI-2" D T0^%ZOSV ;start rt clock
 | 
|---|
 | 24 |  S IBCPT="",IBQ=0 F  S IBCPT=$O(^IBE(350.71,"P",IBCPT)) Q:IBCPT=""!IBQ  D  S IBQ=$$STOP
 | 
|---|
 | 25 |  . S IBX="" F  S IBX=$O(^IBE(350.71,"P",IBCPT,IBX)) Q:IBX=""  D
 | 
|---|
 | 26 |  .. S IBLN=$G(^IBE(350.71,IBX,0)),IBSTAT=+$$CPTSTAT^IBEFUNC2(+$P(IBLN,"^",6))
 | 
|---|
 | 27 |  .. Q:IBSTAT>1  S (IBCPTP,IBSUBH,IBCHECK)=""
 | 
|---|
 | 28 |  .. S IBSUBH=$G(^IBE(350.71,+$P(IBLN,"^",5),0))
 | 
|---|
 | 29 |  .. I IBSUBH'="" S IBCHECK=$P($G(^IBE(350.7,+$P(IBSUBH,"^",4),0)),"^",1)
 | 
|---|
 | 30 |  .. S IBSUBH=$P(IBSUBH,"^",1),IBCPTP=$P($$CPT^ICPTCOD(IBCPT),"^",2)
 | 
|---|
 | 31 |  .. S ^TMP("IBINACT",$J,IBSTAT,IBCPTP,IBCHECK,IBSUBH)=$P($$CPT^ICPTCOD(IBCPT),"^",3)
 | 
|---|
 | 32 |  K IBCPT,IBX,IBLN,IBSTAT,IBCPTP,IBSUBH,IBCHECK
 | 
|---|
 | 33 |  G:IBQ END
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 | PRINT ;set up headers and dates then print
 | 
|---|
 | 36 |  S IBHDR="INACTIVE CPT CODES ON CHECK-OFF SHEETS"
 | 
|---|
 | 37 |  D NOW^%DTC S Y=$E(%,1,12) D DD^%DT S IBCDT=$P(Y,"@",1)_"  "_$P(Y,"@",2)
 | 
|---|
 | 38 |  S (IBPGN,IBLN)=0,IB3=(IOM-80)/3,IB1=IB3+20,(IB2,IB3)=IB3+24,IBDSH="" F IBI=1:1:IOM S IBDSH=IBDSH_"-"
 | 
|---|
 | 39 |  D HDR,P1
 | 
|---|
 | 40 | END K IBHDR,IBCDT,IBPGN,IBQ,IBLN,IBI,IB1,IB2,IB3,IBDSH,Y,X,^TMP("IBINACT",$J)
 | 
|---|
 | 41 |  ;***
 | 
|---|
 | 42 |  ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCOSI" D T1^%ZOSV ;stop rt clock
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 | P1 ;print the report from the temp sort file to the appropriate device
 | 
|---|
 | 46 |  S IBSTAT="" F  S IBSTAT=$O(^TMP("IBINACT",$J,IBSTAT)) Q:IBSTAT=""!(IBQ)  S IBCPT="" D
 | 
|---|
 | 47 |  . W !!,?15,$S(IBSTAT=0:"AMA INACTIVE",1:"NATIONALLY, LOCALLY AND BILLING INACTIVE"),! S IBLN=IBLN+3
 | 
|---|
 | 48 |  . F  S IBCPT=$O(^TMP("IBINACT",$J,IBSTAT,IBCPT)) Q:IBCPT=""!(IBQ)  S IBCHECK="",IBI=1 D
 | 
|---|
 | 49 |  .. F  S IBCHECK=$O(^TMP("IBINACT",$J,IBSTAT,IBCPT,IBCHECK)) Q:IBCHECK=""!(IBQ)  S IBSUBH="" D
 | 
|---|
 | 50 |  ... F  S IBSUBH=$O(^TMP("IBINACT",$J,IBSTAT,IBCPT,IBCHECK,IBSUBH)) Q:IBSUBH=""!(IBQ)  D
 | 
|---|
 | 51 |  .... I IBI S IBCPTP=^(IBSUBH) W !,IBCPT,?7,$E(IBCPTP,1,IB1)
 | 
|---|
 | 52 |  .... W:'IBI ! W ?(9+IB1),$E(IBCHECK,1,IB2),?(11+IB1+IB2),$E(IBSUBH,1,IB3) S IBLN=IBLN+1,IBI=0 D:IBLN>IOSL HDR
 | 
|---|
 | 53 |  D:'IBQ PAUSE
 | 
|---|
 | 54 |  K IBSTAT,IBCPT,IBCHECK,IBSUBH,IBCPTP,IBI,X,Y
 | 
|---|
 | 55 |  Q
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 | HDR ;print the report header
 | 
|---|
 | 58 |  S IBQ=$$STOP Q:IBQ  D:IBPGN>0 PAUSE Q:IBQ  S IBPGN=IBPGN+1,IBLN=6
 | 
|---|
 | 59 |  I IBPGN>1!($E(IOST,1,2)["C-") W @IOF
 | 
|---|
 | 60 |  W IBHDR,?(IOM-30),IBCDT,?(IOM-8),"PAGE ",IBPGN,!
 | 
|---|
 | 61 |  W !,"PROCEDURE",?(9+IB1),"CHECK-OFF SHEET",?(11+IB1+IB2),"SUBHEADER",! W IBDSH
 | 
|---|
 | 62 |  Q
 | 
|---|
 | 63 |  ;
 | 
|---|
 | 64 | PAUSE ;pause at end of screen if being displayed on a terminal
 | 
|---|
 | 65 |  Q:$E(IOST,1,2)'["C-"  S DIR(0)="E" D ^DIR I $D(DUOUT)!($D(DIRUT)) S IBQ=1
 | 
|---|
 | 66 |  K DIR,DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
 | 67 |  Q
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 | STOP() ;determine if user requested task to stop
 | 
|---|
 | 70 |  I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 K ZTREQ I +$G(IBPGN) W !!,"***TASK STOPPED BY USER***",!!
 | 
|---|
 | 71 |  Q +$G(ZTSTOP)
 | 
|---|