SROVER1 ;BIR/MAM - EDIT, VERIFICATION SCREEN ;[ 10/01/99 12:55 PM ]
;;3.0;Surgery;**18,67,88,127,119**;24 Jun 93
S SROVER=1,SRAO(1)=55,SRAO(2)=27,SRAO(3)=26,SRAO(4)="",SRAO(5)=34,SRAO(6)="",SRAO(7)=32,SRAO(8)=32.5,SRMSG="NO Assoc. DX ENTERED"
ASK W !!,"Select Information to Edit: " R X:DTIME I '$T!("^"[X) S SRSOUT=1 Q
S:$E(X)="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),($E(X)'="A") D HELP Q:SRSOUT G ASK
I $E(X)="A" S X="1:8"
I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>8)!(Y>Z) D HELP Q:SRSOUT G ASK
I X?.N1":".N D RANGE Q
S EMILY=X D ONE Q
Q
HELP W !!,"Enter the number corresponding to the information you want to update. You may",!,"enter 'ALL' to update all the information displayed on this screen, or a"
W !,"range of numbers separated by a ':' to update more than one item."
Q
RANGE ; range of numbers
S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE
Q
ONE ; edit one item
W @IOF I EMILY=2 S X=$P(S("OP"),"^",2) I X D W !
.S SRY=$$CPT^ICPTCOD(X,$P($G(^SRF(SRTN,0)),"^",9)),Y=$P(SRY,"^",2),Z=$P(SRY,"^",3)
.W !," CPT Code: "_Y_" ",Z,!,?5,"Description:" D ^SROCPT W ! F I=1:1:80 W "-"
I EMILY=4 D POTH Q
I EMILY=6 D INTRA^SROCMPS S SRSOUT=0 Q
W ! K DR,DIE,DA S DIE=130,DA=SRTN,DR=SRAO(EMILY)_"T" D ^DIE K DR,DIE
I EMILY=5 D
.D:$$SCEC^SROVER3() ASK^SROPCE1 K SRCL
.D DOTH^SROVER3 I $D(Y) S SRSOUT=0
I EMILY=2,$P(S("OP"),"^",2)'="" D VASDX^SROADX
Q
POTH W !,"Other Procedures:",!
N SRSHT K SRSEL S CNT=1,OTH=0 F S OTH=$O(^SRF(SRTN,13,OTH)) Q:'OTH!(SRSOUT) D
.S OTHER=$P(^SRF(SRTN,13,OTH,0),"^"),X=$P($G(^SRF(SRTN,13,OTH,2)),"^"),CPT="NOT ENTERED",CPT1=""
.I X S CPT1=X,Y=$$CPT^ICPTCOD(X,$P($G(^SRF(SRTN,0)),"^",9)),SRCPT=$P(Y,"^",2),SRSHT=$P(Y,"^",3),CPT=SRCPT_" "_SRSHT
.W !,CNT_". "_OTHER,!,?5,"CPT Code: "_CPT S SRSEL(CNT)=OTH_"^"_OTHER_"^CPT Code: "_CPT_"^"_CPT1
.I CPT1,$O(^SRF(SRTN,13,OTH,"MOD",0)) D W " ("_SRX_")"
..S (SRCOMMA,SRI)=0,SRCMOD="",SRX="Modifiers: " F S SRI=$O(^SRF(SRTN,13,OTH,"MOD",SRI)) Q:'SRI D
...S SRM=$P(^SRF(SRTN,13,OTH,"MOD",SRI,0),"^"),SRCMOD=$P($$MOD^ICPTMOD(SRM,"I"),"^",2)
...S SRX=SRX_$S(SRCOMMA:",",1:"")_SRCMOD,SRCOMMA=1
. D OTHADXD^SROADX1
.S CNT=CNT+1
W !,CNT_". Enter NEW Other Procedure",! K DIR S DIR("A")="Enter selection",DIR(0)="NO^1:"_CNT D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q
Q:'Y S SRDA=Y W !! I SRDA<CNT D W @IOF G POTH
.N OTHCNT S OTHCNT=Y
.W @IOF,!,"Other Procedures:",!!,OTHCNT,"."
.W ?3,$P(SRSEL(SRDA),"^",2),!,?5,$P(SRSEL(SRDA),"^",3)
.S OTH=$P(SRSEL(SRDA),"^") K SRDES S CPT1=$P(SRSEL(SRDA),"^",4),X=$$CPTD^ICPTCOD(CPT1,"SRDES",,$P($G(^SRF(SRTN,0)),"^",9)) I $O(SRDES(0)) F I=1:1:X W !,?5,SRDES(I)
.K DA,DIE,DIR,DR W ! S DA=$P(SRSEL(SRDA),"^"),DA(1)=SRTN,DIE="^SRF(SRTN,13,",DR=".01;3" D ^DIE K DA,DIE,DR Q:$D(Y)
.D VOTHADX^SROADX
K DIR S DIR("A")="Enter new OTHER PROCEDURE",DIR(0)="130.16,.01" D ^DIR K DIR S SRNEW=Y I $D(DTOUT)!$D(DUOUT)!(Y="") D PH Q
K DD,DO S DIC="^SRF(SRTN,13,",X=SRNEW,DIC(0)="L",DIC("P")=$P(^DD(130,.42,0),"^",2) D FILE^DICN K DIC,DD,DO I +Y<0 D PH Q
K DA,DIE,DIR,DR S DA=+Y,DA(1)=SRTN,DIE="^SRF(SRTN,13,",DR="3" D ^DIE
D NOTHADX^SROADX K DA,DIE,DR Q:$D(Y)
PH W @IOF G POTH
Q
PRESS W ! K DIR S DIR("A")="Press RETURN to continue ",DIR(0)="FOA" D ^DIR K DIR
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROVER1 3291 printed Dec 13, 2024@02:46:34 Page 2
SROVER1 ;BIR/MAM - EDIT, VERIFICATION SCREEN ;[ 10/01/99 12:55 PM ]
+1 ;;3.0;Surgery;**18,67,88,127,119**;24 Jun 93
+2 SET SROVER=1
SET SRAO(1)=55
SET SRAO(2)=27
SET SRAO(3)=26
SET SRAO(4)=""
SET SRAO(5)=34
SET SRAO(6)=""
SET SRAO(7)=32
SET SRAO(8)=32.5
SET SRMSG="NO Assoc. DX ENTERED"
ASK WRITE !!,"Select Information to Edit: "
READ X:DTIME
IF '$TEST!("^"[X)
SET SRSOUT=1
QUIT
+1 if $EXTRACT(X)="a"
SET X="A"
IF '$DATA(SRAO(X))
IF (X'?.N1":".N)
IF ($EXTRACT(X)'="A")
DO HELP
if SRSOUT
QUIT
GOTO ASK
+2 IF $EXTRACT(X)="A"
SET X="1:8"
+3 IF X?.N1":".N
SET Y=$EXTRACT(X)
SET Z=$PIECE(X,":",2)
IF Y<1!(Z>8)!(Y>Z)
DO HELP
if SRSOUT
QUIT
GOTO ASK
+4 IF X?.N1":".N
DO RANGE
QUIT
+5 SET EMILY=X
DO ONE
QUIT
+6 QUIT
HELP WRITE !!,"Enter the number corresponding to the information you want to update. You may",!,"enter 'ALL' to update all the information displayed on this screen, or a"
+1 WRITE !,"range of numbers separated by a ':' to update more than one item."
+2 QUIT
RANGE ; range of numbers
+1 SET SHEMP=$PIECE(X,":")
SET CURLEY=$PIECE(X,":",2)
FOR EMILY=SHEMP:1:CURLEY
if SRSOUT
QUIT
DO ONE
+2 QUIT
ONE ; edit one item
+1 WRITE @IOF
IF EMILY=2
SET X=$PIECE(S("OP"),"^",2)
IF X
Begin DoDot:1
+2 SET SRY=$$CPT^ICPTCOD(X,$PIECE($GET(^SRF(SRTN,0)),"^",9))
SET Y=$PIECE(SRY,"^",2)
SET Z=$PIECE(SRY,"^",3)
+3 WRITE !," CPT Code: "_Y_" ",Z,!,?5,"Description:"
DO ^SROCPT
WRITE !
FOR I=1:1:80
WRITE "-"
End DoDot:1
WRITE !
+4 IF EMILY=4
DO POTH
QUIT
+5 IF EMILY=6
DO INTRA^SROCMPS
SET SRSOUT=0
QUIT
+6 WRITE !
KILL DR,DIE,DA
SET DIE=130
SET DA=SRTN
SET DR=SRAO(EMILY)_"T"
DO ^DIE
KILL DR,DIE
+7 IF EMILY=5
Begin DoDot:1
+8 if $$SCEC^SROVER3()
DO ASK^SROPCE1
KILL SRCL
+9 DO DOTH^SROVER3
IF $DATA(Y)
SET SRSOUT=0
End DoDot:1
+10 IF EMILY=2
IF $PIECE(S("OP"),"^",2)'=""
DO VASDX^SROADX
+11 QUIT
POTH WRITE !,"Other Procedures:",!
+1 NEW SRSHT
KILL SRSEL
SET CNT=1
SET OTH=0
FOR
SET OTH=$ORDER(^SRF(SRTN,13,OTH))
if 'OTH!(SRSOUT)
QUIT
Begin DoDot:1
+2 SET OTHER=$PIECE(^SRF(SRTN,13,OTH,0),"^")
SET X=$PIECE($GET(^SRF(SRTN,13,OTH,2)),"^")
SET CPT="NOT ENTERED"
SET CPT1=""
+3 IF X
SET CPT1=X
SET Y=$$CPT^ICPTCOD(X,$PIECE($GET(^SRF(SRTN,0)),"^",9))
SET SRCPT=$PIECE(Y,"^",2)
SET SRSHT=$PIECE(Y,"^",3)
SET CPT=SRCPT_" "_SRSHT
+4 WRITE !,CNT_". "_OTHER,!,?5,"CPT Code: "_CPT
SET SRSEL(CNT)=OTH_"^"_OTHER_"^CPT Code: "_CPT_"^"_CPT1
+5 IF CPT1
IF $ORDER(^SRF(SRTN,13,OTH,"MOD",0))
Begin DoDot:2
+6 SET (SRCOMMA,SRI)=0
SET SRCMOD=""
SET SRX="Modifiers: "
FOR
SET SRI=$ORDER(^SRF(SRTN,13,OTH,"MOD",SRI))
if 'SRI
QUIT
Begin DoDot:3
+7 SET SRM=$PIECE(^SRF(SRTN,13,OTH,"MOD",SRI,0),"^")
SET SRCMOD=$PIECE($$MOD^ICPTMOD(SRM,"I"),"^",2)
+8 SET SRX=SRX_$SELECT(SRCOMMA:",",1:"")_SRCMOD
SET SRCOMMA=1
End DoDot:3
End DoDot:2
WRITE " ("_SRX_")"
+9 DO OTHADXD^SROADX1
+10 SET CNT=CNT+1
End DoDot:1
+11 WRITE !,CNT_". Enter NEW Other Procedure",!
KILL DIR
SET DIR("A")="Enter selection"
SET DIR(0)="NO^1:"_CNT
DO ^DIR
IF $DATA(DTOUT)!$DATA(DUOUT)
SET SRSOUT=1
QUIT
+12 if 'Y
QUIT
SET SRDA=Y
WRITE !!
IF SRDA<CNT
Begin DoDot:1
+13 NEW OTHCNT
SET OTHCNT=Y
+14 WRITE @IOF,!,"Other Procedures:",!!,OTHCNT,"."
+15 WRITE ?3,$PIECE(SRSEL(SRDA),"^",2),!,?5,$PIECE(SRSEL(SRDA),"^",3)
+16 SET OTH=$PIECE(SRSEL(SRDA),"^")
KILL SRDES
SET CPT1=$PIECE(SRSEL(SRDA),"^",4)
SET X=$$CPTD^ICPTCOD(CPT1,"SRDES",,$PIECE($GET(^SRF(SRTN,0)),"^",9))
IF $ORDER(SRDES(0))
FOR I=1:1:X
WRITE !,?5,SRDES(I)
+17 KILL DA,DIE,DIR,DR
WRITE !
SET DA=$PIECE(SRSEL(SRDA),"^")
SET DA(1)=SRTN
SET DIE="^SRF(SRTN,13,"
SET DR=".01;3"
DO ^DIE
KILL DA,DIE,DR
if $DATA(Y)
QUIT
+18 DO VOTHADX^SROADX
End DoDot:1
WRITE @IOF
GOTO POTH
+19 KILL DIR
SET DIR("A")="Enter new OTHER PROCEDURE"
SET DIR(0)="130.16,.01"
DO ^DIR
KILL DIR
SET SRNEW=Y
IF $DATA(DTOUT)!$DATA(DUOUT)!(Y="")
DO PH
QUIT
+20 KILL DD,DO
SET DIC="^SRF(SRTN,13,"
SET X=SRNEW
SET DIC(0)="L"
SET DIC("P")=$PIECE(^DD(130,.42,0),"^",2)
DO FILE^DICN
KILL DIC,DD,DO
IF +Y<0
DO PH
QUIT
+21 KILL DA,DIE,DIR,DR
SET DA=+Y
SET DA(1)=SRTN
SET DIE="^SRF(SRTN,13,"
SET DR="3"
DO ^DIE
+22 DO NOTHADX^SROADX
KILL DA,DIE,DR
if $DATA(Y)
QUIT
PH WRITE @IOF
GOTO POTH
+1 QUIT
PRESS WRITE !
KILL DIR
SET DIR("A")="Press RETURN to continue "
SET DIR(0)="FOA"
DO ^DIR
KILL DIR
+1 QUIT