SROPRI1 ;B'HAM ISC/MAM - TOTAL OPERATIONS (BY PRIORITY) ; [ 07/27/98 2:33 PM ]
;;3.0; Surgery ;**50**;24 Jun 93
U IO K ^TMP("SRLIST",$J) S ^TMP("SRLIST",$J)=0 D PLIST^SROPRIT
S X="" F S X=$O(SRCODE(X)) Q:X="" S ^TMP("SRLIST",$J,SRCODE(X))=0
S SRLINE="" F X=1:1:80 S SRLINE=SRLINE_"_"
F S SRD=$O(^SRF("AC",SRD)) Q:SRD=""!(SRD>SRED1) S SRTN=0 F S SRTN=$O(^SRF("AC",SRD,SRTN)) Q:SRTN="" I $D(^SRF(SRTN,0)),$$DIV^SROUTL0(SRTN) D UTIL
I ^TMP("SRLIST",$J,"6. PRIORITY NOT ENTERED")=0 K ^TMP("SRLIST",$J,"6. PRIORITY NOT ENTERED")
S SRSS=$P(^SRO(137.45,SRSS,0),"^")
D HDR Q:SRSOUT S X=0 F S X=$O(^TMP("SRLIST",$J,X)) Q:X="" W !,?24,X,?50,$J(^(X),6)
W !!!,?24,"TOTAL SURGICAL CASES: ",?50,$J(^TMP("SRLIST",$J),6)
I $E(IOST)'="P" W !!!! K DIR S DIR(0)="FOA",DIR("A")=" Press RETURN to continue. " D ^DIR
Q
UTIL ; set UTILITY("SRLIST",$J
Q:$P($G(^SRF(SRTN,.2)),"^",12)=""
S SR(0)=^SRF(SRTN,0),X=$P(SR(0),"^",10) S:X="" X="ZZ" S X=SRCODE(X)
S SP=$P(SR(0),"^",4) I SP'=SRSS Q
S ^TMP("SRLIST",$J,X)=^TMP("SRLIST",$J,X)+1,^TMP("SRLIST",$J)=^TMP("SRLIST",$J)+1
Q
HDR ; print heading
I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
W:$Y @IOF W !,?(80-$L(SRINST)\2),SRINST,!,?32,"SURGICAL SERVICE",!,?21,"TOTAL OPERATIONS BY SURGICAL PRIORITY"
W !,?(80-$L(SRFRTO)\2),SRFRTO W:$E(IOST)="P" !,?28,SRPRINT W !,SRLINE,!
W !,?(80-$L(SRSS)\2),SRSS,!
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROPRI1 1386 printed Dec 13, 2024@02:45:12 Page 2
SROPRI1 ;B'HAM ISC/MAM - TOTAL OPERATIONS (BY PRIORITY) ; [ 07/27/98 2:33 PM ]
+1 ;;3.0; Surgery ;**50**;24 Jun 93
+2 USE IO
KILL ^TMP("SRLIST",$JOB)
SET ^TMP("SRLIST",$JOB)=0
DO PLIST^SROPRIT
+3 SET X=""
FOR
SET X=$ORDER(SRCODE(X))
if X=""
QUIT
SET ^TMP("SRLIST",$JOB,SRCODE(X))=0
+4 SET SRLINE=""
FOR X=1:1:80
SET SRLINE=SRLINE_"_"
+5 FOR
SET SRD=$ORDER(^SRF("AC",SRD))
if SRD=""!(SRD>SRED1)
QUIT
SET SRTN=0
FOR
SET SRTN=$ORDER(^SRF("AC",SRD,SRTN))
if SRTN=""
QUIT
IF $DATA(^SRF(SRTN,0))
IF $$DIV^SROUTL0(SRTN)
DO UTIL
+6 IF ^TMP("SRLIST",$JOB,"6. PRIORITY NOT ENTERED")=0
KILL ^TMP("SRLIST",$JOB,"6. PRIORITY NOT ENTERED")
+7 SET SRSS=$PIECE(^SRO(137.45,SRSS,0),"^")
+8 DO HDR
if SRSOUT
QUIT
SET X=0
FOR
SET X=$ORDER(^TMP("SRLIST",$JOB,X))
if X=""
QUIT
WRITE !,?24,X,?50,$JUSTIFY(^(X),6)
+9 WRITE !!!,?24,"TOTAL SURGICAL CASES: ",?50,$JUSTIFY(^TMP("SRLIST",$JOB),6)
+10 IF $EXTRACT(IOST)'="P"
WRITE !!!!
KILL DIR
SET DIR(0)="FOA"
SET DIR("A")=" Press RETURN to continue. "
DO ^DIR
+11 QUIT
UTIL ; set UTILITY("SRLIST",$J
+1 if $PIECE($GET(^SRF(SRTN,.2)),"^",12)=""
QUIT
+2 SET SR(0)=^SRF(SRTN,0)
SET X=$PIECE(SR(0),"^",10)
if X=""
SET X="ZZ"
SET X=SRCODE(X)
+3 SET SP=$PIECE(SR(0),"^",4)
IF SP'=SRSS
QUIT
+4 SET ^TMP("SRLIST",$JOB,X)=^TMP("SRLIST",$JOB,X)+1
SET ^TMP("SRLIST",$JOB)=^TMP("SRLIST",$JOB)+1
+5 QUIT
HDR ; print heading
+1 IF $DATA(ZTQUEUED)
DO ^SROSTOP
IF SRHALT
SET SRSOUT=1
QUIT
+2 if $Y
WRITE @IOF
WRITE !,?(80-$LENGTH(SRINST)\2),SRINST,!,?32,"SURGICAL SERVICE",!,?21,"TOTAL OPERATIONS BY SURGICAL PRIORITY"
+3 WRITE !,?(80-$LENGTH(SRFRTO)\2),SRFRTO
if $EXTRACT(IOST)="P"
WRITE !,?28,SRPRINT
WRITE !,SRLINE,!
+4 WRITE !,?(80-$LENGTH(SRSS)\2),SRSS,!
+5 QUIT