SROSPLG1 ;B'HAM ISC/ADM - STATUS OF SURGICAL CASE ;4/12/94 08:55
;;3.0; Surgery ;**28**;24 Jun 93
STATUS ; print case status
I $P($G(^SRF(SROP,"NON")),"^")="Y" S SROPER=SROPER_$S($P($G(^(30)),"^"):" (ABORTED)",$P($G(^("NON")),"^",5):" (COMPLETED)",1:" (NOT COMPLETE)") Q
I $P($G(^SRF(SROP,30)),"^")'="" D CAN Q
I $P($G(^SRF(SROP,31)),"^",8)'="" D CAN Q
I $P($G(^SRF(SROP,.2)),"^",12) S SROPER=SROPER_" (COMPLETED)" Q
I $D(^SRF(SROP,.2)),$P(^(.2),"^",12)="" S SRSTAT=0 D SCH I SRSTATUS=0 D REQ Q:SRSTATUS G NO
I '$D(^SRF(SROP,.2)) S SRSTAT=0 D SCH I SRSTATUS=0 D REQ Q:SRSTATUS=1 G NO
Q
NO ; not requested or scheduled
S SROPER=SROPER_" (NOT COMPLETE)"
Q
CAN ; cancelled or aborted
S SR(.2)=$G(^SRF(SROP,.2)) I $P(SR(.2),"^")!($P(SR(.2),"^",10)) S SROPER=SROPER_" (ABORTED)" Q
S SROPER=SROPER_" (CANCELLED)"
Q
SCH ; check to see if case is scheduled
I '$D(^SRF(SROP,31)) S SRSTATUS=0 Q
I $P($G(^SRF(SROP,31)),"^",4)="" S SRSTATUS=0 Q
I $P($G(^SRF(SROP,31)),"^",4) D:SRSTAT=0 TIM0 D:SRSTAT=1 TIM1 S SRSTATUS=1 Q
Q
TIM0 I '$D(^SRF(SROP,.2)) S SROPER=SROPER_" (SCHEDULED)" Q
I $P(^SRF(SROP,.2),"^",2) S SROPER=SROPER_" (NOT COMPLETE)" Q
I $P(^SRF(SROP,.2),"^",2)="" S SROPER=SROPER_" (SCHEDULED)"
Q
TIM1 S SROPER=SROPER_" (SCHEDULED)" Q
REQ ; check to see if case has been requested
I $D(^SRF(SROP,"REQ")),$P(^("REQ"),"^")=1,'$D(^SRF(SROP,.2)) S SROPER=SROPER_" (REQUESTED)" S SRSTATUS=1 Q
I $D(^SRF(SROP,"REQ")),$P(^("REQ"),"^")=1,$D(^SRF(SROP,.2)),$P(^(.2),"^",2)="" S SROPER=SROPER_" (REQUESTED)" S SRSTATUS=1
Q
ABORT ; aborted case
S SRABORT=0 I $D(^SRF(SROP,.2)),$P(^(.2),"^",10)'="" S SRABORT=1
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROSPLG1 1661 printed Nov 22, 2024@17:56:06 Page 2
SROSPLG1 ;B'HAM ISC/ADM - STATUS OF SURGICAL CASE ;4/12/94 08:55
+1 ;;3.0; Surgery ;**28**;24 Jun 93
STATUS ; print case status
+1 IF $PIECE($GET(^SRF(SROP,"NON")),"^")="Y"
SET SROPER=SROPER_$SELECT($PIECE($GET(^(30)),"^"):" (ABORTED)",$PIECE($GET(^("NON")),"^",5):" (COMPLETED)",1:" (NOT COMPLETE)")
QUIT
+2 IF $PIECE($GET(^SRF(SROP,30)),"^")'=""
DO CAN
QUIT
+3 IF $PIECE($GET(^SRF(SROP,31)),"^",8)'=""
DO CAN
QUIT
+4 IF $PIECE($GET(^SRF(SROP,.2)),"^",12)
SET SROPER=SROPER_" (COMPLETED)"
QUIT
+5 IF $DATA(^SRF(SROP,.2))
IF $PIECE(^(.2),"^",12)=""
SET SRSTAT=0
DO SCH
IF SRSTATUS=0
DO REQ
if SRSTATUS
QUIT
GOTO NO
+6 IF '$DATA(^SRF(SROP,.2))
SET SRSTAT=0
DO SCH
IF SRSTATUS=0
DO REQ
if SRSTATUS=1
QUIT
GOTO NO
+7 QUIT
NO ; not requested or scheduled
+1 SET SROPER=SROPER_" (NOT COMPLETE)"
+2 QUIT
CAN ; cancelled or aborted
+1 SET SR(.2)=$GET(^SRF(SROP,.2))
IF $PIECE(SR(.2),"^")!($PIECE(SR(.2),"^",10))
SET SROPER=SROPER_" (ABORTED)"
QUIT
+2 SET SROPER=SROPER_" (CANCELLED)"
+3 QUIT
SCH ; check to see if case is scheduled
+1 IF '$DATA(^SRF(SROP,31))
SET SRSTATUS=0
QUIT
+2 IF $PIECE($GET(^SRF(SROP,31)),"^",4)=""
SET SRSTATUS=0
QUIT
+3 IF $PIECE($GET(^SRF(SROP,31)),"^",4)
if SRSTAT=0
DO TIM0
if SRSTAT=1
DO TIM1
SET SRSTATUS=1
QUIT
+4 QUIT
TIM0 IF '$DATA(^SRF(SROP,.2))
SET SROPER=SROPER_" (SCHEDULED)"
QUIT
+1 IF $PIECE(^SRF(SROP,.2),"^",2)
SET SROPER=SROPER_" (NOT COMPLETE)"
QUIT
+2 IF $PIECE(^SRF(SROP,.2),"^",2)=""
SET SROPER=SROPER_" (SCHEDULED)"
+3 QUIT
TIM1 SET SROPER=SROPER_" (SCHEDULED)"
QUIT
REQ ; check to see if case has been requested
+1 IF $DATA(^SRF(SROP,"REQ"))
IF $PIECE(^("REQ"),"^")=1
IF '$DATA(^SRF(SROP,.2))
SET SROPER=SROPER_" (REQUESTED)"
SET SRSTATUS=1
QUIT
+2 IF $DATA(^SRF(SROP,"REQ"))
IF $PIECE(^("REQ"),"^")=1
IF $DATA(^SRF(SROP,.2))
IF $PIECE(^(.2),"^",2)=""
SET SROPER=SROPER_" (REQUESTED)"
SET SRSTATUS=1
+3 QUIT
ABORT ; aborted case
+1 SET SRABORT=0
IF $DATA(^SRF(SROP,.2))
IF $PIECE(^(.2),"^",10)'=""
SET SRABORT=1
+2 QUIT