SROACCM ;BIR/MAM - TOTAL CPTS ;12/15/98 11:34 AM
;;3.0; Surgery ;**59,50,88,127,142**;24 Jun 93
EN ; entry when queued
U IO S SRSOUT=0,SRINST=SRSITE("SITE") K ^TMP("SR",$J)
N SRFRTO S Y=SDATE X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: " S Y=EDATE X ^DD("DD") S SRFRTO=SRFRTO_Y
S SRSDT=SDATE1 F S SRSDT=$O(^SRF("AC",SRSDT)) Q:SRSDT>EDATE1!('SRSDT) S SRTN=0 F S SRTN=$O(^SRF("AC",SRSDT,SRTN)) Q:'SRTN I $D(^SRF(SRTN,0)),$$DIV^SROUTL0(SRTN) D UTIL
D HDR Q:SRSOUT
S CPT=0 F S CPT=$O(^TMP("SR",$J,CPT)) Q:'CPT!(SRSOUT) D PRINT
I '$D(^TMP("SR",$J)) W $$NODATA^SROUTL0()
Q
PRINT ; print info
I $Y+6>IOSL D PAGE I SRSOUT Q
S TOT1=$S($D(^TMP("SR",$J,CPT,1)):^(1),1:0),TOT2=$S($D(^TMP("SR",$J,CPT,2)):^(2),1:0),TOT=TOT1+TOT2
S Y=$$CPT^ICPTCOD(CPT,EDATE),CPT1=$P(Y,"^",2)_" "_$P(Y,"^",3)
W !,CPT1,?55,TOT,?79,TOT1,?110,TOT2,! F LINE=1:1:132 W "-"
Q
PAGE I $E(IOST)'="P" W !!,"Press RETURN to continue, or '^' to quit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
HDR ; print heading
I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,!,?57,"SURGICAL SERVICE",?100,"REVIEWED BY",!,?50,"CUMULATIVE REPORT OF CPT CODES",?100,"DATE REVIEWED:"
W !,?(132-$L(SRFRTO)\2),SRFRTO
W !,$S(SRFLG=1:"O.R. SURGICAL PROCEDURES",SRFLG=2:"NON-O.R. PROCEDURES",1:"O.R. SURGICAL PROCEDURES AND NON-O.R. PROCEDURES")
W !!,"CPT CODE - SHORT DESCRIPTION",?50,"TOTAL PROCEDURES",?72,"TOTAL PRINCIPAL PROCEDURES",?104,"TOTAL OTHER PROCEDURES",! F LINE=1:1:132 W "="
Q
UTIL ; set ^TMP("SR")
S SRNON=0 I $P($G(^SRF(SRTN,"NON")),"^")="Y" S SRNON=1
I SRFLG=1!(SRFLG=3&('SRNON)) Q:$P($G(^SRF(SRTN,.2)),"^",12)=""
I SRFLG=2 Q:'SRNON
I $P($G(^SRF(SRTN,30)),"^")'="" Q
S CPT=$P($G(^SRO(136,SRTN,0)),"^",2) I CPT S X=$S($D(^TMP("SR",$J,CPT,1)):^(1),1:0),^TMP("SR",$J,CPT,1)=X+1
S OP=0 F S OP=$O(^SRO(136,SRTN,3,OP)) Q:'OP I $D(^SRO(136,SRTN,3,OP,0)),$P(^(0),"^") S CPT=$P(^(0),"^") I CPT S X=$S($D(^TMP("SR",$J,CPT,2)):^(2),1:0),^TMP("SR",$J,CPT,2)=X+1
Q
SROACCM ;BIR/MAM - TOTAL CPTS ;12/15/98 11:34 AM
+1 ;;3.0; Surgery ;**59,50,88,127,142**;24 Jun 93
EN ; entry when queued
+1 USE IO
SET SRSOUT=0
SET SRINST=SRSITE("SITE")
KILL ^TMP("SR",$JOB)
+2 NEW SRFRTO
SET Y=SDATE
XECUTE ^DD("DD")
SET SRFRTO="FROM: "_Y_" TO: "
SET Y=EDATE
XECUTE ^DD("DD")
SET SRFRTO=SRFRTO_Y
+3 SET SRSDT=SDATE1
FOR
SET SRSDT=$ORDER(^SRF("AC",SRSDT))
IF SRSDT>EDATE1!('SRSDT)
QUIT
SET SRTN=0
FOR
SET SRTN=$ORDER(^SRF("AC",SRSDT,SRTN))
IF 'SRTN
QUIT
IF $DATA(^SRF(SRTN,0))
IF $$DIV^SROUTL0(SRTN)
DO UTIL
+4 DO HDR
IF SRSOUT
QUIT
+5 SET CPT=0
FOR
SET CPT=$ORDER(^TMP("SR",$JOB,CPT))
IF 'CPT!(SRSOUT)
QUIT
DO PRINT
+6 IF '$DATA(^TMP("SR",$JOB))
WRITE $$NODATA^SROUTL0()
+7 QUIT
PRINT ; print info
+1 IF $Y+6>IOSL
DO PAGE
IF SRSOUT
QUIT
+2 SET TOT1=$SELECT($DATA(^TMP("SR",$JOB,CPT,1)):^(1),1:0)
SET TOT2=$SELECT($DATA(^TMP("SR",$JOB,CPT,2)):^(2),1:0)
SET TOT=TOT1+TOT2
+3 SET Y=$$CPT^ICPTCOD(CPT,EDATE)
SET CPT1=$PIECE(Y,"^",2)_" "_$PIECE(Y,"^",3)
+4 WRITE !,CPT1,?55,TOT,?79,TOT1,?110,TOT2,!
FOR LINE=1:1:132
WRITE "-"
+5 QUIT
PAGE IF $EXTRACT(IOST)'="P"
WRITE !!,"Press RETURN to continue, or '^' to quit: "
READ X:DTIME
IF '$TEST!(X["^")
SET SRSOUT=1
QUIT
HDR ; print heading
+1 IF $DATA(ZTQUEUED)
DO ^SROSTOP
IF SRHALT
SET SRSOUT=1
QUIT
+2 IF $Y
WRITE @IOF
WRITE !,?(132-$LENGTH(SRINST)\2),SRINST,!,?57,"SURGICAL SERVICE",?100,"REVIEWED BY",!,?50,"CUMULATIVE REPORT OF CPT CODES",?100,"DATE REVIEWED:"
+3 WRITE !,?(132-$LENGTH(SRFRTO)\2),SRFRTO
+4 WRITE !,$SELECT(SRFLG=1:"O.R. SURGICAL PROCEDURES",SRFLG=2:"NON-O.R. PROCEDURES",1:"O.R. SURGICAL PROCEDURES AND NON-O.R. PROCEDURES")
+5 WRITE !!,"CPT CODE - SHORT DESCRIPTION",?50,"TOTAL PROCEDURES",?72,"TOTAL PRINCIPAL PROCEDURES",?104,"TOTAL OTHER PROCEDURES",!
FOR LINE=1:1:132
WRITE "="
+6 QUIT
UTIL ; set ^TMP("SR")
+1 SET SRNON=0
IF $PIECE($GET(^SRF(SRTN,"NON")),"^")="Y"
SET SRNON=1
+2 IF SRFLG=1!(SRFLG=3&('SRNON))
IF $PIECE($GET(^SRF(SRTN,.2)),"^",12)=""
QUIT
+3 IF SRFLG=2
IF 'SRNON
QUIT
+4 IF $PIECE($GET(^SRF(SRTN,30)),"^")'=""
QUIT
+5 SET CPT=$PIECE($GET(^SRO(136,SRTN,0)),"^",2)
IF CPT
SET X=$SELECT($DATA(^TMP("SR",$JOB,CPT,1)):^(1),1:0)
SET ^TMP("SR",$JOB,CPT,1)=X+1
+6 SET OP=0
FOR
SET OP=$ORDER(^SRO(136,SRTN,3,OP))
IF 'OP
QUIT
IF $DATA(^SRO(136,SRTN,3,OP,0))
IF $PIECE(^(0),"^")
SET CPT=$PIECE(^(0),"^")
IF CPT
SET X=$SELECT($DATA(^TMP("SR",$JOB,CPT,2)):^(2),1:0)
SET ^TMP("SR",$JOB,CPT,2)=X+1
+7 QUIT