SROUNV1 ;B'HAM ISC/MAM - UNVERIFIED CASES (1 SPECIALTY) ; [ 07/27/98 2:33 PM ]
;;3.0; Surgery ;**50**;24 Jun 93
U IO S SRSOUT=0 K ^TMP("SR",$J) S SRSDT=SDATE-.0001,SRSEDT=EDATE+.9999
F S SRSDT=$O(^SRF("AC",SRSDT)) Q:'SRSDT!(SRSDT>SRSEDT) S SRTN=0 F S SRTN=$O(^SRF("AC",SRSDT,SRTN)) Q:'SRTN I $D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTIL
S SRHDR=0 D HDR S SRHDR=1,SRSDT=0 F S SRSDT=$O(^TMP("SR",$J,SRSDT)) Q:'SRSDT!(SRSOUT) S SRTN=0 F S SRTN=$O(^TMP("SR",$J,SRSDT,SRTN)) Q:'SRTN!(SRSOUT) K SR,SROP D SET
I '$D(^TMP("SR",$J)) W !!,"No data for selected date range."
Q
SET ; set variables & print info
I $Y+8>IOSL D HDR I SRSOUT Q
S SR(0)=^SRF(SRTN,0),DFN=$P(SR(0),"^") D DEM^VADPT S SRSNM=VADM(1),Y=$P(SR(0),"^",9) D D^DIQ S SRSDATE=$E(Y,1,12)
S SRSSN=VA("PID")
S SROPER=$P(^SRF(SRTN,"OP"),"^"),SRCPT=$P(^("OP"),"^",2) I SRCPT="" S SROPER=SROPER_" * CPT CODE MISSING *"
S SR(.1)=$S($D(^SRF(SRTN,.1)):^(.1),1:"")
S SRSUR=$P(SR(.1),"^",4) S:SRSUR="" SRSUR="NOT ENTERED" I SRSUR S SRSUR=$P(^VA(200,SRSUR,0),"^") I $L(SRSUR)>19 S SRSUR=$P(SRSUR,",")_", "_$E($P(SRSUR,",",2))
S SRATT=$P(SR(.1),"^",13) S:SRATT="" SRATT="NOT ENTERED" I SRATT S SRATT=$P(^VA(200,SRATT,0),"^") I $L(SRATT)>19 S SRATT=$P(SRATT,",")_", "_$E($P(SRATT,",",2))
W !,SRSDATE,?20,SRSNM_" ("_SRTN_")",?60,SRSUR,!,?20,VA("PID"),?60,SRATT,!
K SROPS,MM,MMM S:$L(SROPER)<60 SROPS(1)=SROPER I $L(SROPER)>59 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM=""
W !,?20,SROPS(1) I $D(SROPS(2)) W !,?20,SROPS(2) I $D(SROPS(3)) W !,?20,SROPS(3)
W ! F LINE=1:1:80 W "-"
Q
UTIL ; set ^TMP("SR",$J)
I $P($G(^SRF(SRTN,"VER")),"^")="Y" Q
Q:'$D(^SRF(SRTN,.2)) S SR(.2)=^SRF(SRTN,.2) I $P(SR(.2),"^",12)="" Q
I $D(^SRF(SRTN,31)),$P(^(31),"^",8)'="" Q
I $D(^SRF(SRTN,30)),$P(^(30),"^")'="" Q
I $P(^SRF(SRTN,0),"^",4)'=SRSPEC Q
S ^TMP("SR",$J,SRSDT,SRTN)=""
Q
HDR ; print heading
I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
I SRHDR,$E(IOST)'="P" W !!,"Press RETURN to continue, or '^' to quit. " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
W:$Y @IOF W !,?5,"List of Unverified Cases for "_SRSPECN,!!,"Operation Date",?20,"Patient (Case #)",?60,"Surgeon",!,?20,"Patient ID #",?60,"Attending Surgeon",! F LINE=1:1:80 W "="
Q
LOOP ; break procedure if greater than 59 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)'<60 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROUNV1 2447 printed Dec 13, 2024@02:46:23 Page 2
SROUNV1 ;B'HAM ISC/MAM - UNVERIFIED CASES (1 SPECIALTY) ; [ 07/27/98 2:33 PM ]
+1 ;;3.0; Surgery ;**50**;24 Jun 93
+2 USE IO
SET SRSOUT=0
KILL ^TMP("SR",$JOB)
SET SRSDT=SDATE-.0001
SET SRSEDT=EDATE+.9999
+3 FOR
SET SRSDT=$ORDER(^SRF("AC",SRSDT))
if 'SRSDT!(SRSDT>SRSEDT)
QUIT
SET SRTN=0
FOR
SET SRTN=$ORDER(^SRF("AC",SRSDT,SRTN))
if 'SRTN
QUIT
IF $DATA(^SRF(SRTN,0))
IF $$MANDIV^SROUTL0(SRINSTP,SRTN)
DO UTIL
+4 SET SRHDR=0
DO HDR
SET SRHDR=1
SET SRSDT=0
FOR
SET SRSDT=$ORDER(^TMP("SR",$JOB,SRSDT))
if 'SRSDT!(SRSOUT)
QUIT
SET SRTN=0
FOR
SET SRTN=$ORDER(^TMP("SR",$JOB,SRSDT,SRTN))
if 'SRTN!(SRSOUT)
QUIT
KILL SR,SROP
DO SET
+5 IF '$DATA(^TMP("SR",$JOB))
WRITE !!,"No data for selected date range."
+6 QUIT
SET ; set variables & print info
+1 IF $Y+8>IOSL
DO HDR
IF SRSOUT
QUIT
+2 SET SR(0)=^SRF(SRTN,0)
SET DFN=$PIECE(SR(0),"^")
DO DEM^VADPT
SET SRSNM=VADM(1)
SET Y=$PIECE(SR(0),"^",9)
DO D^DIQ
SET SRSDATE=$EXTRACT(Y,1,12)
+3 SET SRSSN=VA("PID")
+4 SET SROPER=$PIECE(^SRF(SRTN,"OP"),"^")
SET SRCPT=$PIECE(^("OP"),"^",2)
IF SRCPT=""
SET SROPER=SROPER_" * CPT CODE MISSING *"
+5 SET SR(.1)=$SELECT($DATA(^SRF(SRTN,.1)):^(.1),1:"")
+6 SET SRSUR=$PIECE(SR(.1),"^",4)
if SRSUR=""
SET SRSUR="NOT ENTERED"
IF SRSUR
SET SRSUR=$PIECE(^VA(200,SRSUR,0),"^")
IF $LENGTH(SRSUR)>19
SET SRSUR=$PIECE(SRSUR,",")_", "_$EXTRACT($PIECE(SRSUR,",",2))
+7 SET SRATT=$PIECE(SR(.1),"^",13)
if SRATT=""
SET SRATT="NOT ENTERED"
IF SRATT
SET SRATT=$PIECE(^VA(200,SRATT,0),"^")
IF $LENGTH(SRATT)>19
SET SRATT=$PIECE(SRATT,",")_", "_$EXTRACT($PIECE(SRATT,",",2))
+8 WRITE !,SRSDATE,?20,SRSNM_" ("_SRTN_")",?60,SRSUR,!,?20,VA("PID"),?60,SRATT,!
+9 KILL SROPS,MM,MMM
if $LENGTH(SROPER)<60
SET SROPS(1)=SROPER
IF $LENGTH(SROPER)>59
SET SROPER=SROPER_" "
FOR M=1:1
DO LOOP
if MMM=""
QUIT
+10 WRITE !,?20,SROPS(1)
IF $DATA(SROPS(2))
WRITE !,?20,SROPS(2)
IF $DATA(SROPS(3))
WRITE !,?20,SROPS(3)
+11 WRITE !
FOR LINE=1:1:80
WRITE "-"
+12 QUIT
UTIL ; set ^TMP("SR",$J)
+1 IF $PIECE($GET(^SRF(SRTN,"VER")),"^")="Y"
QUIT
+2 if '$DATA(^SRF(SRTN,.2))
QUIT
SET SR(.2)=^SRF(SRTN,.2)
IF $PIECE(SR(.2),"^",12)=""
QUIT
+3 IF $DATA(^SRF(SRTN,31))
IF $PIECE(^(31),"^",8)'=""
QUIT
+4 IF $DATA(^SRF(SRTN,30))
IF $PIECE(^(30),"^")'=""
QUIT
+5 IF $PIECE(^SRF(SRTN,0),"^",4)'=SRSPEC
QUIT
+6 SET ^TMP("SR",$JOB,SRSDT,SRTN)=""
+7 QUIT
HDR ; print heading
+1 IF $DATA(ZTQUEUED)
DO ^SROSTOP
IF SRHALT
SET SRSOUT=1
QUIT
+2 IF SRHDR
IF $EXTRACT(IOST)'="P"
WRITE !!,"Press RETURN to continue, or '^' to quit. "
READ X:DTIME
IF '$TEST!(X["^")
SET SRSOUT=1
QUIT
+3 if $Y
WRITE @IOF
WRITE !,?5,"List of Unverified Cases for "_SRSPECN,!!,"Operation Date",?20,"Patient (Case #)",?60,"Surgeon",!,?20,"Patient ID #",?60,"Attending Surgeon",!
FOR LINE=1:1:80
WRITE "="
+4 QUIT
LOOP ; break procedure if greater than 59 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)'<60
QUIT
SET SROPS(M)=SROPS(M)_MM_" "
SET SROPER=MMM
+2 QUIT