SROPPC ;B'HAM ISC/MAM - COMPARISON DIAGNOSIS REPORT ; [ 09/22/98 11:36 AM ]
;;3.0; Surgery ;**77,50**;24 Jun 93
CHK ; compare pre and postop diagnosis
Q:'$D(^SRF(K,.2)) I '$P(^SRF(K,.2),"^",12) Q
S SRTN=K K SRPRE,SRPOST I $D(^SRF(SRTN,33)) S SRPRE("*")=$P(^SRF(SRTN,33),"^"),SRPOST("*")=$P(^SRF(SRTN,34),"^")
S (SRDG,CNT)=0 F S SRDG=$O(^SRF(SRTN,14,SRDG)) Q:SRDG="" S CNT=CNT+1,SRPRE(CNT)=$P(^SRF(SRTN,14,SRDG,0),"^")
S (CNT,SRDG)=0 F S SRDG=$O(^SRF(SRTN,15,SRDG)) Q:SRDG="" S CNT=CNT+1,SRPOST(CNT)=$P(^SRF(SRTN,15,SRDG,0),"^")
S:'$D(SRPRE("*")) SRPRE("*")="" S:'$D(SRPOST("*")) SRPOST("*")="" I SRPRE("*")'=SRPOST("*") S SRF=1
Q
SET ; set variables
Q:SRPOST("*")=""!(SRPRE("*")="")
S S(0)=^SRF(K,0),SRTN=K,DFN=$P(S(0),"^") D DEM^VADPT S SRNM=VADM(1)
S SROD=$E($P(S(0),"^",9),4,5)_"/"_$E($P(S(0),"^",9),6,7)_"/"_$E($P(S(0),"^",9),2,3),SRWC=$S('$D(^SRF(K,"1.0")):"",1:$P(^("1.0"),"^",8))
S:$P(S(0),"^",4)'="" SRTS=$P(^SRO(137.45,$P(S(0),"^",4),0),"^")
S:'$D(SRTS) SRTS=""
PRINT ; print case
I $Y+5>IOSL D ASK Q:SRQ
I SRTS["(" S SRTS=$P(SRTS,"(")
W !,SROD,?10,SRNM,?42,SRPRE("*"),?84,SRPOST("*") W ?126,SRWC,!,SRTN,?10,VA("PID") W:$D(SRPRE(1)) ?42,SRPRE(1) W:$D(SRPOST(1)) ?84,SRPOST(1)
W !,?10,SRTS,! W:$D(SRPRE(2)) ?42,SRPRE(2) W:$D(SRPOST(2)) ?84,SRPOST(2)
Q
END W:$E(IOST)="P" @IOF I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q
D ^SRSKILL K SRTN D ^%ZISC W @IOF
Q
ASK I $E(IOST,1)'="P" W !!,"Press RETURN to continue or '^' to quit. " R X:DTIME I '$T!(X="^") S SRQ=1 Q
D HDR Q
HDR ; print heading
I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRQ=1 Q
W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,!,?58,"SURGICAL SERVICE",?100,"REVIEWED BY: ",!,?46,"COMPARISON OF PREOP AND POSTOP DIAGNOSIS",?100,"DATE REVIEWED: "
W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,SRPRINT
W !!,"DATE",?10,"PATIENT",?42,"PREOPERATIVE DIAGNOSIS",?84,"POSTOPERATIVE DIAGNOSIS",?121,"WOUND CLASS",!,"CASE #",?10,"ID #",!,?10,"SURGICAL SPECIALTY",! F I=1:1:IOM W "-"
Q
EN ; entry point
W @IOF,!,"Comparison of Preoperative and Postoperative Diagnosis",!
D DATE^SROUTL(.SRSD,.SRED,.SRQ) G:SRQ END
S SRD=SRSD-.0001
N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,U),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,U,2))
K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Print the Report on which Device: ",%ZIS="QM" W !!,"This report is designed to use a 132 column format.",! D ^%ZIS G:POP END
I $D(IO("Q")) K IO("Q") S ZTDESC="COMPARE DIAGNOSIS",ZTRTN="EN1^SROPPC",(ZTSAVE("SRED"),ZTSAVE("SRSD"),ZTSAVE("SRINST"),ZTSAVE("SRINSTP"),ZTSAVE("SRD"))="" D ^%ZTLOAD G END
EN1 ; entry when queued
U IO N SRFRTO S (SRT,SRQ)=0,J=SRD,Y=SRSD X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: ",Y=SRED X ^DD("DD") S SRFRTO=SRFRTO_Y,Y=DT X ^DD("DD") S SRPRINT="DATE PRINTED: "_Y
D HDR F S J=$O(^SRF("AC",J)) Q:'J!(J>(SRED+.9999))!SRQ S K=0 F S K=$O(^SRF("AC",J,K)) Q:'K!SRQ I $D(^SRF(K,0)),$$MANDIV^SROUTL0(SRINSTP,K) S SRF=0 D CHK I SRF S SRT=SRT+1 D SET
I 'SRT W !!,"No data for selected date range."
G:SRQ END F Z=$Y:1:(IOSL-10) W !
W ! F I=1:1:IOM W "-"
W !,"WOUND CLASSIFICATION CODES: ",!,"C: CLEAN, CC: CLEAN/CONTAMINATED, D: CONTAMINATED, I: INFECTED"
I $E(IOST)'="P",'SRQ W !!,"Press RETURN to continue " R X:DTIME
G END
SROPPC ;B'HAM ISC/MAM - COMPARISON DIAGNOSIS REPORT ; [ 09/22/98 11:36 AM ]
+1 ;;3.0; Surgery ;**77,50**;24 Jun 93
CHK ; compare pre and postop diagnosis
+1 IF '$DATA(^SRF(K,.2))
QUIT
IF '$PIECE(^SRF(K,.2),"^",12)
QUIT
+2 SET SRTN=K
KILL SRPRE,SRPOST
IF $DATA(^SRF(SRTN,33))
SET SRPRE("*")=$PIECE(^SRF(SRTN,33),"^")
SET SRPOST("*")=$PIECE(^SRF(SRTN,34),"^")
+3 SET (SRDG,CNT)=0
FOR
SET SRDG=$ORDER(^SRF(SRTN,14,SRDG))
IF SRDG=""
QUIT
SET CNT=CNT+1
SET SRPRE(CNT)=$PIECE(^SRF(SRTN,14,SRDG,0),"^")
+4 SET (CNT,SRDG)=0
FOR
SET SRDG=$ORDER(^SRF(SRTN,15,SRDG))
IF SRDG=""
QUIT
SET CNT=CNT+1
SET SRPOST(CNT)=$PIECE(^SRF(SRTN,15,SRDG,0),"^")
+5 IF '$DATA(SRPRE("*"))
SET SRPRE("*")=""
IF '$DATA(SRPOST("*"))
SET SRPOST("*")=""
IF SRPRE("*")'=SRPOST("*")
SET SRF=1
+6 QUIT
SET ; set variables
+1 IF SRPOST("*")=""!(SRPRE("*")="")
QUIT
+2 SET S(0)=^SRF(K,0)
SET SRTN=K
SET DFN=$PIECE(S(0),"^")
DO DEM^VADPT
SET SRNM=VADM(1)
+3 SET SROD=$EXTRACT($PIECE(S(0),"^",9),4,5)_"/"_$EXTRACT($PIECE(S(0),"^",9),6,7)_"/"_$EXTRACT($PIECE(S(0),"^",9),2,3)
SET SRWC=$SELECT('$DATA(^SRF(K,"1.0")):"",1:$PIECE(^("1.0"),"^",8))
+4 IF $PIECE(S(0),"^",4)'=""
SET SRTS=$PIECE(^SRO(137.45,$PIECE(S(0),"^",4),0),"^")
+5 IF '$DATA(SRTS)
SET SRTS=""
PRINT ; print case
+1 IF $Y+5>IOSL
DO ASK
IF SRQ
QUIT
+2 IF SRTS["("
SET SRTS=$PIECE(SRTS,"(")
+3 WRITE !,SROD,?10,SRNM,?42,SRPRE("*"),?84,SRPOST("*")
WRITE ?126,SRWC,!,SRTN,?10,VA("PID")
IF $DATA(SRPRE(1))
WRITE ?42,SRPRE(1)
IF $DATA(SRPOST(1))
WRITE ?84,SRPOST(1)
+4 WRITE !,?10,SRTS,!
IF $DATA(SRPRE(2))
WRITE ?42,SRPRE(2)
IF $DATA(SRPOST(2))
WRITE ?84,SRPOST(2)
+5 QUIT
END IF $EXTRACT(IOST)="P"
WRITE @IOF
IF $DATA(ZTQUEUED)
IF $GET(ZTSTOP)
QUIT
SET ZTREQ="@"
QUIT
+1 DO ^SRSKILL
KILL SRTN
DO ^%ZISC
WRITE @IOF
+2 QUIT
ASK IF $EXTRACT(IOST,1)'="P"
WRITE !!,"Press RETURN to continue or '^' to quit. "
READ X:DTIME
IF '$TEST!(X="^")
SET SRQ=1
QUIT
+1 DO HDR
QUIT
HDR ; print heading
+1 IF $DATA(ZTQUEUED)
DO ^SROSTOP
IF SRHALT
SET SRQ=1
QUIT
+2 IF $Y
WRITE @IOF
WRITE !,?(132-$LENGTH(SRINST)\2),SRINST,!,?58,"SURGICAL SERVICE",?100,"REVIEWED BY: ",!,?46,"COMPARISON OF PREOP AND POSTOP DIAGNOSIS",?100,"DATE REVIEWED: "
+3 WRITE !,?(132-$LENGTH(SRFRTO)\2),SRFRTO,?100,SRPRINT
+4 WRITE !!,"DATE",?10,"PATIENT",?42,"PREOPERATIVE DIAGNOSIS",?84,"POSTOPERATIVE DIAGNOSIS",?121,"WOUND CLASS",!,"CASE #",?10,"ID #",!,?10,"SURGICAL SPECIALTY",!
FOR I=1:1:IOM
WRITE "-"
+5 QUIT
EN ; entry point
+1 WRITE @IOF,!,"Comparison of Preoperative and Postoperative Diagnosis",!
+2 DO DATE^SROUTL(.SRSD,.SRED,.SRQ)
IF SRQ
GOTO END
+3 SET SRD=SRSD-.0001
+4 NEW SRINSTP
SET SRINST=$$INST^SROUTL0()
IF SRINST="^"
GOTO END
SET SRINSTP=$PIECE(SRINST,U)
SET SRINST=$SELECT(SRINST["ALL DIVISIONS":SRINST,1:$PIECE(SRINST,U,2))
+5 KILL IOP,%ZIS,POP,IO("Q")
SET %ZIS("A")="Print the Report on which Device: "
SET %ZIS="QM"
WRITE !!,"This report is designed to use a 132 column format.",!
DO ^%ZIS
IF POP
GOTO END
+6 IF $DATA(IO("Q"))
KILL IO("Q")
SET ZTDESC="COMPARE DIAGNOSIS"
SET ZTRTN="EN1^SROPPC"
SET (ZTSAVE("SRED"),ZTSAVE("SRSD"),ZTSAVE("SRINST"),ZTSAVE("SRINSTP"),ZTSAVE("SRD"))=""
DO ^%ZTLOAD
GOTO END
EN1 ; entry when queued
+1 USE IO
NEW SRFRTO
SET (SRT,SRQ)=0
SET J=SRD
SET Y=SRSD
XECUTE ^DD("DD")
SET SRFRTO="FROM: "_Y_" TO: "
SET Y=SRED
XECUTE ^DD("DD")
SET SRFRTO=SRFRTO_Y
SET Y=DT
XECUTE ^DD("DD")
SET SRPRINT="DATE PRINTED: "_Y
+2 DO HDR
FOR
SET J=$ORDER(^SRF("AC",J))
IF 'J!(J>(SRED+.9999))!SRQ
QUIT
SET K=0
FOR
SET K=$ORDER(^SRF("AC",J,K))
IF 'K!SRQ
QUIT
IF $DATA(^SRF(K,0))
IF $$MANDIV^SROUTL0(SRINSTP,K)
SET SRF=0
DO CHK
IF SRF
SET SRT=SRT+1
DO SET
+3 IF 'SRT
WRITE !!,"No data for selected date range."
+4 IF SRQ
GOTO END
FOR Z=$Y:1:(IOSL-10)
WRITE !
+5 WRITE !
FOR I=1:1:IOM
WRITE "-"
+6 WRITE !,"WOUND CLASSIFICATION CODES: ",!,"C: CLEAN, CC: CLEAN/CONTAMINATED, D: CONTAMINATED, I: INFECTED"
+7 IF $EXTRACT(IOST)'="P"
IF 'SRQ
WRITE !!,"Press RETURN to continue "
READ X:DTIME
+8 GOTO END