PSDRFM ;BIR/JPW-File/Adj Mail Msg ; 29 Aug 94
;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
MSG ;send mailman message with count correction adj info
S PHARMN1=$S($P($G(^VA(200,+PHARM1,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN"),PSDRN=$S($P($G(^PSDRUG(+PSDR,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN")
K XMY,^TMP("PSDTAMSG",$J) S Y=PSDT X ^DD("DD") S RDT=Y S ^TMP("PSDTAMSG",$J,1,0)="Controlled Substances count correction has been filed."
S (^TMP("PSDTAMSG",$J,1.5,0),^TMP("PSDTAMSG",$J,1.7,0))=""
S ^TMP("PSDTAMSG",$J,1.6,0)="Option used: "_$P($G(XQY0),U,2)
S ^TMP("PSDTAMSG",$J,2,0)="Correction Date/Time: "_RDT,^TMP("PSDTAMSG",$J,3,0)=""
S ^TMP("PSDTAMSG",$J,4,0)="Ward signed out from: "_$G(NAOUN)
S:$G(PAT) ^TMP("PSDTAMSG",$J,4.5,0)="Patient: "_$P($G(^DPT(+PAT,0)),U)
S ^TMP("PSDTAMSG",$J,5,0)="Drug: "_PSDRN
S ^TMP("PSDTAMSG",$J,6,0)="Quantity adjusted: "_-QTY
S ^TMP("PSDTAMSG",$J,7,0)="Adjusted by: "_PHARMN1
S ^TMP("PSDTAMSG",$J,8,0)="Witnessed by: "_$P($G(^VA(200,+$G(NUR2),0)),U)
S ^TMP("PSDTAMSG",$J,9,0)="Reason: "_$G(PSDRE)
S XMSUB="CONTROLLED SUBS ADJUSTMENT",XMTEXT="^TMP(""PSDTAMSG"",$J,",XMDUZ="CONTROLLED SUBSTANCES MONITOR"
F JJ=0:0 S JJ=$O(^XUSEC("PSD ERROR",JJ)) Q:'JJ S XMY(JJ)=""
I $P($G(^PSD(58.8,+$G(NAOU),6)),U) S XMY("G."_$P($G(^XMB(3.8,+$P($G(^PSD(58.8,+$G(NAOU),6)),U),0)),U))="" W !!,"Notifying "
S:'$D(XMY) XMY(.5)="" D ^XMD K XMY,^TMP("PSDTAMSG",$J)
K JJ,PHARMN1,PSDRN,RDT,X,XMDUZ,XMSUB,XMTEXT,XMY,Y
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSDRFM 1459 printed Dec 13, 2024@01:48:39 Page 2
PSDRFM ;BIR/JPW-File/Adj Mail Msg ; 29 Aug 94
+1 ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
MSG ;send mailman message with count correction adj info
+1 SET PHARMN1=$SELECT($PIECE($GET(^VA(200,+PHARM1,0)),"^")]"":$PIECE(^(0),"^"),1:"UNKNOWN")
SET PSDRN=$SELECT($PIECE($GET(^PSDRUG(+PSDR,0)),"^")]"":$PIECE(^(0),"^"),1:"UNKNOWN")
+2 KILL XMY,^TMP("PSDTAMSG",$JOB)
SET Y=PSDT
XECUTE ^DD("DD")
SET RDT=Y
SET ^TMP("PSDTAMSG",$JOB,1,0)="Controlled Substances count correction has been filed."
+3 SET (^TMP("PSDTAMSG",$JOB,1.5,0),^TMP("PSDTAMSG",$JOB,1.7,0))=""
+4 SET ^TMP("PSDTAMSG",$JOB,1.6,0)="Option used: "_$PIECE($GET(XQY0),U,2)
+5 SET ^TMP("PSDTAMSG",$JOB,2,0)="Correction Date/Time: "_RDT
SET ^TMP("PSDTAMSG",$JOB,3,0)=""
+6 SET ^TMP("PSDTAMSG",$JOB,4,0)="Ward signed out from: "_$GET(NAOUN)
+7 if $GET(PAT)
SET ^TMP("PSDTAMSG",$JOB,4.5,0)="Patient: "_$PIECE($GET(^DPT(+PAT,0)),U)
+8 SET ^TMP("PSDTAMSG",$JOB,5,0)="Drug: "_PSDRN
+9 SET ^TMP("PSDTAMSG",$JOB,6,0)="Quantity adjusted: "_-QTY
+10 SET ^TMP("PSDTAMSG",$JOB,7,0)="Adjusted by: "_PHARMN1
+11 SET ^TMP("PSDTAMSG",$JOB,8,0)="Witnessed by: "_$PIECE($GET(^VA(200,+$GET(NUR2),0)),U)
+12 SET ^TMP("PSDTAMSG",$JOB,9,0)="Reason: "_$GET(PSDRE)
+13 SET XMSUB="CONTROLLED SUBS ADJUSTMENT"
SET XMTEXT="^TMP(""PSDTAMSG"",$J,"
SET XMDUZ="CONTROLLED SUBSTANCES MONITOR"
+14 FOR JJ=0:0
SET JJ=$ORDER(^XUSEC("PSD ERROR",JJ))
if 'JJ
QUIT
SET XMY(JJ)=""
+15 IF $PIECE($GET(^PSD(58.8,+$GET(NAOU),6)),U)
SET XMY("G."_$PIECE($GET(^XMB(3.8,+$PIECE($GET(^PSD(58.8,+$GET(NAOU),6)),U),0)),U))=""
WRITE !!,"Notifying "
+16 if '$DATA(XMY)
SET XMY(.5)=""
DO ^XMD
KILL XMY,^TMP("PSDTAMSG",$JOB)
+17 KILL JJ,PHARMN1,PSDRN,RDT,X,XMDUZ,XMSUB,XMTEXT,XMY,Y
+18 QUIT