[613] | 1 | VAQREQ07 ;ALB/JFP - PDX, CREATE NOTIFY LIST, REQUEST SCREEN;01MAR93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
| 3 | EP ; -- Main entry point for the list processor
|
---|
| 4 | ; - Called from VAQREQ02
|
---|
| 5 | ;
|
---|
| 6 | REQ ; -- Request users for notify list
|
---|
| 7 | K ^TMP("VAQNOTI",$J)
|
---|
| 8 | N POP,NOTIDA,NOTIUSER,DIRUT,DTOUT,DUOUT,D,J,L,N,X,Y
|
---|
| 9 | ;
|
---|
| 10 | F J=1:1 D ASKNOTI I $D(DIRUT) D DBLCHK Q:$D(DIRUT)!(POP)
|
---|
| 11 | ; -- Cleanup and quit
|
---|
| 12 | K POP,NOTIDA,NOTIUSER,DIRUT,DTOUT,DUOUT,D,J,L,N,X,Y
|
---|
| 13 | K MAILDA,MAILNM
|
---|
| 14 | QUIT
|
---|
| 15 | ;
|
---|
| 16 | DBLCHK ; -- Double check for exit
|
---|
| 17 | Q:$D(DUOUT)
|
---|
| 18 | S (VAQNOTI,POP)="0"
|
---|
| 19 | I $D(^TMP("VAQNOTI",$J)) D DBL1
|
---|
| 20 | QUIT
|
---|
| 21 | ;
|
---|
| 22 | DBL1 ;
|
---|
| 23 | W !!
|
---|
| 24 | S DIR(0)="Y",DIR("B")="NO",DIR("A")="Include Data with Notification(s):"
|
---|
| 25 | D ^DIR K DIR
|
---|
| 26 | I Y=1 S VAQNOTI="1"
|
---|
| 27 | W !!
|
---|
| 28 | S DIR(0)="Y",DIR("B")="YES",DIR("A")="Exit Notify:"
|
---|
| 29 | D ^DIR K DIR
|
---|
| 30 | I Y=1 S POP=1
|
---|
| 31 | QUIT
|
---|
| 32 | ;
|
---|
| 33 | ASKNOTI ; -- Call to Dir to request notify list
|
---|
| 34 | D:$D(^TMP("VAQNOTI",$J)) LISTD
|
---|
| 35 | S POP=0
|
---|
| 36 | S DIR("A")="User to notify: "
|
---|
| 37 | S DIR(0)="FAO^1:30"
|
---|
| 38 | S DIR("?")="^D HLP1^VAQREQ07"
|
---|
| 39 | S DIR("??")="^D HLP2^VAQREQ07"
|
---|
| 40 | W ! D ^DIR K DIR Q:$D(DIRUT)
|
---|
| 41 | S X=Y
|
---|
| 42 | I X="*L" D LISTD Q:POP
|
---|
| 43 | I $E(X,1,1)="-" D DELNOTI Q:POP
|
---|
| 44 | I $E(X,1,2)'="G." D NOTI Q:POP
|
---|
| 45 | I $E(X,1,2)="G." D GNOTI Q:POP
|
---|
| 46 | QUIT
|
---|
| 47 | ;
|
---|
| 48 | NOTI ; -- Dic lookup to verify user in file 200 (new person)
|
---|
| 49 | S DIC="^VA(200,",DIC(0)="EMQZ"
|
---|
| 50 | D ^DIC K DIC I $D(DTOUT)!$D(DUOUT)!(Y<0) S POP=1 QUIT
|
---|
| 51 | S NOTIDA=$P(Y,U,1),NOTIUSER=$P(Y,U,2),^TMP("VAQNOTI",$J,NOTIUSER)=NOTIDA
|
---|
| 52 | QUIT
|
---|
| 53 | ;
|
---|
| 54 | GNOTI ; -- Dic lookup to verify mail group name in file XMB(3.8
|
---|
| 55 | S X=$P(X,".",2) ; -- strip off G.
|
---|
| 56 | S DIC="^XMB(3.8,"
|
---|
| 57 | S DIC(0)="EMQZ"
|
---|
| 58 | D ^DIC K DIC I $D(DTOUT)!$D(DUOUT)!(Y<0) S POP=1 QUIT
|
---|
| 59 | S MAILDA=$P(Y,U,1)
|
---|
| 60 | S MAILNM=$P(Y,U,2)
|
---|
| 61 | D G1
|
---|
| 62 | QUIT
|
---|
| 63 | ;
|
---|
| 64 | G1 S NOTIDA=""
|
---|
| 65 | N XMDUZ,XMCHAN,X,Y
|
---|
| 66 | S XMDUZ=$G(DUZ),XMCHAN=1
|
---|
| 67 | S X="G."_MAILNM
|
---|
| 68 | D WHO^XMA21 ; -- Mailman call to determine whos in group, sets XMY(
|
---|
| 69 | F S NOTIDA=$O(XMY(NOTIDA)) Q:'NOTIDA D SETG
|
---|
| 70 | QUIT
|
---|
| 71 | ;
|
---|
| 72 | SETG ; --
|
---|
| 73 | Q:NOTIDA'?1N.N
|
---|
| 74 | S NOTIUSER=$P($G(^VA(200,NOTIDA,0)),U,1)
|
---|
| 75 | S ^TMP("VAQNOTI",$J,NOTIUSER)=NOTIDA
|
---|
| 76 | QUIT
|
---|
| 77 | ;
|
---|
| 78 | DELNOTI ; -- Deletes person from notify list
|
---|
| 79 | S POP=1,X=$E(X,2,99)
|
---|
| 80 | I X="" W " ...No Entries Selected" QUIT
|
---|
| 81 | S X=$$PARTIC^VAQUTL94("^TMP(""VAQNOTI"","_$J_")",X)
|
---|
| 82 | I X=-1 W " ... Not Selected" QUIT
|
---|
| 83 | I '$D(^TMP("VAQNOTI",$J,X)) W " ... ",X," Not Selected" QUIT
|
---|
| 84 | K ^TMP("VAQNOTI",$J,X) W " ... ",X," Deleted"
|
---|
| 85 | QUIT
|
---|
| 86 | ;
|
---|
| 87 | HLP1 ; -- Display options for user to notify prompt
|
---|
| 88 | W !!!,"Options for User to notify prompt:",!
|
---|
| 89 | W !,"User to notify: users name ; select user (new person)"
|
---|
| 90 | W !,"User to notify: G.mail group ; select mail group"
|
---|
| 91 | W !,"User to notify: -users name ; de-selects a user"
|
---|
| 92 | W !,"User to notify: *L ; list selected users"
|
---|
| 93 | W !,"User to notify: ^ ; terminates option"
|
---|
| 94 | W !,"User to notify: return ; done with option"
|
---|
| 95 | W !,"User to notify: ? ; list of input options"
|
---|
| 96 | W !,"User to notify: ?? ; displays choices"
|
---|
| 97 | QUIT
|
---|
| 98 | ;
|
---|
| 99 | HLP2 ; -- Display new person file or mail group file
|
---|
| 100 | W !!,"(1) - New Person",!,"(2) - Mail Group",!
|
---|
| 101 | R "Select Display Option: ",X:DTIME Q:X=""
|
---|
| 102 | I X="^" QUIT
|
---|
| 103 | I X=1 D H1 QUIT
|
---|
| 104 | I X=2 D H2 QUIT
|
---|
| 105 | W " ...invalid entry"
|
---|
| 106 | K X
|
---|
| 107 | QUIT
|
---|
| 108 | ;
|
---|
| 109 | H1 ; -- Displays new person file
|
---|
| 110 | S DIC="^VA(200,",DIC(0)="C",D="B"
|
---|
| 111 | D DQ^DICQ
|
---|
| 112 | K DIC,D
|
---|
| 113 | QUIT
|
---|
| 114 | ;
|
---|
| 115 | H2 ; -- Display mail groups
|
---|
| 116 | S DIC="^XMB(3.8,"
|
---|
| 117 | S DIC(0)="CM"
|
---|
| 118 | S D="B",DZ="??"
|
---|
| 119 | D DQ^DICQ
|
---|
| 120 | K DIC,D,DZ
|
---|
| 121 | QUIT
|
---|
| 122 | ;
|
---|
| 123 | LISTD ; -- Displays a list of names selected
|
---|
| 124 | S POP=1
|
---|
| 125 | I '$D(^TMP("VAQNOTI",$J)) W " ...No User(s) Selected" QUIT
|
---|
| 126 | W !!,"-------------------------------- User Selected --------------------------------"
|
---|
| 127 | S N="" F L=0:1 S N=$O(^TMP("VAQNOTI",$J,N)) Q:N="" W:'(L#8) ! W ?L#8*30 W N
|
---|
| 128 | W !,"--------------------------------------------------------------------------------"
|
---|
| 129 | W ! QUIT
|
---|
| 130 | ;
|
---|
| 131 | END ; -- End of code
|
---|
| 132 | QUIT
|
---|