SDWLE111 ;;IOFO BAY PINES/TEH - WAITING LIST-ENTER/EDIT - WAIT LIST TYPE/INSTUTITION;20 Aug 2002
;;5.3;scheduling;**263,273,280,394,417,485,1015**;AUG 13 1993;Build 21
;
;
;
;******************************************************************
; CHANGE LOG
;
; DATE PATCH DESCRIPTION
; ---- ----- -----------
;10/01/2002 263 Logical Order Change
;12/02/2002 273 line EN2+19 add '/'
;12/10/2004 SD*5.3*394 Add Service Connection prompts
;01/11/2005 417 Permit MultiplePanels
;02/16/2005 417 New logic for WAIT LIST TYPE Prompt. See Table in Release Notes.
;
;ASK WAIT LIST TYPE
;
EN ;
N SDWLPRP S (SDWLFLG,SDWLPRP)=0
D GETTM
I 'SDWLTEM S SDWLPRP=1
I SDWLTEM,'SDWLPOS S SDWLPRP=0
I $D(SDWLTY) W !,"Wait List Type: ",$$EXTERNAL^DILFD(409.3,4,,SDWLTY) W "// (No Editing)" S SDWLTYE=SDWLTY G EN10
;10/01/2002 - TEH
EN0 ;
I 'SDWLPRP D
.S DIR(0)="SO^1:PCMM TEAM ASSIGNMENT;2:PCMM POSITION ASSIGNMENT;3:SERVICE/SPECIALTY;4:SPECIFIC CLINIC"
.S DIR("L",1)=" Select Wait List Type: "
.S DIR("L",2)=""
.S DIR("L",3)=" 1. PCMM TEAM ASSIGNMENT"
.S DIR("L",4)=" 2. PCMM POSITION ASSIGNMENT"
.S DIR("L",5)=" 3. SERVICE/SPECIALTY"
.S DIR("L")=" 4. SPECIFIC CLINIC"
.S SDWLFLG=1
G EN9:SDWLFLG
EN1 I SDWLPRP D
.S DIR(0)="SO^1:PCMM TEAM ASSIGNMENT;2:SERVICE/SPECIALTY;3:SPECIFIC CLINIC"
.S DIR("L",1)=" Select Wait List Type: "
.S DIR("L",2)=""
.S DIR("L",3)=" 1. PCMM TEAM ASSIGNMENT"
.S DIR("L",4)=" 2. SERVICE/SPECIALTY"
.S DIR("L")=" 3. SPECIFIC CLINIC"
.S SDWLFLG=0
EN9 D ^DIR I X="" W " Required or '^' to Quit" G EN
I $D(DUOUT) S SDWLERR=1 G END
S SDWLTYE=+Y I 'SDWLFLG D
.S SDWLTYE=$S(+Y=1:1,+Y=2:3,+Y=3:4,1:0)
I 'SDWLTYE W " Invalid Entry." G EN
S DIE="^SDWL(409.3,",DR="4///^S X=SDWLTYE" D ^DIE
;
EN10 ;SERVICE CONNECTION - SD*5.3*394
;
D ^SDWLSC
;
;ASK INSTITUTION (FILE 4)
;
I SDWLTYE=2,$D(SDWLCPT),SDWLCPT S (SDWLINE,SDWLIN)=$P($G(^SCTM(404.51,+SDWLCPT,0)),U,7) G END
I SDWLTYE=2 S SDWLI=0 F S SDWLI=$O(^SCTM(404.57,SDWLI)) Q:SDWLI<1 D G END
.S SDWLL=+$P($G(^SCTM(404.57,SDWLI,0)),U,2),SDWLINL=+$P($G(^SCTM(404.51,+SDWLL,0)),U,7),SDWLINL(+SDWLINL)=""
K DUOUT S SDWLERR=0 W !
I $D(SDWLIN) D
.S X=$S($D(SDWLIN):$$EXTERNAL^DILFD(409.32,.02,,SDWLIN),1:""),SDWLINE=SDWLIN D
..W !,"Select Institution: ",X," // (No Editing)" S SDWLERR=1
I SDWLERR S SDWLERR=0 G END
I SDWLTYE=1 S DIC("S")="I $D(^SCTM(404.51,""AINST"",+Y))"
I SDWLTYE=2 S DIC("S")="I $D(SDWLINL(+Y))"
I SDWLTYE=4 S DIC("S")="I $D(^SDWL(409.32,""ACT"",+Y))"
I SDWLTYE=3 S DIC("S")="I $D(^SDWL(409.31,""E"",+Y))"
S DIC("S")=DIC("S")_",$$GET1^DIQ(4,+Y_"","",11,""I"")=""N"",$$TF^XUAF4(+Y)"
S DIC(0)="AEQNM",DIC="4",DIC("A")="Select Institution: " D ^DIC I Y<0,'$D(DUOUT) S SDWLERR=1 W "Required or '^' to Quit."
I $D(DUOUT) S SDWLERR=1 Q
G EN10:SDWLERR
I Y>0 D
.K DIC,DIC("A"),DIC("S"),DIC(0),DIC("B") S (SDWLIN,SDWLINE)=+Y,DIE="^SDWL(409.3,"
.I '$D(DUOUT),Y>0 S DR="2////^S X=SDWLIN",DIE="^SDWL(409.3,",DA=SDWLDA D ^DIE
I $D(DUOUT) S SDWLERR=1
END Q
;
;
GETTM ;CHECK WAIT LIST FOR TEAM ASSIGNMENT.
Q:SDWLTEM Q:'$D(SDWLDFN) N SDWLDA1,SDWLX
S SDWLDA1=0 F S SDWLDA1=$O(^SDWL(409.3,"B",SDWLDFN,SDWLDA1)) Q:SDWLDA1<1 D
.S SDWLX=$G(^SDWL(409.3,SDWLDA1,0)) I $P(SDWLX,U,17)="O",$P(SDWLX,U,6) S SDWLTEM=1
K SDWLDA1
SDWLE111 ;;IOFO BAY PINES/TEH - WAITING LIST-ENTER/EDIT - WAIT LIST TYPE/INSTUTITION;20 Aug 2002
+1 ;;5.3;scheduling;**263,273,280,394,417,485,1015**;AUG 13 1993;Build 21
+2 ;
+3 ;
+4 ;
+5 ;******************************************************************
+6 ; CHANGE LOG
+7 ;
+8 ; DATE PATCH DESCRIPTION
+9 ; ---- ----- -----------
+10 ;10/01/2002 263 Logical Order Change
+11 ;12/02/2002 273 line EN2+19 add '/'
+12 ;12/10/2004 SD*5.3*394 Add Service Connection prompts
+13 ;01/11/2005 417 Permit MultiplePanels
+14 ;02/16/2005 417 New logic for WAIT LIST TYPE Prompt. See Table in Release Notes.
+15 ;
+16 ;ASK WAIT LIST TYPE
+17 ;
EN ;
+1 NEW SDWLPRP
SET (SDWLFLG,SDWLPRP)=0
+2 DO GETTM
+3 IF 'SDWLTEM
SET SDWLPRP=1
+4 IF SDWLTEM
IF 'SDWLPOS
SET SDWLPRP=0
+5 IF $DATA(SDWLTY)
WRITE !,"Wait List Type: ",$$EXTERNAL^DILFD(409.3,4,,SDWLTY)
WRITE "// (No Editing)"
SET SDWLTYE=SDWLTY
GOTO EN10
+6 ;10/01/2002 - TEH
EN0 ;
+1 IF 'SDWLPRP
Begin DoDot:1
+2 SET DIR(0)="SO^1:PCMM TEAM ASSIGNMENT;2:PCMM POSITION ASSIGNMENT;3:SERVICE/SPECIALTY;4:SPECIFIC CLINIC"
+3 SET DIR("L",1)=" Select Wait List Type: "
+4 SET DIR("L",2)=""
+5 SET DIR("L",3)=" 1. PCMM TEAM ASSIGNMENT"
+6 SET DIR("L",4)=" 2. PCMM POSITION ASSIGNMENT"
+7 SET DIR("L",5)=" 3. SERVICE/SPECIALTY"
+8 SET DIR("L")=" 4. SPECIFIC CLINIC"
+9 SET SDWLFLG=1
End DoDot:1
+10 IF SDWLFLG
GOTO EN9
EN1 IF SDWLPRP
Begin DoDot:1
+1 SET DIR(0)="SO^1:PCMM TEAM ASSIGNMENT;2:SERVICE/SPECIALTY;3:SPECIFIC CLINIC"
+2 SET DIR("L",1)=" Select Wait List Type: "
+3 SET DIR("L",2)=""
+4 SET DIR("L",3)=" 1. PCMM TEAM ASSIGNMENT"
+5 SET DIR("L",4)=" 2. SERVICE/SPECIALTY"
+6 SET DIR("L")=" 3. SPECIFIC CLINIC"
+7 SET SDWLFLG=0
End DoDot:1
EN9 DO ^DIR
IF X=""
WRITE " Required or '^' to Quit"
GOTO EN
+1 IF $DATA(DUOUT)
SET SDWLERR=1
GOTO END
+2 SET SDWLTYE=+Y
IF 'SDWLFLG
Begin DoDot:1
+3 SET SDWLTYE=$SELECT(+Y=1:1,+Y=2:3,+Y=3:4,1:0)
End DoDot:1
+4 IF 'SDWLTYE
WRITE " Invalid Entry."
GOTO EN
+5 SET DIE="^SDWL(409.3,"
SET DR="4///^S X=SDWLTYE"
DO ^DIE
+6 ;
EN10 ;SERVICE CONNECTION - SD*5.3*394
+1 ;
+2 DO ^SDWLSC
+3 ;
+4 ;ASK INSTITUTION (FILE 4)
+5 ;
+6 IF SDWLTYE=2
IF $DATA(SDWLCPT)
IF SDWLCPT
SET (SDWLINE,SDWLIN)=$PIECE($GET(^SCTM(404.51,+SDWLCPT,0)),U,7)
GOTO END
+7 IF SDWLTYE=2
SET SDWLI=0
FOR
SET SDWLI=$ORDER(^SCTM(404.57,SDWLI))
IF SDWLI<1
QUIT
Begin DoDot:1
+8 SET SDWLL=+$PIECE($GET(^SCTM(404.57,SDWLI,0)),U,2)
SET SDWLINL=+$PIECE($GET(^SCTM(404.51,+SDWLL,0)),U,7)
SET SDWLINL(+SDWLINL)=""
End DoDot:1
GOTO END
+9 KILL DUOUT
SET SDWLERR=0
WRITE !
+10 IF $DATA(SDWLIN)
Begin DoDot:1
+11 SET X=$SELECT($DATA(SDWLIN):$$EXTERNAL^DILFD(409.32,.02,,SDWLIN),1:"")
SET SDWLINE=SDWLIN
Begin DoDot:2
+12 WRITE !,"Select Institution: ",X," // (No Editing)"
SET SDWLERR=1
End DoDot:2
End DoDot:1
+13 IF SDWLERR
SET SDWLERR=0
GOTO END
+14 IF SDWLTYE=1
SET DIC("S")="I $D(^SCTM(404.51,""AINST"",+Y))"
+15 IF SDWLTYE=2
SET DIC("S")="I $D(SDWLINL(+Y))"
+16 IF SDWLTYE=4
SET DIC("S")="I $D(^SDWL(409.32,""ACT"",+Y))"
+17 IF SDWLTYE=3
SET DIC("S")="I $D(^SDWL(409.31,""E"",+Y))"
+18 SET DIC("S")=DIC("S")_",$$GET1^DIQ(4,+Y_"","",11,""I"")=""N"",$$TF^XUAF4(+Y)"
+19 SET DIC(0)="AEQNM"
SET DIC="4"
SET DIC("A")="Select Institution: "
DO ^DIC
IF Y<0
IF '$DATA(DUOUT)
SET SDWLERR=1
WRITE "Required or '^' to Quit."
+20 IF $DATA(DUOUT)
SET SDWLERR=1
QUIT
+21 IF SDWLERR
GOTO EN10
+22 IF Y>0
Begin DoDot:1
+23 KILL DIC,DIC("A"),DIC("S"),DIC(0),DIC("B")
SET (SDWLIN,SDWLINE)=+Y
SET DIE="^SDWL(409.3,"
+24 IF '$DATA(DUOUT)
IF Y>0
SET DR="2////^S X=SDWLIN"
SET DIE="^SDWL(409.3,"
SET DA=SDWLDA
DO ^DIE
End DoDot:1
+25 IF $DATA(DUOUT)
SET SDWLERR=1
END QUIT
+1 ;
+2 ;
GETTM ;CHECK WAIT LIST FOR TEAM ASSIGNMENT.
+1 IF SDWLTEM
QUIT
IF '$DATA(SDWLDFN)
QUIT
NEW SDWLDA1,SDWLX
+2 SET SDWLDA1=0
FOR
SET SDWLDA1=$ORDER(^SDWL(409.3,"B",SDWLDFN,SDWLDA1))
IF SDWLDA1<1
QUIT
Begin DoDot:1
+3 SET SDWLX=$GET(^SDWL(409.3,SDWLDA1,0))
IF $PIECE(SDWLX,U,17)="O"
IF $PIECE(SDWLX,U,6)
SET SDWLTEM=1
End DoDot:1
+4 KILL SDWLDA1