SROACOP ;BIR/MAM - CARDIAC OPERATIVE RISK SUMMARY ;05/05/10
;;3.0;Surgery;**38,47,71,88,95,107,100,125,142,153,160,166,174,175,182,184,200**;24 Jun 93;Build 9
I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END
N SRCSTAT S SRACLR=0,SRSOUT=0,SRSUPCPT=1 D ^SROAUTL
START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO
F I=206,206.1,208 S SRA(I)=$G(^SRF(SRTN,I))
S Y=$P($G(^SRF(SRTN,1.1)),"^",3),C=$P(^DD(130,1.13,0),"^",2) D:Y'="" Y^DIQ S SRAO(1)=Y_"^1.13"
S SRAO(2)=$P(SRA(208),"^",12)_"^414"
S Y=$P(SRAO(2),"^") I Y'="" S C=$P(^DD(130,414,0),"^",2) D Y^DIQ S $P(SRAO(2),"^")=Y
S Y=$P(SRA(208),"^",13) D DT S SRAO("2A")=X_"^414.1"
S SRCSTAT=">> Coding "_$S($P($G(^SRO(136,SRTN,10)),"^"):"",1:"Not ")_"Complete <<"
S SRPAGE="PAGE: 1" D HDR^SROAUTL S SRAO(3)=""
W !," 1. ASA Classification:",?31,$P(SRAO(1),"^"),!," 2. Surgical Priority:",?31,$P(SRAO(2),"^")
S X=$P(SRAO("2A"),"^") I X'="" W !,?3," A. Date/Time Collected: "_X
N SRPROC,SRL S SRL=49 D CPTS^SROAUTL0 W !," 3. CPT Codes (view only):"
F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I)
S Y=$P($G(^SRF(SRTN,"1.0")),"^",8),C=$P(^DD(130,1.09,0),"^",2) D:Y'="" Y^DIQ S SRAO(4)=Y_"^1.09"
W !," 4. Wound Classification: ",?31,$P(SRAO(4),"^")
S Y=$$GET1^DIQ(130,SRTN_",",2006,"E") S:$G(Y)']"" Y="NOT ENTERED" S SRAO(5)=Y_"^2006"
W !," 5. Robotic Assistance (Y/N): ",?31,$P(SRAO(5),"^")
W ! D CHCK
W !! F MOE=1:1:80 W "-"
ASK W !,"Select Operative Risk Summary Information to Edit: " R X:DTIME I '$T!("^"[X) G END
S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START
I X="A" S X="1:5"
I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>5)!(Y>Z) D HELP G:SRSOUT END G START
I "4,5"'[X D HDR^SROAUTL
I X?.N1":".N D RANGE S SROERR=SRTN D ^SROERR0 G START
I $D(SRAO(X))!(X=4) S EMILY=X D S SROERR=SRTN D ^SROERR0 G START
.I $$LOCK^SROUTL(SRTN) W !! D ONE,UNLOCK^SROUTL(SRTN)
END I '$D(SREQST) W @IOF D ^SRSKILL
Q
DT I 'Y S X="" Q
X ^DD("DD") S X=$P(Y,"@")_" "_$P(Y,"@",2)
Q
HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below."
W !!,"1. Enter 'A' to update all information.",!!,"2. Enter the corresponding number to update the information in a particular",!," field. (For example, enter '2' to update Surgical Priority)"
W !!,"3. Enter two numbers separated by a ':' to enter a range of information.",!," (For example, enter '1:2' to update ASA Classification",!," Surgical Priority.)"
W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1
Q
RANGE ; range of numbers
I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN)
.W !! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE
Q
ONE ; edit one item
I EMILY=3 D DISP^SROAUTL0 Q
K DR,DIE S DA=SRTN,DIE=130,DR=$P(SRAO(EMILY),"^",2)
S DR=DR_"T",DIE=130 S DR=DR_$S(EMILY=2:";414.1T",1:"") D ^DIE K DR I $D(Y) S SRSOUT=1
Q
RET Q:SRSOUT W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
Q
NOW ; update date/time of estimate of mortality
N X D NOW^%DTC S $P(^SRF(DA,206),"^",32)=$E(%,1,12)
Q
KNOW ; delete date/time of estimate of mortality
S $P(^SRF(DA,206),"^",32)=""
Q
YN ; store answer
S SHEMP=$S(NYUK="NS":"Unknown",NYUK="N":"NO",NYUK="Y":"YES",1:"")
Q
CHCK ;compare dates
N SRINO,SRSP
S SRSP=$P($G(^SRF(SRTN,208)),"^",13),SRINO=$P($G(^SRF(SRTN,.2)),"^",10)
I SRSP'="",SRINO'="",SRSP'<SRINO W !!,"*** NOTE: D/Time of Surgical Priority should be < the D/Time Patient in OR.***"
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROACOP 3686 printed Dec 13, 2024@02:40:14 Page 2
SROACOP ;BIR/MAM - CARDIAC OPERATIVE RISK SUMMARY ;05/05/10
+1 ;;3.0;Surgery;**38,47,71,88,95,107,100,125,142,153,160,166,174,175,182,184,200**;24 Jun 93;Build 9
+2 IF '$DATA(SRTN)
WRITE !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue "
READ X:DTIME
GOTO END
+3 NEW SRCSTAT
SET SRACLR=0
SET SRSOUT=0
SET SRSUPCPT=1
DO ^SROAUTL
START if SRACLR
DO RET
if SRSOUT
GOTO END
SET SRACLR=0
KILL SRA,SRAO
+1 FOR I=206,206.1,208
SET SRA(I)=$GET(^SRF(SRTN,I))
+2 SET Y=$PIECE($GET(^SRF(SRTN,1.1)),"^",3)
SET C=$PIECE(^DD(130,1.13,0),"^",2)
if Y'=""
DO Y^DIQ
SET SRAO(1)=Y_"^1.13"
+3 SET SRAO(2)=$PIECE(SRA(208),"^",12)_"^414"
+4 SET Y=$PIECE(SRAO(2),"^")
IF Y'=""
SET C=$PIECE(^DD(130,414,0),"^",2)
DO Y^DIQ
SET $PIECE(SRAO(2),"^")=Y
+5 SET Y=$PIECE(SRA(208),"^",13)
DO DT
SET SRAO("2A")=X_"^414.1"
+6 SET SRCSTAT=">> Coding "_$SELECT($PIECE($GET(^SRO(136,SRTN,10)),"^"):"",1:"Not ")_"Complete <<"
+7 SET SRPAGE="PAGE: 1"
DO HDR^SROAUTL
SET SRAO(3)=""
+8 WRITE !," 1. ASA Classification:",?31,$PIECE(SRAO(1),"^"),!," 2. Surgical Priority:",?31,$PIECE(SRAO(2),"^")
+9 SET X=$PIECE(SRAO("2A"),"^")
IF X'=""
WRITE !,?3," A. Date/Time Collected: "_X
+10 NEW SRPROC,SRL
SET SRL=49
DO CPTS^SROAUTL0
WRITE !," 3. CPT Codes (view only):"
+11 FOR I=1:1
if '$DATA(SRPROC(I))
QUIT
if I=1
WRITE ?31,SRPROC(I)
if I'=1
WRITE !,?31,SRPROC(I)
+12 SET Y=$PIECE($GET(^SRF(SRTN,"1.0")),"^",8)
SET C=$PIECE(^DD(130,1.09,0),"^",2)
if Y'=""
DO Y^DIQ
SET SRAO(4)=Y_"^1.09"
+13 WRITE !," 4. Wound Classification: ",?31,$PIECE(SRAO(4),"^")
+14 SET Y=$$GET1^DIQ(130,SRTN_",",2006,"E")
if $GET(Y)']""
SET Y="NOT ENTERED"
SET SRAO(5)=Y_"^2006"
+15 WRITE !," 5. Robotic Assistance (Y/N): ",?31,$PIECE(SRAO(5),"^")
+16 WRITE !
DO CHCK
+17 WRITE !!
FOR MOE=1:1:80
WRITE "-"
ASK WRITE !,"Select Operative Risk Summary Information to Edit: "
READ X:DTIME
IF '$TEST!("^"[X)
GOTO END
+1 if X="a"
SET X="A"
IF '$DATA(SRAO(X))
IF (X'?.N1":".N)
IF (X'="A")
DO HELP
if SRSOUT
GOTO END
GOTO START
+2 IF X="A"
SET X="1:5"
+3 IF X?.N1":".N
SET Y=$EXTRACT(X)
SET Z=$PIECE(X,":",2)
IF Y<1!(Z>5)!(Y>Z)
DO HELP
if SRSOUT
GOTO END
GOTO START
+4 IF "4,5"'[X
DO HDR^SROAUTL
+5 IF X?.N1":".N
DO RANGE
SET SROERR=SRTN
DO ^SROERR0
GOTO START
+6 IF $DATA(SRAO(X))!(X=4)
SET EMILY=X
Begin DoDot:1
+7 IF $$LOCK^SROUTL(SRTN)
WRITE !!
DO ONE
DO UNLOCK^SROUTL(SRTN)
End DoDot:1
SET SROERR=SRTN
DO ^SROERR0
GOTO START
END IF '$DATA(SREQST)
WRITE @IOF
DO ^SRSKILL
+1 QUIT
DT IF 'Y
SET X=""
QUIT
+1 XECUTE ^DD("DD")
SET X=$PIECE(Y,"@")_" "_$PIECE(Y,"@",2)
+2 QUIT
HELP WRITE @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below."
+1 WRITE !!,"1. Enter 'A' to update all information.",!!,"2. Enter the corresponding number to update the information in a particular",!," field. (For example, enter '2' to update Surgical Priority)"
+2 WRITE !!,"3. Enter two numbers separated by a ':' to enter a range of information.",!," (For example, enter '1:2' to update ASA Classification",!," Surgical Priority.)"
+3 WRITE !!,"Press ENTER to continue, or '^' to quit "
READ X:DTIME
IF '$TEST!(X["^")
SET SRSOUT=1
+4 QUIT
RANGE ; range of numbers
+1 IF $$LOCK^SROUTL(SRTN)
Begin DoDot:1
+2 WRITE !!
SET SHEMP=$PIECE(X,":")
SET CURLEY=$PIECE(X,":",2)
FOR EMILY=SHEMP:1:CURLEY
if SRSOUT
QUIT
DO ONE
End DoDot:1
DO UNLOCK^SROUTL(SRTN)
+3 QUIT
ONE ; edit one item
+1 IF EMILY=3
DO DISP^SROAUTL0
QUIT
+2 KILL DR,DIE
SET DA=SRTN
SET DIE=130
SET DR=$PIECE(SRAO(EMILY),"^",2)
+3 SET DR=DR_"T"
SET DIE=130
SET DR=DR_$SELECT(EMILY=2:";414.1T",1:"")
DO ^DIE
KILL DR
IF $DATA(Y)
SET SRSOUT=1
+4 QUIT
RET if SRSOUT
QUIT
WRITE !!,"Press ENTER to continue, or '^' to quit "
READ X:DTIME
IF '$TEST!(X["^")
SET SRSOUT=1
QUIT
+1 QUIT
NOW ; update date/time of estimate of mortality
+1 NEW X
DO NOW^%DTC
SET $PIECE(^SRF(DA,206),"^",32)=$EXTRACT(%,1,12)
+2 QUIT
KNOW ; delete date/time of estimate of mortality
+1 SET $PIECE(^SRF(DA,206),"^",32)=""
+2 QUIT
YN ; store answer
+1 SET SHEMP=$SELECT(NYUK="NS":"Unknown",NYUK="N":"NO",NYUK="Y":"YES",1:"")
+2 QUIT
CHCK ;compare dates
+1 NEW SRINO,SRSP
+2 SET SRSP=$PIECE($GET(^SRF(SRTN,208)),"^",13)
SET SRINO=$PIECE($GET(^SRF(SRTN,.2)),"^",10)
+3 IF SRSP'=""
IF SRINO'=""
IF SRSP'<SRINO
WRITE !!,"*** NOTE: D/Time of Surgical Priority should be < the D/Time Patient in OR.***"
+4 QUIT