| 1 | FSCNAS ;SLC/STAFF NOIS Notification Alert Send ;1/11/98  18:41
 | 
|---|
| 2 |  ;;1.1;NOIS;;Sep 06, 1998
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | ALERT(MSG) ; from FSCLMPNN
 | 
|---|
| 5 |  Q:'$D(MSG)
 | 
|---|
| 6 |  N DELIVERY,OK,RECIP,TYPE K ^TMP("FSCCALLS",$J),RECIP S OK=1
 | 
|---|
| 7 |  D
 | 
|---|
| 8 |  .D CALLS(.OK) I 'OK Q
 | 
|---|
| 9 |  .D TYPE(.TYPE,.OK) I 'OK Q
 | 
|---|
| 10 |  .I TYPE="OTHERS" D
 | 
|---|
| 11 |  ..D RECIP(.RECIP,.OK)
 | 
|---|
| 12 |  ..S DELIVERY=""
 | 
|---|
| 13 |  .E  D
 | 
|---|
| 14 |  ..S RECIP(DUZ)="" ;$$VALUE^FSCGET(DUZ,7100,2.1)
 | 
|---|
| 15 |  ..D DELIVER(.DELIVERY,.OK)
 | 
|---|
| 16 |  .I 'OK Q
 | 
|---|
| 17 |  .D SEND(MSG,.RECIP,DELIVERY,.OK)
 | 
|---|
| 18 |  I 'OK W !!,"Alert was NOT sent."
 | 
|---|
| 19 |  E  W !!,"Alert sent."
 | 
|---|
| 20 |  K ^TMP("FSCCALLS",$J),RECIP H 2
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 | CALLS(OK) ;
 | 
|---|
| 24 |  N CALL,CHOICE,DIR,LISTNUM,Y K DIR S OK=1
 | 
|---|
| 25 |  I '+@VALMAR Q
 | 
|---|
| 26 |  S DIR(0)="YAO",DIR("A")="Do you want to include "_$S($D(^TMP("FSC SELECT",$J,"EVALUES")):"this call",1:"calls")_" with the alert? ",DIR("B")="YES"
 | 
|---|
| 27 |  S DIR("?",1)="Enter YES to include calls with alert."
 | 
|---|
| 28 |  S DIR("?",2)="Enter NO to not include calls with the alert."
 | 
|---|
| 29 |  S DIR("?",3)="Enter '^' to exit without making changes or '??' for more help."
 | 
|---|
| 30 |  S DIR("?")="^D HELP^FSCU(.DIR)"
 | 
|---|
| 31 |  S DIR("??")="FSC U1 NOIS"
 | 
|---|
| 32 |  D ^DIR K DIR
 | 
|---|
| 33 |  I $D(DIRUT) S OK=0 Q
 | 
|---|
| 34 |  I Y D  I 'OK Q
 | 
|---|
| 35 |  .D
 | 
|---|
| 36 |  ..I $D(^TMP("FSC SELECT",$J,"EVALUES")) S CHOICE=FSCCNT_"-"_FSCCNT Q
 | 
|---|
| 37 |  ..I $D(^TMP("FSC SELECT",$J,"VVALUES")) S CHOICE=^("VVALUES") Q
 | 
|---|
| 38 |  ..S CHOICE="1-"_+@VALMAR
 | 
|---|
| 39 |  .D SELECT^FSCUL(CHOICE,"",CHOICE,"NVALUES",.OK)
 | 
|---|
| 40 |  .I 'OK Q
 | 
|---|
| 41 |  .S LISTNUM=0 F  S LISTNUM=$O(^TMP("FSC SELECT",$J,"NVALUES",LISTNUM)) Q:LISTNUM<1  S CALL=$$CALL^FSCLMPE1(LISTNUM),^TMP("FSCCALLS",$J,CALL)=""
 | 
|---|
| 42 |  I $D(DIRUT) S OK=0 Q
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | TYPE(TYPE,OK) ;
 | 
|---|
| 45 |  N DIR,Y K DIR S OK=1
 | 
|---|
| 46 |  S DIR(0)="SAMO^YOURSELF:YOURSELF;OTHERS:OTHERS",DIR("B")="OTHERS"
 | 
|---|
| 47 |  S DIR("A")="Will alert be sent to (Y)ourself or to (O)thers: "
 | 
|---|
| 48 |  S DIR("?",1)="Enter Y to send alert this alert to yourself at a later date."
 | 
|---|
| 49 |  S DIR("?",2)="Enter O to have alert sent to others immediately."
 | 
|---|
| 50 |  S DIR("?",3)="Note: Alerts sent to others can only be sent immediately."
 | 
|---|
| 51 |  S DIR("?",4)="      Alerts sent to yourself can be scheduled for later delivery."
 | 
|---|
| 52 |  S DIR("?")="^D HELP^FSCU(.DIR)"
 | 
|---|
| 53 |  S DIR("??")="FSC U1 NOIS"
 | 
|---|
| 54 |  D ^DIR K DIR
 | 
|---|
| 55 |  I $D(DIRUT) S OK=0 Q
 | 
|---|
| 56 |  S TYPE=Y
 | 
|---|
| 57 |  Q
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 | RECIP(RECIP,OK) ;
 | 
|---|
| 60 |  N DEL,DIR,DONE,X,Y K DIR,RECIP S OK=1
 | 
|---|
| 61 |  S DIR(0)="FAO^1:32",DIR("A")="Send to: "
 | 
|---|
| 62 |  S DIR("?",1)="Enter the persons to whom you want to send alerts."
 | 
|---|
| 63 |  S DIR("?",2)="You can also enter mail groups."
 | 
|---|
| 64 |  S DIR("?",3)="Enter 'return' or '^' to exit, '??' for more help."
 | 
|---|
| 65 |  S DIR("?")="^D HELP^FSCU(.DIR)"
 | 
|---|
| 66 |  S DIR("??")="FSC U1 NOIS"
 | 
|---|
| 67 |  S DONE=0 F  D  Q:DONE
 | 
|---|
| 68 |  .D ^DIR
 | 
|---|
| 69 |  .I $D(DIRUT) S DONE=1 Q
 | 
|---|
| 70 |  .I '$L(Y) S DONE=1 Q
 | 
|---|
| 71 |  .S Y=$$UP^XLFSTR(Y)
 | 
|---|
| 72 |  .S DEL=0 I $E(Y)="-" S (X,Y)=$E(Y,2,245),DEL=1
 | 
|---|
| 73 |  .I '$L(Y) W "  ??",$C(7) Q
 | 
|---|
| 74 |  .I DEL,'$D(RECIP) W "  ??",$C(7) Q
 | 
|---|
| 75 |  .D
 | 
|---|
| 76 |  ..I $E(Y,1,2)="G." D  Q
 | 
|---|
| 77 |  ...N DIC K DIC
 | 
|---|
| 78 |  ...S X=$E(Y,3,99),DIC=3.8,DIC(0)="EMQ" D ^DIC K DIC I Y<1 Q
 | 
|---|
| 79 |  ...I 'DEL S RECIP("G."_$P(Y,U,2))="" ;"G."_$P(Y,U,2)
 | 
|---|
| 80 |  ...E  D
 | 
|---|
| 81 |  ....I $D(RECIP("G."_$P(Y,U,2))) K RECIP("G."_$P(Y,U,2)) W "  Deleted."
 | 
|---|
| 82 |  ....E  W "  ??  <not previously selected>",$C(7)
 | 
|---|
| 83 |  ..N DIC K DIC
 | 
|---|
| 84 |  ..S X=Y,DIC=200,DIC(0)="EMQ" D ^DIC K DIC I Y<1 Q
 | 
|---|
| 85 |  ..I 'DEL S RECIP(+Y)="" ;$P(Y,U,2)
 | 
|---|
| 86 |  ..E  D
 | 
|---|
| 87 |  ...I $D(RECIP(+Y))#2 K RECIP(+Y) W "  Deleted."
 | 
|---|
| 88 |  ...E  W "  ??  <not previously selected>",$C(7)
 | 
|---|
| 89 |  .S DIR("A")="And send to: "
 | 
|---|
| 90 |  K DIR I $D(DTOUT) S OK=0
 | 
|---|
| 91 |  I '$L($O(RECIP(0))) S OK=0
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 |  ;
 | 
|---|
| 94 | DELIVER(DELIVERY,OK) ;
 | 
|---|
| 95 |  N DIR,FUTURE,LIMIT,Y K DIR S OK=1
 | 
|---|
| 96 |  S LIMIT=180,FUTURE=$$FMADD^XLFDT(DT,LIMIT)
 | 
|---|
| 97 |  S DIR(0)="DAO^DT:"_FUTURE_":EX",DIR("A")="Enter delivery date: ",DIR("B")="T"
 | 
|---|
| 98 |  S DIR("?",1)="Enter the delivery date for this alert."
 | 
|---|
| 99 |  S DIR("?",2)="This date can range from TODAY to T+"_LIMIT_" ("_$$FMTE^XLFDT(FUTURE)_")."
 | 
|---|
| 100 |  S DIR("?")="^D HELP^%DTC,HELP^FSCU(.DIR)"
 | 
|---|
| 101 |  S DIR("??")="FSC U1 NOIS"
 | 
|---|
| 102 |  D ^DIR K DIR
 | 
|---|
| 103 |  I $D(DIRUT) S OK=0 Q
 | 
|---|
| 104 |  S DELIVERY=Y
 | 
|---|
| 105 |  Q
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | SEND(XQAMSG,XQA,DELIVERY,OK) ;
 | 
|---|
| 108 |  N ALERT,CALL,DIR,XQADATA,XQAID,XQAROU,Y K DIR S OK=1
 | 
|---|
| 109 |  I $L(DELIVERY) S XQAMSG=XQAMSG_" from: Yourself, sent: "_$$FMTE^XLFDT(DT)
 | 
|---|
| 110 |  E  S XQAMSG=XQAMSG_" from: "_$$VALUE^FSCGET(DUZ,7100,2.1)
 | 
|---|
| 111 |  I DELIVERY=DT S DELIVERY=""
 | 
|---|
| 112 |  S DIR(0)="YAO",DIR("A")="Send this alert? ",DIR("B")="YES"
 | 
|---|
| 113 |  S DIR("?",1)="Enter YES to send this alert."
 | 
|---|
| 114 |  S DIR("?",2)="Enter NO or '^' to exit or '??' for more help."
 | 
|---|
| 115 |  S DIR("?")="^D HELP^FSCU(.DIR)"
 | 
|---|
| 116 |  S DIR("??")="FSC U1 NOIS"
 | 
|---|
| 117 |  D ^DIR K DIR
 | 
|---|
| 118 |  I $D(DIRUT) S OK=0 Q
 | 
|---|
| 119 |  I Y'=1 S OK=0 Q
 | 
|---|
| 120 |  D NEWALERT^FSCNOTS(DUZ,,XQAMSG,.ALERT,DELIVERY)
 | 
|---|
| 121 |  S CALL=0 F  S CALL=$O(^TMP("FSCCALLS",$J,CALL)) Q:CALL<1  D NEWSEND(ALERT,CALL)
 | 
|---|
| 122 |  I DELIVERY Q
 | 
|---|
| 123 |  S XQADATA=ALERT,XQAROU="ALERT^FSCNAR",XQAID="FSC-M"
 | 
|---|
| 124 |  D SETUP^XQALERT
 | 
|---|
| 125 |  Q
 | 
|---|
| 126 |  ;
 | 
|---|
| 127 | NEWSEND(ALERT,CALL) ; from FSCRPCN
 | 
|---|
| 128 |  N DA,DIK,NUM
 | 
|---|
| 129 |  S NUM=1+$P(^FSCD("SEND",0),U,3)
 | 
|---|
| 130 |  L +^FSCD("SEND",0):30 I '$T Q  ; *** needs ok
 | 
|---|
| 131 |  F  Q:'$D(^FSCD("SEND",NUM,0))  S NUM=NUM+1
 | 
|---|
| 132 |  S ^FSCD("SEND",NUM,0)=ALERT_U_CALL
 | 
|---|
| 133 |  S $P(^FSCD("SEND",0),U,3)=NUM,$P(^(0),U,4)=$P(^(0),U,4)+1
 | 
|---|
| 134 |  L -^FSCD("SEND",0)
 | 
|---|
| 135 |  S DIK="^FSCD(""SEND"",",DA=NUM D IX1^DIK
 | 
|---|
| 136 |  Q
 | 
|---|