VistA-WorldVistAEHR/r/BAR_CODE_MED_ADMIN-ALPB-PSB/PSBRPCXM.m

28 lines
1.3 KiB
Mathematica

PSBRPCXM ;BIRMINGHAM/EFC-VISTA MAILMAN INTERFACE ;Mar 2004
;;3.0;BAR CODE MED ADMIN;;Mar 2004
;
RPC(RESULTS,PSBCMD,PSBDATA) ; Main RPC point
S RESULTS=$NA(^TMP("PSBMSG",$J)),^TMP("PSBMSG",$J,0)="-1^Unknown Error"
I PSBCMD="CREATE" K ^TMP("PSBMAIL",$J) S ^TMP($J,0)="1^Message '"_$J_"' created."
D:PSBCMD="APPEND"
.I $G(PSBDATA)]"" S Y=$O(^TMP("PSBMAIL",$J,"TEXT",""),-1)+1,^TMP("PSBMAIL",$J,"TEXT",Y,0)=PSBDATA
.S X="PSBDATA"
.F S X=$Q(@X) Q:X="" S Y=$O(^TMP("PSBMAIL",$J,"TEXT",""),-1)+1,^TMP("PSBMAIL",$J,"TEXT",Y,0)=@X
.S Y=+$O(^TMP("PSBMAIL",$J,"TEXT",""),-1)
.S ^TMP("PSBMAIL",$J,"TEXT",0)="^^"_Y
.S ^TMP($J,0)="1^Text appended."
I PSBCMD="SUBJECT" S ^TMP("PSBMAIL",$J,"SUBJECT")=PSBDATA,^TMP($J,0)="1^Message subject set to '"_PSBDATA_"'"
D:PSBCMD="SENDTO"
.I $G(PSBDATA)]"" S Y=$O(^TMP("PSBMAIL",$J,"SENDTO",""),-1)+1,^TMP("PSBMAIL",$J,"SENDTO",Y)=PSBDATA
.S X="PSBDATA"
.F S X=$Q(@X) Q:X="" S Y=$O(^TMP("PSBMAIL",$J,"SENDTO",""),-1)+1,^TMP("PSBMAIL",$J,"SENDTO",Y)=@X
.S ^TMP($J,0)="1^Recipients Added."
D:PSBCMD="EXECUTE"
.S XMSUB=$G(^TMP("PSBMAIL",$J,"SUBJECT"),"No subject")
.S XMTEXT="^TMP(""PSBMAIL"",$J,""TEXT"","
.F X=0:0 S X=$O(^TMP("PSBMAIL",$J,"SENDTO",X)) Q:'X S XMY(^(X))=""
.D ^XMD
.S ^TMP($J,0)="1^Message Sent. ID: "_+$G(XMZ)
Q
;