SROALNO ;B'HAM ISC/MAM - SELECT CASE WITHOUT ASSESS ; 2 MAR 1992  3:35 pm
 ;;3.0;Surgery;**104,177**;24 Jun 93;Build 89
 W ! S (SRDT,CNT)=0 F I=0:0 S SRDT=$O(^SRF("ADT",DFN,SRDT)) Q:'SRDT!(SRSOUT)  S SROP=0 F I=0:0 S SROP=$O(^SRF("ADT",DFN,SRDT,SROP)) Q:'SROP!($D(SRTN))!(SRSOUT)  D LIST
 I $D(SRTN) Q
OPT W !!!,"Select Operation: " R X:DTIME I '$T!("^"[X) S SRSOUT=1 G END
 I '$D(SRCASE(X)) W !!,"Enter the number corresponding to the surgical case for which you will be",!,"creating a surgical risk assessment." G OPT
 I X=CNT G ^SRONEW
 S SRTN=+SRCASE(X)
ENTER ; edit or delete
 W @IOF,!,?1,VADM(1)_"  "_VA("PID"),!!,?1 S SROP=SRTN,SRSDATE=$P(^SRF(SRTN,0),"^",9) D CASE
 N SRICDV S SRICDV=$$ICDSTR^SROICD(SRTN)
 W !!,"1. Enter Information",!,"2. Review Information",!,"3. Delete Surgery Case",!!,"Select Number:  1//  " R X:DTIME I '$T!(X["^") S SRSOUT=1 G END
 S:X="" X=1 I X<1!(X>3)!(X'?.N) D HELP G ENTER
 I X=3 D ^SROPDEL G END
 I X=2 D RT K DR S ST="REVIEW" D EN2^SROVAR S Q3("VIEW")="",DR="[SROMEN-OPER]",DA=SRTN,DIE=130 D ^SRCUSS K Q3("VIEW") G END
 Q
LIST ; list cases
 I $P($G(^SRF(SROP,"NON")),"^")="Y" Q
 S SRSCAN=1 I $D(^SRF(SROP,.2)),$P(^(.2),"^",12)'="" K SRSCAN
 I $D(SRSCAN),$D(^SRF(SROP,30)),$P(^(30),"^") Q
 I $D(SRSCAN),$D(^SRF(SROP,31)),$P(^(31),"^",8) Q
 I $D(^SRF(SROP,37)),$P(^(37),"^") Q
 I $Y+5>IOSL S SRBACK=0 D SEL^SROPER Q:$D(SRTN)!(SRSOUT)  D:'SRBACK HDR I SRBACK S CNT=0,SROP=SRCASE(1)-1,SRDT=$P(SRCASE(1),"^",2) W @IOF,!,?1,VADM(1)_"   "_VA("PID"),! Q
 S CNT=CNT+1,SRSDATE=$P(^SRF(SROP,0),"^",9)
 W !,CNT_". "
CASE W $E(SRSDATE,4,5)_"-"_$E(SRSDATE,6,7)_"-"_$E(SRSDATE,2,3)
 S SROPER=$P(^SRF(SROP,"OP"),"^") I $O(^SRF(SROP,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SROP,13,SROTHER)) Q:'SROTHER  D OTHER
 D ^SROP1 K SROPS,MM,MMM S:$L(SROPER)<65 SROPS(1)=SROPER I $L(SROPER)>64 S SROPER=SROPER_"  " F M=1:1 D LOOP Q:MMM=""
 W ?14,SROPS(1) I $D(SROPS(2)) W !,?14,SROPS(2) I $D(SROPS(3)) W !,?14,SROPS(3) W:$D(SROPS(4)) !,?14,SROPS(4)
 W ! S SRCASE(CNT)=SROP_"^"_SRDT
 Q
OTHER ; other operations
 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SROP,13,SROTHER,0),"^"))>235 S SRLONG=0,SROTHER=999,SROPERS=" ..."
 I SRLONG S SROPERS=$P(^SRF(SROP,13,SROTHER,0),"^")
 S SROPER=SROPER_$S(SROPERS=" ...":SROPERS,1:", "_SROPERS)
 Q
LOOP ; break procedures
 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM=""  Q:$L(SROPS(M))+$L(MM)'<65  S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
 Q
END K SRTN D ^SRSKILL W @IOF
 Q
HELP W !!,"Enter RETURN or '1' to enter or edit information contained within one of the",!,"options found under the Operations Menu.  If you want to display a two screen",!,"overview of this case, enter '2'."
 W "  To delete this case from your records,",!,"enter '3'.  Please note that deleting a case will remove EVERYTHING pertaining",!,"to this operative procedure.",!
 W !!,"Press RETURN to continue  " R X:DTIME
 Q
RT ; start RT logging
 I $D(XRTL) S XRTN="SROP" D T0^%ZOSV
 Q
HDR ; print heading
 W @IOF,!,?1,VADM(1)_"   "_VA("PID")
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROALNO   3044     printed  Sep 23, 2025@20:17:18                                                                                                                                                                                                     Page 2
SROALNO   ;B'HAM ISC/MAM - SELECT CASE WITHOUT ASSESS ; 2 MAR 1992  3:35 pm
 +1       ;;3.0;Surgery;**104,177**;24 Jun 93;Build 89
 +2        WRITE !
           SET (SRDT,CNT)=0
           FOR I=0:0
               SET SRDT=$ORDER(^SRF("ADT",DFN,SRDT))
               if 'SRDT!(SRSOUT)
                   QUIT 
               SET SROP=0
               FOR I=0:0
                   SET SROP=$ORDER(^SRF("ADT",DFN,SRDT,SROP))
                   if 'SROP!($DATA(SRTN))!(SRSOUT)
                       QUIT 
                   DO LIST
 +3        IF $DATA(SRTN)
               QUIT 
OPT        WRITE !!!,"Select Operation: "
           READ X:DTIME
           IF '$TEST!("^"[X)
               SET SRSOUT=1
               GOTO END
 +1        IF '$DATA(SRCASE(X))
               WRITE !!,"Enter the number corresponding to the surgical case for which you will be",!,"creating a surgical risk assessment."
               GOTO OPT
 +2        IF X=CNT
               GOTO ^SRONEW
 +3        SET SRTN=+SRCASE(X)
ENTER     ; edit or delete
 +1        WRITE @IOF,!,?1,VADM(1)_"  "_VA("PID"),!!,?1
           SET SROP=SRTN
           SET SRSDATE=$PIECE(^SRF(SRTN,0),"^",9)
           DO CASE
 +2        NEW SRICDV
           SET SRICDV=$$ICDSTR^SROICD(SRTN)
 +3        WRITE !!,"1. Enter Information",!,"2. Review Information",!,"3. Delete Surgery Case",!!,"Select Number:  1//  "
           READ X:DTIME
           IF '$TEST!(X["^")
               SET SRSOUT=1
               GOTO END
 +4        if X=""
               SET X=1
           IF X<1!(X>3)!(X'?.N)
               DO HELP
               GOTO ENTER
 +5        IF X=3
               DO ^SROPDEL
               GOTO END
 +6        IF X=2
               DO RT
               KILL DR
               SET ST="REVIEW"
               DO EN2^SROVAR
               SET Q3("VIEW")=""
               SET DR="[SROMEN-OPER]"
               SET DA=SRTN
               SET DIE=130
               DO ^SRCUSS
               KILL Q3("VIEW")
               GOTO END
 +7        QUIT 
LIST      ; list cases
 +1        IF $PIECE($GET(^SRF(SROP,"NON")),"^")="Y"
               QUIT 
 +2        SET SRSCAN=1
           IF $DATA(^SRF(SROP,.2))
               IF $PIECE(^(.2),"^",12)'=""
                   KILL SRSCAN
 +3        IF $DATA(SRSCAN)
               IF $DATA(^SRF(SROP,30))
                   IF $PIECE(^(30),"^")
                       QUIT 
 +4        IF $DATA(SRSCAN)
               IF $DATA(^SRF(SROP,31))
                   IF $PIECE(^(31),"^",8)
                       QUIT 
 +5        IF $DATA(^SRF(SROP,37))
               IF $PIECE(^(37),"^")
                   QUIT 
 +6        IF $Y+5>IOSL
               SET SRBACK=0
               DO SEL^SROPER
               if $DATA(SRTN)!(SRSOUT)
                   QUIT 
               if 'SRBACK
                   DO HDR
               IF SRBACK
                   SET CNT=0
                   SET SROP=SRCASE(1)-1
                   SET SRDT=$PIECE(SRCASE(1),"^",2)
                   WRITE @IOF,!,?1,VADM(1)_"   "_VA("PID"),!
                   QUIT 
 +7        SET CNT=CNT+1
           SET SRSDATE=$PIECE(^SRF(SROP,0),"^",9)
 +8        WRITE !,CNT_". "
CASE       WRITE $EXTRACT(SRSDATE,4,5)_"-"_$EXTRACT(SRSDATE,6,7)_"-"_$EXTRACT(SRSDATE,2,3)
 +1        SET SROPER=$PIECE(^SRF(SROP,"OP"),"^")
           IF $ORDER(^SRF(SROP,13,0))
               SET SROTHER=0
               FOR I=0:0
                   SET SROTHER=$ORDER(^SRF(SROP,13,SROTHER))
                   if 'SROTHER
                       QUIT 
                   DO OTHER
 +2        DO ^SROP1
           KILL SROPS,MM,MMM
           if $LENGTH(SROPER)<65
               SET SROPS(1)=SROPER
           IF $LENGTH(SROPER)>64
               SET SROPER=SROPER_"  "
               FOR M=1:1
                   DO LOOP
                   if MMM=""
                       QUIT 
 +3        WRITE ?14,SROPS(1)
           IF $DATA(SROPS(2))
               WRITE !,?14,SROPS(2)
               IF $DATA(SROPS(3))
                   WRITE !,?14,SROPS(3)
                   if $DATA(SROPS(4))
                       WRITE !,?14,SROPS(4)
 +4        WRITE !
           SET SRCASE(CNT)=SROP_"^"_SRDT
 +5        QUIT 
OTHER     ; other operations
 +1        SET SRLONG=1
           IF $LENGTH(SROPER)+$LENGTH($PIECE(^SRF(SROP,13,SROTHER,0),"^"))>235
               SET SRLONG=0
               SET SROTHER=999
               SET SROPERS=" ..."
 +2        IF SRLONG
               SET SROPERS=$PIECE(^SRF(SROP,13,SROTHER,0),"^")
 +3        SET SROPER=SROPER_$SELECT(SROPERS=" ...":SROPERS,1:", "_SROPERS)
 +4        QUIT 
LOOP      ; break procedures
 +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)'<65
                   QUIT 
               SET SROPS(M)=SROPS(M)_MM_" "
               SET SROPER=MMM
 +2        QUIT 
END        KILL SRTN
           DO ^SRSKILL
           WRITE @IOF
 +1        QUIT 
HELP       WRITE !!,"Enter RETURN or '1' to enter or edit information contained within one of the",!,"options found under the Operations Menu.  If you want to display a two screen",!,"overview of this case, enter '2'."
 +1        WRITE "  To delete this case from your records,",!,"enter '3'.  Please note that deleting a case will remove EVERYTHING pertaining",!,"to this operative procedure.",!
 +2        WRITE !!,"Press RETURN to continue  "
           READ X:DTIME
 +3        QUIT 
RT        ; start RT logging
 +1        IF $DATA(XRTL)
               SET XRTN="SROP"
               DO T0^%ZOSV
 +2        QUIT 
HDR       ; print heading
 +1        WRITE @IOF,!,?1,VADM(1)_"   "_VA("PID")
 +2        QUIT