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  Sep 23, 2025@20:22:34                                                                                                                                                                                                    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