SDWLAHRC ;;IOFO BAY PINES/TEH - EWL REPORT - COMPILE;06/12/2002 ; 20 Aug 2002 2:10 PM
;;5.3;scheduling;**419,1015**;AUG 13 1993;Build 21
;
;
;
;
;
;
;
;
;
;=====================================================================================
; NOTES
;=====================================================================================
;
;
;
;
;
Q
COM ;START OF COMPILE - GET FIRST SORT
N %H,DA
S (SDWL0,SDWL1,SDWL2,SDWL3,SDWL4)="" K SDWLST
F S SDWL0=$O(^XTMP("SDWLAHR",SDWLJOB,SDWL0)) Q:SDWL0<1 D
.F S SDWL1=$O(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1)) Q:SDWL1="" D
..S SDWLTY=""
..I SDWL1["DAT" S SDWLTY="DAT"
..I SDWL1["NUM" S SDWLTY="NUM"
..I SDWL1["FT" S SDWLTY="FT"
..I SDWL1["RS" S SDWLTY="RS"
..I SDWL1["PRT" S SDWLTY="PRT"
..I SDWL1["ANM" S SDWLTY="ANM"
..I SDWLTY="" S SDWLTY="ERR"
..F S SDWL2=$O(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2)) Q:SDWL2="" D
...F S SDWL3=$O(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3)) Q:SDWL3="" D
....S SDWLX=$G(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3))
....I SDWLTY["FT" S SDWL4="" F S SDWL4=$O(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4)) Q:SDWL4="" D
.....S SDWLX=$G(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4))
....S SDWLST(SDWL0,SDWL2,SDWLX,SDWL1)=""
D CHK
D PRT
K PG,S,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4,SDWLA,SDWLBDT,SDWLEDT,SDWLIEN,SDWLIENS,SDWLJOB,SDWLMN,SDWLMX,SDWLNM,SDWLOK
K SDWLR,SDWLTY,X,Y
Q
CHK ;GET SORT LOGICAL
S SDWLIEN=0 F S SDWLIEN=$O(^SDWL(409.3,SDWLIEN)) Q:SDWLIEN<1 D D SET1
.S (SDWL0,SDWL1,SDWL2,SDWL3)=""
.F S SDWL0=$O(SDWLST(SDWL0)) Q:SDWL0<1 D
..S SDWLOK(SDWL0)=0
..F S SDWL1=$O(SDWLST(SDWL0,SDWL1)) Q:SDWL1="" D
...F S SDWL2=$O(SDWLST(SDWL0,SDWL1,SDWL2)) Q:SDWL2="" D
....F S SDWL3=$O(SDWLST(SDWL0,SDWL1,SDWL2,SDWL3)) Q:SDWL3="" D
.....S SDWLNM="ZZ",SDWLTY=$S(SDWL3["PRT":"PRT",SDWL3["DAT":"DAT",SDWL3["RS":"RS",SDWL3["FT":"FT",SDWL3["NUM":"NUM",SDWL3["ANM":"ANM",1:"") D CHK1
Q
CHK1 ;CHECK EWL PATIENT FILE
I $D(SDWLTY),SDWLTY="FT" D Q
.S SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I") D
..I X[SDWL2 S SDWLOK(SDWL0)=1
I $D(SDWLTY),SDWLTY="NUM" D Q
.S SDWLNM=$P(SDWL2,U),SDWLMX=$P(SDWL2,U,2),SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I") D
..I X'<SDWLMN&(X'>SDWLMX) S SDWLOK(SDWL0)=1
I $D(SDWLTY),SDWLTY="DAT" D Q
.S SDWLBDT=$P(SDWL2,U),SDWLEDT=$P(SDWL2,U,2),SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I") D
..I X'<SDWLBDT&(X'>SDWLEDT) S SDWLOK(SDWL0)=1
I $D(SDWLTY),SDWLTY="RS" D Q
.S SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I") I SDWL2=X S SDWLOK(SDWL0)=1
I $D(SDWLTY),SDWLTY="PRT" D Q
.S SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I") I SDWL2=X S SDWLOK(SDWL0)=1
I $D(SDWLTY),SDWLTY="ANM" D Q
.S SDWLIENS=SDWLIEN_",",X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I"),SDWLNM=$$GET1^DIQ(2,X_",","NAME","I") S SDWLOK(SDWL0)=1
Q
SET1 ;
S SDWLR=0,SDWLOK=1 F S SDWLR=$O(SDWLOK(SDWLR)) Q:SDWLR<1 D
.S S=SDWLOK(SDWLR) I 'S S SDWLOK=0
I SDWLOK S ^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM,SDWLIEN)="",SDWL4=SDWL4+1
Q
PRT S PG=0 D HD
S SDWLA=0,SDWLNM="" K SDWLSTOP
F S SDWLNM=$O(^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM)) G END:$$S^ZTLOAD Q:SDWLNM="" D I $D(SDWLSTOP),'SDWLSTOP G END
.F S SDWLA=$O(^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM,SDWLA)) G END:$$S^%ZTLOAD Q:SDWLA<1 D I $D(SDWLSTOP),'SDWLSTOP G END
..S DIC="^SDWL(409.3,",DA=SDWLA,DR=":" D EN^DIQ
..I $Y>(IOSL-5) D:IOST["C-"
...S DIR(0)="Y",DIR("A")="Do You Wish to Continue",DIR("B")="YES" D ^DIR D I Y D HD Q
...S SDWLSTOP=Y
Q
HD W:$D(IOF) @IOF
W !!,?80-$L("EWL CUSTOM AD HOC REPORT")\2,"EWL CUSTOM AD HOC REPORT",?65 S PG=PG+1 W "PAGE: ",PG,!
S %H=+$H D YX^%DTC W ?80-$L(Y)\2,Y,!!
Q
END ;
K DIR,DIC,DR,DIE,SDWLERR,SDWLF,SDWLX,SDLFD,SDWLCTX,SDWLDAT,SDWLPROM,SDWLINST,SDWLI,SDWLTAG,SDWLY
Q
SDWLAHRC ;;IOFO BAY PINES/TEH - EWL REPORT - COMPILE;06/12/2002 ; 20 Aug 2002 2:10 PM
+1 ;;5.3;scheduling;**419,1015**;AUG 13 1993;Build 21
+2 ;
+3 ;
+4 ;
+5 ;
+6 ;
+7 ;
+8 ;
+9 ;
+10 ;
+11 ;=====================================================================================
+12 ; NOTES
+13 ;=====================================================================================
+14 ;
+15 ;
+16 ;
+17 ;
+18 ;
+19 QUIT
COM ;START OF COMPILE - GET FIRST SORT
+1 NEW %H,DA
+2 SET (SDWL0,SDWL1,SDWL2,SDWL3,SDWL4)=""
KILL SDWLST
+3 FOR
SET SDWL0=$ORDER(^XTMP("SDWLAHR",SDWLJOB,SDWL0))
IF SDWL0<1
QUIT
Begin DoDot:1
+4 FOR
SET SDWL1=$ORDER(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1))
IF SDWL1=""
QUIT
Begin DoDot:2
+5 SET SDWLTY=""
+6 IF SDWL1["DAT"
SET SDWLTY="DAT"
+7 IF SDWL1["NUM"
SET SDWLTY="NUM"
+8 IF SDWL1["FT"
SET SDWLTY="FT"
+9 IF SDWL1["RS"
SET SDWLTY="RS"
+10 IF SDWL1["PRT"
SET SDWLTY="PRT"
+11 IF SDWL1["ANM"
SET SDWLTY="ANM"
+12 IF SDWLTY=""
SET SDWLTY="ERR"
+13 FOR
SET SDWL2=$ORDER(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2))
IF SDWL2=""
QUIT
Begin DoDot:3
+14 FOR
SET SDWL3=$ORDER(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3))
IF SDWL3=""
QUIT
Begin DoDot:4
+15 SET SDWLX=$GET(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3))
+16 IF SDWLTY["FT"
SET SDWL4=""
FOR
SET SDWL4=$ORDER(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4))
IF SDWL4=""
QUIT
Begin DoDot:5
+17 SET SDWLX=$GET(^XTMP("SDWLAHR",SDWLJOB,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4))
End DoDot:5
+18 SET SDWLST(SDWL0,SDWL2,SDWLX,SDWL1)=""
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+19 DO CHK
+20 DO PRT
+21 KILL PG,S,SDWL0,SDWL1,SDWL2,SDWL3,SDWL4,SDWLA,SDWLBDT,SDWLEDT,SDWLIEN,SDWLIENS,SDWLJOB,SDWLMN,SDWLMX,SDWLNM,SDWLOK
+22 KILL SDWLR,SDWLTY,X,Y
+23 QUIT
CHK ;GET SORT LOGICAL
+1 SET SDWLIEN=0
FOR
SET SDWLIEN=$ORDER(^SDWL(409.3,SDWLIEN))
IF SDWLIEN<1
QUIT
Begin DoDot:1
+2 SET (SDWL0,SDWL1,SDWL2,SDWL3)=""
+3 FOR
SET SDWL0=$ORDER(SDWLST(SDWL0))
IF SDWL0<1
QUIT
Begin DoDot:2
+4 SET SDWLOK(SDWL0)=0
+5 FOR
SET SDWL1=$ORDER(SDWLST(SDWL0,SDWL1))
IF SDWL1=""
QUIT
Begin DoDot:3
+6 FOR
SET SDWL2=$ORDER(SDWLST(SDWL0,SDWL1,SDWL2))
IF SDWL2=""
QUIT
Begin DoDot:4
+7 FOR
SET SDWL3=$ORDER(SDWLST(SDWL0,SDWL1,SDWL2,SDWL3))
IF SDWL3=""
QUIT
Begin DoDot:5
+8 SET SDWLNM="ZZ"
SET SDWLTY=$SELECT(SDWL3["PRT":"PRT",SDWL3["DAT":"DAT",SDWL3["RS":"RS",SDWL3["FT":"FT",SDWL3["NUM":"NUM",SDWL3["ANM":"ANM",1:"")
DO CHK1
End DoDot:5
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
DO SET1
+9 QUIT
CHK1 ;CHECK EWL PATIENT FILE
+1 IF $DATA(SDWLTY)
IF SDWLTY="FT"
Begin DoDot:1
+2 SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
Begin DoDot:2
+3 IF X[SDWL2
SET SDWLOK(SDWL0)=1
End DoDot:2
End DoDot:1
QUIT
+4 IF $DATA(SDWLTY)
IF SDWLTY="NUM"
Begin DoDot:1
+5 SET SDWLNM=$PIECE(SDWL2,U)
SET SDWLMX=$PIECE(SDWL2,U,2)
SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
Begin DoDot:2
+6 IF X'<SDWLMN&(X'>SDWLMX)
SET SDWLOK(SDWL0)=1
End DoDot:2
End DoDot:1
QUIT
+7 IF $DATA(SDWLTY)
IF SDWLTY="DAT"
Begin DoDot:1
+8 SET SDWLBDT=$PIECE(SDWL2,U)
SET SDWLEDT=$PIECE(SDWL2,U,2)
SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
Begin DoDot:2
+9 IF X'<SDWLBDT&(X'>SDWLEDT)
SET SDWLOK(SDWL0)=1
End DoDot:2
End DoDot:1
QUIT
+10 IF $DATA(SDWLTY)
IF SDWLTY="RS"
Begin DoDot:1
+11 SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
IF SDWL2=X
SET SDWLOK(SDWL0)=1
End DoDot:1
QUIT
+12 IF $DATA(SDWLTY)
IF SDWLTY="PRT"
Begin DoDot:1
+13 SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
IF SDWL2=X
SET SDWLOK(SDWL0)=1
End DoDot:1
QUIT
+14 IF $DATA(SDWLTY)
IF SDWLTY="ANM"
Begin DoDot:1
+15 SET SDWLIENS=SDWLIEN_","
SET X=$$GET1^DIQ(409.3,SDWLIENS,SDWL1,"I")
SET SDWLNM=$$GET1^DIQ(2,X_",","NAME","I")
SET SDWLOK(SDWL0)=1
End DoDot:1
QUIT
+16 QUIT
SET1 ;
+1 SET SDWLR=0
SET SDWLOK=1
FOR
SET SDWLR=$ORDER(SDWLOK(SDWLR))
IF SDWLR<1
QUIT
Begin DoDot:1
+2 SET S=SDWLOK(SDWLR)
IF 'S
SET SDWLOK=0
End DoDot:1
+3 IF SDWLOK
SET ^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM,SDWLIEN)=""
SET SDWL4=SDWL4+1
+4 QUIT
PRT SET PG=0
DO HD
+1 SET SDWLA=0
SET SDWLNM=""
KILL SDWLSTOP
+2 FOR
SET SDWLNM=$ORDER(^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM))
IF $$S^ZTLOAD
GOTO END
IF SDWLNM=""
QUIT
Begin DoDot:1
+3 FOR
SET SDWLA=$ORDER(^XTMP("SDWLAHR",SDWLJOB,"LIST",SDWLNM,SDWLA))
IF $$S^%ZTLOAD
GOTO END
IF SDWLA<1
QUIT
Begin DoDot:2
+4 SET DIC="^SDWL(409.3,"
SET DA=SDWLA
SET DR=":"
DO EN^DIQ
+5 IF $Y>(IOSL-5)
IF IOST["C-"
Begin DoDot:3
+6 SET DIR(0)="Y"
SET DIR("A")="Do You Wish to Continue"
SET DIR("B")="YES"
DO ^DIR
Begin DoDot:4
End DoDot:4
IF Y
DO HD
QUIT
+7 SET SDWLSTOP=Y
End DoDot:3
End DoDot:2
IF $DATA(SDWLSTOP)
IF 'SDWLSTOP
GOTO END
End DoDot:1
IF $DATA(SDWLSTOP)
IF 'SDWLSTOP
GOTO END
+8 QUIT
HD IF $DATA(IOF)
WRITE @IOF
+1 WRITE !!,?80-$LENGTH("EWL CUSTOM AD HOC REPORT")\2,"EWL CUSTOM AD HOC REPORT",?65
SET PG=PG+1
WRITE "PAGE: ",PG,!
+2 SET %H=+$HOROLOG
DO YX^%DTC
WRITE ?80-$LENGTH(Y)\2,Y,!!
+3 QUIT
END ;
+1 KILL DIR,DIC,DR,DIE,SDWLERR,SDWLF,SDWLX,SDLFD,SDWLCTX,SDWLDAT,SDWLPROM,SDWLINST,SDWLI,SDWLTAG,SDWLY
+2 QUIT