SCUTBK10 ;ALB/SCK - Scheduling Broker Utilities ; 04 Sep 2002 12:53 PM ;;5.3;Scheduling;**41,264,297**;AUG 13, 1993 ; Q ; PARSE(SC) ; S SCFILE=$G(SC("FILE")) S SCIEN=$G(SC("IEN")) S SCVAL=$G(SC("VALUE")) S SCSTATUS=$G(SC("STATUS")) S SCSUBJ=$G(SC("SUBJ"),"PCMM NOTIFICATION") S SCDATE=$G(SC("DATE")) S SCADR=$G(SC("ADDRESS")) S SCHIEN=$G(SC("HIEN")) Q ; PTASGMM(SCOK,SC) ; Send MailMan message on single patient assignment to either ; a team or a position. ; ; Input: SC = BT^404.42 Ien Sets before action for team assign. ; SC = AT^404.42 Ien Sets after action for team assign. ; SC = BP^404.43 Ien Sets before action for position assign ; SC = BA^404.43 Ien Sets after action for position assign ; N SCACT,SCIEN ; D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 S SCACT=$P($G(SC),U,1) S SCIEN=$P($G(SC),U,2) G:SCACT="" PTASGNQ G:SCIEN="" PTASGNQ ; D @SCACT S SCOK=1 PTASGNQ Q ; BT ; D BEFORETM^SCMCDD1(SCIEN) Q AT ; D AFTERTM^SCMCDD1(SCIEN) Q BP ; D BEFORETP^SCMCDD1(SCIEN) Q AP ; D AFTERTP^SCMCDD1(SCIEN) Q ; MAILC(SCOK,SC) ; call to invoke broker to send a mailman message from the ; client ; N SCSUBJ,SCTEXT ; D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 S SCSUBJ=$G(SC("SUBJ"),"PCMM NOTIFICATION") S SCADR=$G(SC("ADDRESS")) ; S XMDUZ=DUZ S XMSUB=SCSUBJ D XMZ^XMA2 G:XMZ<1 MAILQ ; D BLDTEXT(.SC,.SCTEXT) S XMTEXT="SCTEXT(" ; I $P(SCADR,U,2)="TEST" D . S XMY("G.PCM MESSAGING@DEVFEX.ISC-ALBANY.VA.GOV")="" ; I $P(SCADR,U,2)="S" D . S XMY($P(SCADR,U,1))="" ; I $D(XMY)>0 D . D ^XMD . S SCOK=XMZ MAILQ Q ; BLDTEXT(SCVAL,SCTXT) ; Build the message text array from the client ; N SCLINE,CNT S SCLINE="" F S SCLINE=$O(SCVAL(SCLINE)) Q:+SCLINE=0 D . S SCTXT(SCLINE)=SCVAL(SCLINE) Q ; NEWHIST(SCOK,SC) ; Call to invoke the broker to determine whether the date for ; the history entry being added is valid. ; N SCFILE,SCIEN,SCDATE,SCSTATUS,SCVAL,SCERMSG D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 D PARSE(.SC) ; S SCOK=$$NEWHIST^SCMCDD(SCFILE,SCIEN,SCDATE,"SCERMSG",SCSTATUS) NEWDTQ Q ; NEWSTC(SCOK,SC) ; Call to invoke the broker to determine whether the status ; entry for the current entry is valid. ; N SCFILE,SCIEN,SCDATE,SCSTATUS,SCVAL,SCERMSG D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 D PARSE(.SC) ; S SCOK=$$NEWHIST^SCMCDD(SCFILE,SCIEN,SCDATE,"SCERMSG",SCSTATUS) NEWSTQ Q ; DELDTC(SCOK,SC) ; Call to invoke the broker to see if the history entry can ; be deleted. ; N SCFILE,SCHIEN,SCERMSG D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 D PARSE(.SC) ; S SCOK=$$OKDEL^SCMCDD(SCFILE,SCHIEN,"SCERMSG") DELDTQ Q ; INACTC(SCOK,SC) ; Call to invoke the broker to see if the history entry can ; be inactivated. ; N SCFILE,SCIEN,SCDATE D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 D PARSE(.SC) ; S SCOK=$$OKINACT^SCMCDD(SCFILE,SCIEN,SCDATE,"SCERMSG") INACTQ Q ; CHGDTC(SCOK,SC) ; Call to see if the date change for the history entry is ; valid. ; N SCFILE,SCIEN,SCDATE,SCERMSG D CHK^SCUTBK D TMP^SCUTBK ; S SCOK=0 D PARSE(.SC) ; S SCOK=$$OKCHGDT^SCMCDD(SCFILE,SCHIEN,SCDATE,"SCERMSG") CHGDTQ Q ; MNTEST(SCOK,SC) ; D CHK^SCUTBK D TMP^SCUTBK S DFN=+SC S SCOK=$$LST^DGMTU(DFN),$P(SCOK,U,10)=$$ONWAIT^SCMCWAIT(DFN),$P(SCOK,U,11)=$$SC^SCMCWAIT(SC) S $P(SCOK,U,12)=$$IU^SCMCTSK1(DFN) Q ;