TIUALFUN ;SLC/AJB - TIU Alert Functions; Mar 17, 2003
;;1.0;TEXT INTEGRATION UTILITIES;**158**;Jun 20, 1997
;
Q
ALRTDEL ;
S TIU("DELETE")=1
S TIU("MSG")=" Delete Alerts for the following documents:"
D RESEND
K TIU("DELETE"),TIU("MSG")
Q
ASKUSR ;
N TIUTMP
D I TIUTMP("ASK")=-1 S TIU("QUIT")=1 Q
. N DIR,POP,TIUCONT,X,Y
. S DIR(0)="SA^1:Browse Document;2:Combination Alerts;3:Delete Alerts;4:Detailed Display;5:Edit a Document;6:Identify Signers;7:Resend Alerts;8:Third Party Alerts"
. S DIR("A")="Select ACTION: "
. S DIR("B")="RESEND ALERTS"
. S DIR("L",1)="1. Browse a Document 4. Detailed Display 7. Resend Alerts"
. S DIR("L",2)="2. Combination Alerts 5. Edit a Document 8. Third Party Alerts"
. S DIR("L",3)="3. Delete Alerts 6. Identify Signers"
. S DIR("L",4)=""
. S DIR("L")="Enter selection by typing the name, number, or abbreviation"
. S DIR("?",1)="The following actions are available:"
. S DIR("?",2)="Browse a Document - View a selected document (if authorized)"
. S DIR("?",3)="Combination Alerts - Send alerts to expected signers and 3rd parties"
. S DIR("?",4)="Delete Alerts - Delete a document's alerts"
. S DIR("?",5)="Detailed Display - View detailed display of a document (if authorized)"
. S DIR("?",6)="Edit a Document - Edit a selected document (if authorized)"
. S DIR("?",7)="Identify Signers - Identify/Change Signers of a document (if authorized)"
. S DIR("?",8)="Resend Alerts - Resend alerts to expected signers"
. S DIR("?")="Third Party Alerts - Send alerts to one or more 3rd parties"
. F D ^DIR D Q:$G(TIUCONT)!$D(DIRUT)
. . I $D(TIUC(2)),+Y=1 W !,"You can only browse one document at a time. Select another action." Q
. . I $D(TIUC(2)),+Y=4 W !,"You can only view the detailed display of one document at a time.",!,"Select another action." Q
. . I $D(TIUC(2)),+Y=5 W !,"You can only edit one document at a time. Select another action." Q
. . I $D(TIUC(2)),+Y=6 W !,"You can only identify signers one document at a time. Select another action." Q
. . S TIUCONT=1
. S TIUTMP("ASK")=$S(+Y=1:"BROWSE",+Y=2:"COMBO",+Y=3:"ALRTDEL",+Y=4:"DETDISP^TIUALSET",+Y=5:"EDIT^TIUAL1",+Y=6:"IDSIGNER",+Y=7:"RESEND",+Y=8:"THIRD",Y=U:-1,1:-1)
D @TIUTMP("ASK")
Q
BROWSE ;
N TEMP,TIUCNT,TIUSEL,TIUQUIK,TIUDA,TIUPRM0,TIUPRM1,TIUPRM3,RSTOK S TIUQUIK=1
K TIUC
D FULL^VALM1
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
S TIUSEL=$P(XQORNOD(0),"=",2)
I TIUSEL="" D Q:TIUSEL=U!($D(DIRUT))
. N DIR,X,Y
. S DIR("A")="Select Document: (1-"_VALMLST_") "
. S DIR(0)="NA^1:"_VALMLST
. D ^DIR S TIUSEL=Y
I $A($E(TIUSEL,$L(TIUSEL)))<48!($A($E(TIUSEL,$L(TIUSEL)))>57) S TIUSEL=$E(TIUSEL,1,$L(TIUSEL)-1)
F X=1:1 Q:$P(TIUSEL,",",X)="" S TIUC($P(TIUSEL,",",X))=$O(@VALMAR@("IDX",$P(TIUSEL,",",X),""))
S TIUDA=TIUC(TIUSEL)
S RSTOK=$$DOCCHK^TIULRR(TIUDA)
I RSTOK'>0 D Q
. W !!,$C(7),"Ok, no harm done...",! ; Echo denial message
. I $$READ^TIUU("EA","RETURN to continue...") ; pause
I $P(^TIU(8925,+TIUDA,0),U,5)'<7,'+$$ISSIGNR^TIUALRT(TIUDA,DUZ)
D:'$D(TIUPRM0)!'$D(TIUPRM1) SETPARM^TIULE
S TEMP("CNT")=TIU("CNT"),TEMP("P")=TIU("P"),TEMP("S")=TIU("S")
S TEMP("D",1)=TIU("D",1),TEMP("D",2)=TIU("D",2)
S TEMP=""
F S TEMP=$O(TIU("C",TEMP)) Q:TEMP="" S TEMP("C",TEMP)=TIU("C",TEMP)
F TIUCNT=1:1:TIU("S") S TEMP("S",TIUCNT)=TIU("S",TIUCNT) S $P(TEMP("S",TIUCNT),U)=$S(+TEMP("S",TIUCNT)=10:14,+TEMP("S",TIUCNT)=11:15,1:+TEMP("S",TIUCNT))
K TIU D EN^VALM("TIU BROWSE FOR READ ONLY")
S TIU("CNT")=TEMP("CNT"),TIU("P")=TEMP("P"),TIU("S")=TEMP("S")
S TEMP=""
F S TEMP=$O(TEMP("C",TEMP)) Q:TEMP="" S TIU("C",TEMP)=TEMP("C",TEMP)
S TIU("D",1)=TEMP("D",1),TIU("D",2)=TEMP("D",2)
F TIUCNT=1:1:TEMP("S") S TIU("S",TIUCNT)=TEMP("S",TIUCNT) S $P(TIU("S",TIUCNT),U)=$S(+TIU("S",TIUCNT)=10:14,+TIU("S",TIUCNT)=11:15,1:+TIU("S",TIUCNT))
Q
COMBO ;
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
S TIUTMP("CMSG")=1,TIU("MSG")=" Send COMBINATION Alerts for the following documents:"
S TIUTMP("THIRD PARTY ALERTS")="",TIUTMP("NODEL")=""
D USERS
K TIUTMP("CMSG"),TIU("MSG")
Q
RESEND ;
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
N DIR,TIUCNT,TIUDA,TIUDIV1,TIUOD,TIUPRM0,TIUPRM1,TIUQUIT,X,Y
;
I '$D(TIU("MSG")) S TIU("MSG")=" Resend Alerts for the following documents:"
W @IOF,!,TIU("MSG"),!!
S TIUCNT="",TIUCNT(1)=0,TIUCNT(2)=19
F S TIUCNT(1)=TIUCNT(1)+1,TIUCNT=$O(TIUC(TIUCNT)) W:TIUCNT=""&($G(Y)'=0) ! Q:TIUCNT="" W $E(@VALMAR@(TIUCNT,0),1,80) D:TIUCNT(1)#TIUCNT(2)=0
. S TIUCNT(2)=TIUCNT(2)+21
. N DIR S DIR(0)="E" W ! D ^DIR W !! I Y=0 S TIUCNT="",TIUCNT=$O(TIUC(TIUCNT),-1)
S DIR(0)="Y",DIR("A")=" Send these alerts as OVERDUE",DIR("B")="NO"
I '$D(TIU("DELETE")) D ^DIR S TIUOD=+Y Q:TIUOD=U!($D(DIRUT)) W !
S DIR(0)="Y",DIR("A")=" Is this correct",DIR("B")="YES"
D ^DIR I +Y'=1 S TIUQUIT=1 Q
I $G(TIUTMP("CMSG"))=1 F S TIUCNT=$O(TIUC(TIUCNT)) Q:TIUCNT="" D ALERTDEL^TIUALRT(TIUC(TIUCNT))
I '$D(TIU("DELETE")) W !!," Sending Alerts..."
I $D(TIU("DELETE")) W !!," Deleting Alerts..."
S TIUCNT=""
I '$D(TIU("DELETE")) D
. F S TIUCNT=$O(TIUC(TIUCNT)) Q:TIUCNT="" W "." D SEND^TIUALRT(TIUC(TIUCNT),TIUOD)
. K TIUTMP("THIRD PARTY ALERTS")
. I $G(TIUTMP("CMSG"))=1 S TIUCNT="" F S TIUCNT=$O(TIUC(TIUCNT)) Q:TIUCNT="" W "." D SEND^TIUALRT(TIUC(TIUCNT),TIUOD)
I $D(TIU("DELETE")) F S TIUCNT=$O(TIUC(TIUCNT)) Q:TIUCNT="" W "." D ALERTDEL^TIUALRT(TIUC(TIUCNT))
W !!," Finished.",!
K DIR S DIR("A")=" Enter RETURN to continue or '^' to exit",DIR(0)="E" D ^DIR
K TIUTMP("NODEL")
Q
SELECT(TIUACT) ;
N TIUSEL,X,Y
K TIUC
D FULL^VALM1
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
S TIUSEL=$P(XQORNOD(0),"=",2)
I TIUSEL="" D Q:Y=U
. N DIR
. S DIR("A")="Select Document(s): (1-"_VALMLST_") "
. S DIR(0)="LAC^1:"_VALMLST
. D ^DIR I $D(DIRUT)!(Y=U) S Y=U Q
. S TIUSEL=Y(0)
I $A($E(TIUSEL,$L(TIUSEL)))<48!($A($E(TIUSEL,$L(TIUSEL)))>57) S TIUSEL=$E(TIUSEL,1,$L(TIUSEL)-1)
F X=1:1 Q:$P(TIUSEL,",",X)="" D
. N TIUCNT
. I $P(TIUSEL,",",X)["-" F TIUCNT=+$P(TIUSEL,",",X):1:$P($P(TIUSEL,",",X),"-",2) S TIUC(TIUCNT)=$O(@VALMAR@("IDX",TIUCNT,""))
. E S TIUC($P(TIUSEL,",",X))=$O(@VALMAR@("IDX",$P(TIUSEL,",",X),""))
D @TIUACT
Q
THIRD ;
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
S TIU("MSG")=" Send 3rd Party Alerts for the following documents:"
S TIUTMP("THIRD PARTY ALERTS")="",TIUTMP("NODEL")=""
D USERS
K TIU("MSG")
Q
USERS ;
N TIUQUIT,TIUREM,TIUXQA
K TIU("3RD"),TIU("CONTINUE")
F D Q:$G(TIUQUIT)=1!($G(TIU("CONTINUE"))=1)
. N DIC,DIR,POP,TIUCNT,X,Y
. W @IOF,!
. W " Enter the name(s) of individuals to receive an alert for the selected",!
. W " document(s).",!!
. W " Kernel will not send alerts to Inactive users; they cannot be",!
. W " selected.",!!
. W " Enter RETURN or '^' to finish selections.",!
. S TIUCNT=0,DIC="^VA(200,",DIC("S")="I '$P(^(0),U,7)"
. S DIC(0)="AEMQ",DIC("A")=" Enter 3RD PARTY RECIPIENT(S): "
. F D ^DIC Q:Y=-1 D Q:$G(TIUQUIT)=1 K TIUREM
. . N TIUDA,TIUASK S TIUDA="" F S TIUDA=$O(TIUC(TIUDA)) Q:TIUDA="" I '$G(TIUASK),'$$CANDO(TIUC(TIUDA),+Y) D
. . . S TIUASK=1
. . . W !!?5,"Because ",$E($$GET1^DIQ(200,+Y,.01),1,15)," may not be able to SIGN/COSIGN some or all of the"
. . . W !?5,"selected documents, they may be unable to resolve the resulting alerts.",!
. . . N DIR,X,Y S DIR(0)="Y",DIR("A")=" Remove",DIR("B")="YES"
. . . D ^DIR I Y=U!($D(DIRUT)) S TIUQUIT=1 Q
. . . I +Y S TIUREM=1 W !
. . S:'$G(TIUREM) TIUCNT=TIUCNT+1,TIU("3RD",+Y)="" S:TIUCNT=1 DIC("A")=" and "
. Q:$G(TIUQUIT)=1
. I TIUCNT=0 W !!," No selections made.",! S DIR("A")=" Enter RETURN to continue or '^' to exit",DIR(0)="E" D ^DIR S TIUQUIT=1 Q
. W !!,$S(TIUCNT>1:" Send 3rd Party Alerts to the following individuals: ",1:" Send 3rd Party Alerts to the following individual: "),!!
. S X="" F S X=$O(TIU("3RD",X)) Q:X="" S TIUXQA(X)="" W ?5,$$GET1^DIQ(200,X_",",.01),!
. S DIR(0)="Y",DIR("A")=" Is this correct",DIR("B")="YES"
. D ^DIR I +Y'=1 W !! K TIU("3RD"),TIUXQA S:Y=U TIUQUIT=1 Q
. S TIU("CONTINUE")=1
Q:$G(TIUQUIT)=1
D RESEND
Q
;
CANDO(TIUDA,PERSON) ;
N TIUACT
S TIUACT="SIGNATURE" I $$CANDO^TIULP(TIUDA,TIUACT,PERSON) Q 1
S TIUACT="COSIGNATURE" I $$CANDO^TIULP(TIUDA,TIUACT,PERSON) Q 1
Q 0
IDSIGNER ;
N D,DIC,TIUCHNG,TIUDA,TIUDCSNR,TIUDIV1,TIUFPRIV,TIUPRM0,TIUPRM1,TIUSEL,X,Y
D FULL^VALM1
I TIU("CNT")=0 W !,"No documents to select." H 3 Q
S TIUSEL=$P(XQORNOD(0),"=",2)
I TIUSEL="" D Q:TIUSEL=U!($D(DIRUT))
. N DIR,X,Y
. S DIR("A")="Select Document: (1-"_VALMLST_") "
. S DIR(0)="NA^1:"_VALMLST
. D ^DIR S TIUSEL=Y
I $A($E(TIUSEL,$L(TIUSEL)))<48!($A($E(TIUSEL,$L(TIUSEL)))>57) S TIUSEL=$E(TIUSEL,1,$L(TIUSEL)-1)
F X=1:1 Q:$P(TIUSEL,",",X)="" S TIUC($P(TIUSEL,",",X))=$O(@VALMAR@("IDX",$P(TIUSEL,",",X),""))
S TIUDA=TIUC(TIUSEL)
D SIGNER^TIURA1
D UPDATE^TIUALSET
Q
TIUALFUN ;SLC/AJB - TIU Alert Functions; Mar 17, 2003
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**158**;Jun 20, 1997
+2 ;
+3 QUIT
ALRTDEL ;
+1 SET TIU("DELETE")=1
+2 SET TIU("MSG")=" Delete Alerts for the following documents:"
+3 DO RESEND
+4 KILL TIU("DELETE"),TIU("MSG")
+5 QUIT
ASKUSR ;
+1 NEW TIUTMP
+2 Begin DoDot:1
+3 NEW DIR,POP,TIUCONT,X,Y
+4 SET DIR(0)="SA^1:Browse Document;2:Combination Alerts;3:Delete Alerts;4:Detailed Display;5:Edit a Document;6:Identify Signers;7:Resend Alerts;8:Third Party Alerts"
+5 SET DIR("A")="Select ACTION: "
+6 SET DIR("B")="RESEND ALERTS"
+7 SET DIR("L",1)="1. Browse a Document 4. Detailed Display 7. Resend Alerts"
+8 SET DIR("L",2)="2. Combination Alerts 5. Edit a Document 8. Third Party Alerts"
+9 SET DIR("L",3)="3. Delete Alerts 6. Identify Signers"
+10 SET DIR("L",4)=""
+11 SET DIR("L")="Enter selection by typing the name, number, or abbreviation"
+12 SET DIR("?",1)="The following actions are available:"
+13 SET DIR("?",2)="Browse a Document - View a selected document (if authorized)"
+14 SET DIR("?",3)="Combination Alerts - Send alerts to expected signers and 3rd parties"
+15 SET DIR("?",4)="Delete Alerts - Delete a document's alerts"
+16 SET DIR("?",5)="Detailed Display - View detailed display of a document (if authorized)"
+17 SET DIR("?",6)="Edit a Document - Edit a selected document (if authorized)"
+18 SET DIR("?",7)="Identify Signers - Identify/Change Signers of a document (if authorized)"
+19 SET DIR("?",8)="Resend Alerts - Resend alerts to expected signers"
+20 SET DIR("?")="Third Party Alerts - Send alerts to one or more 3rd parties"
+21 FOR
DO ^DIR
Begin DoDot:2
+22 IF $DATA(TIUC(2))
IF +Y=1
WRITE !,"You can only browse one document at a time. Select another action."
QUIT
+23 IF $DATA(TIUC(2))
IF +Y=4
WRITE !,"You can only view the detailed display of one document at a time.",!,"Select another action."
QUIT
+24 IF $DATA(TIUC(2))
IF +Y=5
WRITE !,"You can only edit one document at a time. Select another action."
QUIT
+25 IF $DATA(TIUC(2))
IF +Y=6
WRITE !,"You can only identify signers one document at a time. Select another action."
QUIT
+26 SET TIUCONT=1
End DoDot:2
IF $GET(TIUCONT)!$DATA(DIRUT)
QUIT
+27 SET TIUTMP("ASK")=$SELECT(+Y=1:"BROWSE",+Y=2:"COMBO",+Y=3:"ALRTDEL",+Y=4:"DETDISP^TIUALSET",+Y=5:"EDIT^TIUAL1",+Y=6:"IDSIGNER",+Y=7:"RESEND",+Y=8:"THIRD",Y=U:-1,1:-1)
End DoDot:1
IF TIUTMP("ASK")=-1
SET TIU("QUIT")=1
QUIT
+28 DO @TIUTMP("ASK")
+29 QUIT
BROWSE ;
+1 NEW TEMP,TIUCNT,TIUSEL,TIUQUIK,TIUDA,TIUPRM0,TIUPRM1,TIUPRM3,RSTOK
SET TIUQUIK=1
+2 KILL TIUC
+3 DO FULL^VALM1
+4 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+5 SET TIUSEL=$PIECE(XQORNOD(0),"=",2)
+6 IF TIUSEL=""
Begin DoDot:1
+7 NEW DIR,X,Y
+8 SET DIR("A")="Select Document: (1-"_VALMLST_") "
+9 SET DIR(0)="NA^1:"_VALMLST
+10 DO ^DIR
SET TIUSEL=Y
End DoDot:1
IF TIUSEL=U!($DATA(DIRUT))
QUIT
+11 IF $ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))<48!($ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))>57)
SET TIUSEL=$EXTRACT(TIUSEL,1,$LENGTH(TIUSEL)-1)
+12 FOR X=1:1
IF $PIECE(TIUSEL,",",X)=""
QUIT
SET TIUC($PIECE(TIUSEL,",",X))=$ORDER(@VALMAR@("IDX",$PIECE(TIUSEL,",",X),""))
+13 SET TIUDA=TIUC(TIUSEL)
+14 SET RSTOK=$$DOCCHK^TIULRR(TIUDA)
+15 IF RSTOK'>0
Begin DoDot:1
+16 ; Echo denial message
WRITE !!,$CHAR(7),"Ok, no harm done...",!
+17 ; pause
IF $$READ^TIUU("EA","RETURN to continue...")
End DoDot:1
QUIT
+18 IF $PIECE(^TIU(8925,+TIUDA,0),U,5)'<7
IF '+$$ISSIGNR^TIUALRT(TIUDA,DUZ)
+19 IF '$DATA(TIUPRM0)!'$DATA(TIUPRM1)
DO SETPARM^TIULE
+20 SET TEMP("CNT")=TIU("CNT")
SET TEMP("P")=TIU("P")
SET TEMP("S")=TIU("S")
+21 SET TEMP("D",1)=TIU("D",1)
SET TEMP("D",2)=TIU("D",2)
+22 SET TEMP=""
+23 FOR
SET TEMP=$ORDER(TIU("C",TEMP))
IF TEMP=""
QUIT
SET TEMP("C",TEMP)=TIU("C",TEMP)
+24 FOR TIUCNT=1:1:TIU("S")
SET TEMP("S",TIUCNT)=TIU("S",TIUCNT)
SET $PIECE(TEMP("S",TIUCNT),U)=$SELECT(+TEMP("S",TIUCNT)=10:14,+TEMP("S",TIUCNT)=11:15,1:+TEMP("S",TIUCNT))
+25 KILL TIU
DO EN^VALM("TIU BROWSE FOR READ ONLY")
+26 SET TIU("CNT")=TEMP("CNT")
SET TIU("P")=TEMP("P")
SET TIU("S")=TEMP("S")
+27 SET TEMP=""
+28 FOR
SET TEMP=$ORDER(TEMP("C",TEMP))
IF TEMP=""
QUIT
SET TIU("C",TEMP)=TEMP("C",TEMP)
+29 SET TIU("D",1)=TEMP("D",1)
SET TIU("D",2)=TEMP("D",2)
+30 FOR TIUCNT=1:1:TEMP("S")
SET TIU("S",TIUCNT)=TEMP("S",TIUCNT)
SET $PIECE(TIU("S",TIUCNT),U)=$SELECT(+TIU("S",TIUCNT)=10:14,+TIU("S",TIUCNT)=11:15,1:+TIU("S",TIUCNT))
+31 QUIT
COMBO ;
+1 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+2 SET TIUTMP("CMSG")=1
SET TIU("MSG")=" Send COMBINATION Alerts for the following documents:"
+3 SET TIUTMP("THIRD PARTY ALERTS")=""
SET TIUTMP("NODEL")=""
+4 DO USERS
+5 KILL TIUTMP("CMSG"),TIU("MSG")
+6 QUIT
RESEND ;
+1 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+2 NEW DIR,TIUCNT,TIUDA,TIUDIV1,TIUOD,TIUPRM0,TIUPRM1,TIUQUIT,X,Y
+3 ;
+4 IF '$DATA(TIU("MSG"))
SET TIU("MSG")=" Resend Alerts for the following documents:"
+5 WRITE @IOF,!,TIU("MSG"),!!
+6 SET TIUCNT=""
SET TIUCNT(1)=0
SET TIUCNT(2)=19
+7 FOR
SET TIUCNT(1)=TIUCNT(1)+1
SET TIUCNT=$ORDER(TIUC(TIUCNT))
IF TIUCNT=""&($GET(Y)'=0)
WRITE !
IF TIUCNT=""
QUIT
WRITE $EXTRACT(@VALMAR@(TIUCNT,0),1,80)
IF TIUCNT(1)#TIUCNT(2)=0
Begin DoDot:1
+8 SET TIUCNT(2)=TIUCNT(2)+21
+9 NEW DIR
SET DIR(0)="E"
WRITE !
DO ^DIR
WRITE !!
IF Y=0
SET TIUCNT=""
SET TIUCNT=$ORDER(TIUC(TIUCNT),-1)
End DoDot:1
+10 SET DIR(0)="Y"
SET DIR("A")=" Send these alerts as OVERDUE"
SET DIR("B")="NO"
+11 IF '$DATA(TIU("DELETE"))
DO ^DIR
SET TIUOD=+Y
IF TIUOD=U!($DATA(DIRUT))
QUIT
WRITE !
+12 SET DIR(0)="Y"
SET DIR("A")=" Is this correct"
SET DIR("B")="YES"
+13 DO ^DIR
IF +Y'=1
SET TIUQUIT=1
QUIT
+14 IF $GET(TIUTMP("CMSG"))=1
FOR
SET TIUCNT=$ORDER(TIUC(TIUCNT))
IF TIUCNT=""
QUIT
DO ALERTDEL^TIUALRT(TIUC(TIUCNT))
+15 IF '$DATA(TIU("DELETE"))
WRITE !!," Sending Alerts..."
+16 IF $DATA(TIU("DELETE"))
WRITE !!," Deleting Alerts..."
+17 SET TIUCNT=""
+18 IF '$DATA(TIU("DELETE"))
Begin DoDot:1
+19 FOR
SET TIUCNT=$ORDER(TIUC(TIUCNT))
IF TIUCNT=""
QUIT
WRITE "."
DO SEND^TIUALRT(TIUC(TIUCNT),TIUOD)
+20 KILL TIUTMP("THIRD PARTY ALERTS")
+21 IF $GET(TIUTMP("CMSG"))=1
SET TIUCNT=""
FOR
SET TIUCNT=$ORDER(TIUC(TIUCNT))
IF TIUCNT=""
QUIT
WRITE "."
DO SEND^TIUALRT(TIUC(TIUCNT),TIUOD)
End DoDot:1
+22 IF $DATA(TIU("DELETE"))
FOR
SET TIUCNT=$ORDER(TIUC(TIUCNT))
IF TIUCNT=""
QUIT
WRITE "."
DO ALERTDEL^TIUALRT(TIUC(TIUCNT))
+23 WRITE !!," Finished.",!
+24 KILL DIR
SET DIR("A")=" Enter RETURN to continue or '^' to exit"
SET DIR(0)="E"
DO ^DIR
+25 KILL TIUTMP("NODEL")
+26 QUIT
SELECT(TIUACT) ;
+1 NEW TIUSEL,X,Y
+2 KILL TIUC
+3 DO FULL^VALM1
+4 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+5 SET TIUSEL=$PIECE(XQORNOD(0),"=",2)
+6 IF TIUSEL=""
Begin DoDot:1
+7 NEW DIR
+8 SET DIR("A")="Select Document(s): (1-"_VALMLST_") "
+9 SET DIR(0)="LAC^1:"_VALMLST
+10 DO ^DIR
IF $DATA(DIRUT)!(Y=U)
SET Y=U
QUIT
+11 SET TIUSEL=Y(0)
End DoDot:1
IF Y=U
QUIT
+12 IF $ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))<48!($ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))>57)
SET TIUSEL=$EXTRACT(TIUSEL,1,$LENGTH(TIUSEL)-1)
+13 FOR X=1:1
IF $PIECE(TIUSEL,",",X)=""
QUIT
Begin DoDot:1
+14 NEW TIUCNT
+15 IF $PIECE(TIUSEL,",",X)["-"
FOR TIUCNT=+$PIECE(TIUSEL,",",X):1:$PIECE($PIECE(TIUSEL,",",X),"-",2)
SET TIUC(TIUCNT)=$ORDER(@VALMAR@("IDX",TIUCNT,""))
+16 IF '$TEST
SET TIUC($PIECE(TIUSEL,",",X))=$ORDER(@VALMAR@("IDX",$PIECE(TIUSEL,",",X),""))
End DoDot:1
+17 DO @TIUACT
+18 QUIT
THIRD ;
+1 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+2 SET TIU("MSG")=" Send 3rd Party Alerts for the following documents:"
+3 SET TIUTMP("THIRD PARTY ALERTS")=""
SET TIUTMP("NODEL")=""
+4 DO USERS
+5 KILL TIU("MSG")
+6 QUIT
USERS ;
+1 NEW TIUQUIT,TIUREM,TIUXQA
+2 KILL TIU("3RD"),TIU("CONTINUE")
+3 FOR
Begin DoDot:1
+4 NEW DIC,DIR,POP,TIUCNT,X,Y
+5 WRITE @IOF,!
+6 WRITE " Enter the name(s) of individuals to receive an alert for the selected",!
+7 WRITE " document(s).",!!
+8 WRITE " Kernel will not send alerts to Inactive users; they cannot be",!
+9 WRITE " selected.",!!
+10 WRITE " Enter RETURN or '^' to finish selections.",!
+11 SET TIUCNT=0
SET DIC="^VA(200,"
SET DIC("S")="I '$P(^(0),U,7)"
+12 SET DIC(0)="AEMQ"
SET DIC("A")=" Enter 3RD PARTY RECIPIENT(S): "
+13 FOR
DO ^DIC
IF Y=-1
QUIT
Begin DoDot:2
+14 NEW TIUDA,TIUASK
SET TIUDA=""
FOR
SET TIUDA=$ORDER(TIUC(TIUDA))
IF TIUDA=""
QUIT
IF '$GET(TIUASK)
IF '$$CANDO(TIUC(TIUDA),+Y)
Begin DoDot:3
+15 SET TIUASK=1
+16 WRITE !!?5,"Because ",$EXTRACT($$GET1^DIQ(200,+Y,.01),1,15)," may not be able to SIGN/COSIGN some or all of the"
+17 WRITE !?5,"selected documents, they may be unable to resolve the resulting alerts.",!
+18 NEW DIR,X,Y
SET DIR(0)="Y"
SET DIR("A")=" Remove"
SET DIR("B")="YES"
+19 DO ^DIR
IF Y=U!($DATA(DIRUT))
SET TIUQUIT=1
QUIT
+20 IF +Y
SET TIUREM=1
WRITE !
End DoDot:3
+21 IF '$GET(TIUREM)
SET TIUCNT=TIUCNT+1
SET TIU("3RD",+Y)=""
IF TIUCNT=1
SET DIC("A")=" and "
End DoDot:2
IF $GET(TIUQUIT)=1
QUIT
KILL TIUREM
+22 IF $GET(TIUQUIT)=1
QUIT
+23 IF TIUCNT=0
WRITE !!," No selections made.",!
SET DIR("A")=" Enter RETURN to continue or '^' to exit"
SET DIR(0)="E"
DO ^DIR
SET TIUQUIT=1
QUIT
+24 WRITE !!,$SELECT(TIUCNT>1:" Send 3rd Party Alerts to the following individuals: ",1:" Send 3rd Party Alerts to the following individual: "),!!
+25 SET X=""
FOR
SET X=$ORDER(TIU("3RD",X))
IF X=""
QUIT
SET TIUXQA(X)=""
WRITE ?5,$$GET1^DIQ(200,X_",",.01),!
+26 SET DIR(0)="Y"
SET DIR("A")=" Is this correct"
SET DIR("B")="YES"
+27 DO ^DIR
IF +Y'=1
WRITE !!
KILL TIU("3RD"),TIUXQA
IF Y=U
SET TIUQUIT=1
QUIT
+28 SET TIU("CONTINUE")=1
End DoDot:1
IF $GET(TIUQUIT)=1!($GET(TIU("CONTINUE"))=1)
QUIT
+29 IF $GET(TIUQUIT)=1
QUIT
+30 DO RESEND
+31 QUIT
+32 ;
CANDO(TIUDA,PERSON) ;
+1 NEW TIUACT
+2 SET TIUACT="SIGNATURE"
IF $$CANDO^TIULP(TIUDA,TIUACT,PERSON)
QUIT 1
+3 SET TIUACT="COSIGNATURE"
IF $$CANDO^TIULP(TIUDA,TIUACT,PERSON)
QUIT 1
+4 QUIT 0
IDSIGNER ;
+1 NEW D,DIC,TIUCHNG,TIUDA,TIUDCSNR,TIUDIV1,TIUFPRIV,TIUPRM0,TIUPRM1,TIUSEL,X,Y
+2 DO FULL^VALM1
+3 IF TIU("CNT")=0
WRITE !,"No documents to select."
HANG 3
QUIT
+4 SET TIUSEL=$PIECE(XQORNOD(0),"=",2)
+5 IF TIUSEL=""
Begin DoDot:1
+6 NEW DIR,X,Y
+7 SET DIR("A")="Select Document: (1-"_VALMLST_") "
+8 SET DIR(0)="NA^1:"_VALMLST
+9 DO ^DIR
SET TIUSEL=Y
End DoDot:1
IF TIUSEL=U!($DATA(DIRUT))
QUIT
+10 IF $ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))<48!($ASCII($EXTRACT(TIUSEL,$LENGTH(TIUSEL)))>57)
SET TIUSEL=$EXTRACT(TIUSEL,1,$LENGTH(TIUSEL)-1)
+11 FOR X=1:1
IF $PIECE(TIUSEL,",",X)=""
QUIT
SET TIUC($PIECE(TIUSEL,",",X))=$ORDER(@VALMAR@("IDX",$PIECE(TIUSEL,",",X),""))
+12 SET TIUDA=TIUC(TIUSEL)
+13 DO SIGNER^TIURA1
+14 DO UPDATE^TIUALSET
+15 QUIT