SRSREQUT ;B'HAM ISC/MAM - REQUEST UTILITIES ; 29 SEPT 1992  10:35 am
 ;;3.0; Surgery ;;24 Jun 93
LFTOVR ; check for outstanding requests
 K SRCASE S (CNT,SRSRDT,SRTN)=0 F  S SRSRDT=$O(^SRF("AR",SRSRDT)) Q:'SRSRDT  F  S SRTN=$O(^SRF("AR",SRSRDT,SRSDPT,SRTN)) Q:'SRTN  D COMP I 'SRDONE S CNT=CNT+1,SRCASE(CNT)=SRTN
 Q:'$O(SRCASE(0))  S GRAMMER=$S($D(SRCASE(2)):"requests are",1:"request is") W !!,"The following "_GRAMMER_" outstanding for "_SRNM_":",!
 S CNT=0 F I=0:0 S CNT=$O(SRCASE(CNT)) Q:'CNT  S SRTN=SRCASE(CNT),SRSDT=$P(^SRF(SRTN,0),"^",9),SRSDT=$E(SRSDT,4,5)_"-"_$E(SRSDT,6,7)_"-"_$E(SRSDT,2,3) D LIST
UP W !!,"Do you want to update "_$S(CNT>1:"one of ",1:"")_"the outstanding request"_$S(CNT>1:"s",1:"")_" ?  YES// " R SROUTS:DTIME S:'$T SROUTS="^" Q:SROUTS["^"  S:SROUTS="" SROUTS="Y"
 S SROUTS=$E(SROUTS)
 I "YyNn"'[SROUTS W !!,"Enter a RETURN if you would like to delete, update, or change the date of the",!,"requested cases." G UP
 I "Yy"[SROUTS S SRDFN=SRSDPT,SRSOUT=0 D OPT^SRSUPRQ S (SRSOTH,SRSOUT)=1
NEW Q:SRSOTH  W !!,"Do you want to make a new request for "_SRNM_" ? NO//  " R X:DTIME I '$T!("^"[X) S X="N"
 S X=$E(X) I "YyNn"'[X W !!,"Enter 'YES' to continue with this option to make a new request, or RETURN to",!,"quit." G NEW
 I "Nn"[X S SRSOTH=1
 Q
COMP S SRDONE=0 I '$D(^SRF(SRTN,.2)) Q
 I $P(^SRF(SRTN,.2),"^",12)="" Q
 S SRDONE=1 K DIE,DR,DA S DA=SRTN,DIE=130,DR="36///0;Q;.09///"_$P(^SRF(SRTN,0),"^",9) D ^DIE K DR,DIE,DA
 Q
LIST ;
 S SRSOP=$P(^SRF(SRTN,"OP"),"^") K SROPS,MM,MMM S:$L(SRSOP)<70 SROPS(1)=SRSOP I $L(SRSOP)>69 S SROPER=SRSOP S SROPER=SROPER_"  " F M=1:1 D LOOP Q:MMM=""
 W !,CNT_".",?5,SRSDT,!,?5,SROPS(1) I $D(SROPS(2)) W !,?5,SROPS(2) I $D(SROPS(3)) W !,?5,SROPS(3) I $D(SROPS(4)) W !,?5,SROPS(4)
 Q
LOOP ; break procedure if greater than 70 characters
 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM=""  Q:$L(SROPS(M))+$L(MM)'<70  S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSRSREQUT   1972     printed  Sep 23, 2025@20:24:09                                                                                                                                                                                                    Page 2
SRSREQUT  ;B'HAM ISC/MAM - REQUEST UTILITIES ; 29 SEPT 1992  10:35 am
 +1       ;;3.0; Surgery ;;24 Jun 93
LFTOVR    ; check for outstanding requests
 +1        KILL SRCASE
           SET (CNT,SRSRDT,SRTN)=0
           FOR 
               SET SRSRDT=$ORDER(^SRF("AR",SRSRDT))
               if 'SRSRDT
                   QUIT 
               FOR 
                   SET SRTN=$ORDER(^SRF("AR",SRSRDT,SRSDPT,SRTN))
                   if 'SRTN
                       QUIT 
                   DO COMP
                   IF 'SRDONE
                       SET CNT=CNT+1
                       SET SRCASE(CNT)=SRTN
 +2        if '$ORDER(SRCASE(0))
               QUIT 
           SET GRAMMER=$SELECT($DATA(SRCASE(2)):"requests are",1:"request is")
           WRITE !!,"The following "_GRAMMER_" outstanding for "_SRNM_":",!
 +3        SET CNT=0
           FOR I=0:0
               SET CNT=$ORDER(SRCASE(CNT))
               if 'CNT
                   QUIT 
               SET SRTN=SRCASE(CNT)
               SET SRSDT=$PIECE(^SRF(SRTN,0),"^",9)
               SET SRSDT=$EXTRACT(SRSDT,4,5)_"-"_$EXTRACT(SRSDT,6,7)_"-"_$EXTRACT(SRSDT,2,3)
               DO LIST
UP         WRITE !!,"Do you want to update "_$SELECT(CNT>1:"one of ",1:"")_"the outstanding request"_$SELECT(CNT>1:"s",1:"")_" ?  YES// "
           READ SROUTS:DTIME
           if '$TEST
               SET SROUTS="^"
           if SROUTS["^"
               QUIT 
           if SROUTS=""
               SET SROUTS="Y"
 +1        SET SROUTS=$EXTRACT(SROUTS)
 +2        IF "YyNn"'[SROUTS
               WRITE !!,"Enter a RETURN if you would like to delete, update, or change the date of the",!,"requested cases."
               GOTO UP
 +3        IF "Yy"[SROUTS
               SET SRDFN=SRSDPT
               SET SRSOUT=0
               DO OPT^SRSUPRQ
               SET (SRSOTH,SRSOUT)=1
NEW        if SRSOTH
               QUIT 
           WRITE !!,"Do you want to make a new request for "_SRNM_" ? NO//  "
           READ X:DTIME
           IF '$TEST!("^"[X)
               SET X="N"
 +1        SET X=$EXTRACT(X)
           IF "YyNn"'[X
               WRITE !!,"Enter 'YES' to continue with this option to make a new request, or RETURN to",!,"quit."
               GOTO NEW
 +2        IF "Nn"[X
               SET SRSOTH=1
 +3        QUIT 
COMP       SET SRDONE=0
           IF '$DATA(^SRF(SRTN,.2))
               QUIT 
 +1        IF $PIECE(^SRF(SRTN,.2),"^",12)=""
               QUIT 
 +2        SET SRDONE=1
           KILL DIE,DR,DA
           SET DA=SRTN
           SET DIE=130
           SET DR="36///0;Q;.09///"_$PIECE(^SRF(SRTN,0),"^",9)
           DO ^DIE
           KILL DR,DIE,DA
 +3        QUIT 
LIST      ;
 +1        SET SRSOP=$PIECE(^SRF(SRTN,"OP"),"^")
           KILL SROPS,MM,MMM
           if $LENGTH(SRSOP)<70
               SET SROPS(1)=SRSOP
           IF $LENGTH(SRSOP)>69
               SET SROPER=SRSOP
               SET SROPER=SROPER_"  "
               FOR M=1:1
                   DO LOOP
                   if MMM=""
                       QUIT 
 +2        WRITE !,CNT_".",?5,SRSDT,!,?5,SROPS(1)
           IF $DATA(SROPS(2))
               WRITE !,?5,SROPS(2)
               IF $DATA(SROPS(3))
                   WRITE !,?5,SROPS(3)
                   IF $DATA(SROPS(4))
                       WRITE !,?5,SROPS(4)
 +3        QUIT 
LOOP      ; break procedure if greater than 70 characters
 +1        SET SROPS(M)=""
           FOR LOOP=1:1
               SET MM=$PIECE(SROPER," ")
               SET MMM=$PIECE(SROPER," ",2,200)
               if MMM=""
                   QUIT 
               if $LENGTH(SROPS(M))+$LENGTH(MM)'<70
                   QUIT 
               SET SROPS(M)=SROPS(M)_MM_" "
               SET SROPER=MMM
 +2        QUIT