| 1 | PSXRTRA1 ;BIR/PDW-RETRANSMISSION REPORT SUBROUTINE ;11 AUG 2002 | 
|---|
| 2 | ;;2.0;CMOP;**41,51**;11 Apr 97 | 
|---|
| 3 | ;Reference to ^PSRX(   supported by DBIA #1977 | 
|---|
| 4 | REPORT ; | 
|---|
| 5 | K ^TMP($J,"PSXRTRPT"),LSSN S CNT=21 | 
|---|
| 6 | S PTNM="" F  S PTNM=$O(^PSX(550.2,OLDBAT,15,"C",PTNM)) Q:PTNM=""  D | 
|---|
| 7 | . S DFN=0 F  S LSSN="" S DFN=$O(^PSX(550.2,OLDBAT,15,"C",PTNM,DFN)) Q:DFN'>0  D RXS | 
|---|
| 8 | D MM | 
|---|
| 9 | K PTNM,RXPTR,XSTAT | 
|---|
| 10 | Q | 
|---|
| 11 | RXS ; | 
|---|
| 12 | S RXPTR=0 F  S RXPTR=$O(^PSX(550.2,OLDBAT,15,"C",PTNM,DFN,RXPTR)) Q:RXPTR=""  D | 
|---|
| 13 | . S FILL=$O(^PSX(550.2,OLDBAT,15,"C",PTNM,DFN,RXPTR,"")) | 
|---|
| 14 | . D TXT | 
|---|
| 15 | Q | 
|---|
| 16 | MM S XMSUB="CMOP Retransmission Report for "_$G(OLDBATNM),XMDUZ=.5,XMDUN="CMOP Managers" | 
|---|
| 17 | D XMZ^XMA2 G:$G(XMZ)'>0 MM | 
|---|
| 18 | S ^XMB(3.9,XMZ,2,1,0)="CMOP Re-Transmission Report" | 
|---|
| 19 | S ^XMB(3.9,XMZ,2,2,0)=$G(PSXBATNM)_" Re-Transmission of "_$G(OLDBATNM) | 
|---|
| 20 | S ^XMB(3.9,XMZ,2,3,0)=" " | 
|---|
| 21 | S ^XMB(3.9,XMZ,2,4,0)="The Original Transmission # "_$G(OLDBATNM)_" contained:" | 
|---|
| 22 | S ^XMB(3.9,XMZ,2,5,0)="Beginning Message Number: "_$P(^PSX(550.2,OLDBAT,1),"^",5) | 
|---|
| 23 | S ^XMB(3.9,XMZ,2,6,0)="Ending Message Number   : "_$P(^PSX(550.2,OLDBAT,1),"^",6) | 
|---|
| 24 | S ^XMB(3.9,XMZ,2,7,0)="Total Orders            : "_$P(^PSX(550.2,OLDBAT,1),"^",7) | 
|---|
| 25 | S ^XMB(3.9,XMZ,2,8,0)="Total Rx's              : "_$P(^PSX(550.2,OLDBAT,1),"^",8) | 
|---|
| 26 | S ^XMB(3.9,XMZ,2,9,0)=" " | 
|---|
| 27 | S ^XMB(3.9,XMZ,2,10,0)="Retransmission # "_$G(PSXBATNM)_" contained:" | 
|---|
| 28 | S ^XMB(3.9,XMZ,2,11,0)="Beginning Message Number: "_$G(MCT) | 
|---|
| 29 | S ^XMB(3.9,XMZ,2,12,0)="Ending Message Number   : "_$G(LMSG) | 
|---|
| 30 | S ^XMB(3.9,XMZ,2,13,0)="Total Orders            : "_$G(PSXMSGCT) | 
|---|
| 31 | S ^XMB(3.9,XMZ,2,14,0)="Total Rx's              : "_$G(PSXRXCT) | 
|---|
| 32 | S ^XMB(3.9,XMZ,2,15,0)=" " | 
|---|
| 33 | S ^XMB(3.9,XMZ,2,16,0)="Following is a list of the original prescription orders and their status." | 
|---|
| 34 | S ^XMB(3.9,XMZ,2,17,0)="** Prescriptions that have been refilled or released are not sent. **" | 
|---|
| 35 | I '$D(^TMP($J,"PSXRTRPT")) S ^XMB(3.9,XMZ,17,0)="All prescriptions were transmitted" S CNT=17 G MAIL | 
|---|
| 36 | F JJ=18,19,20 S ^XMB(3.9,XMZ,2,JJ,0)=" " | 
|---|
| 37 | S XX="Patient",Y="SSN",XX=$$SETSTR^VALM1("SSN",XX,25,3) | 
|---|
| 38 | S XX=$$SETSTR^VALM1("RX",XX,40,2),XX=$$SETSTR^VALM1("RELEASE DATE | FILL'=",XX,55,21) | 
|---|
| 39 | S ^XMB(3.9,XMZ,2,21,0)=XX | 
|---|
| 40 | M ^XMB(3.9,XMZ,2)=^TMP($J,"PSXRTRPT","MM") | 
|---|
| 41 | MAIL ; | 
|---|
| 42 | S ^XMB(3.9,XMZ,2,0)="^3.92A^"_CNT_"^"_CNT_"^"_DT | 
|---|
| 43 | K XMY | 
|---|
| 44 | S XMY(DUZ)="" ;****TESTING | 
|---|
| 45 | D GRP^PSXNOTE ;****TESTING | 
|---|
| 46 | D ENT1^XMD | 
|---|
| 47 | Q | 
|---|
| 48 | TXT ; store PAT & RX info for mail message | 
|---|
| 49 | D DEM^VADPT S SSN=$P(VADM(2),U,2),PATNM=VADM(1) | 
|---|
| 50 | S RXNM=$P(^PSRX(RXPTR,0),U)_"-"_FILL | 
|---|
| 51 | S XSTAT="" | 
|---|
| 52 | I '$D(^PSX(550.2,PSXBAT,15,"B",RXPTR)) D | 
|---|
| 53 | .S XSTAT=$$TESTREL^PSXRTRAN(RXPTR,FILL) | 
|---|
| 54 | .S:XSTAT="SENT" XSTAT="OTHER" | 
|---|
| 55 | S XX="" | 
|---|
| 56 | I $G(LSSN)'=SSN D | 
|---|
| 57 | . S XX=$E(PATNM,1,23) | 
|---|
| 58 | . S XX=$$SETSTR^VALM1(SSN,XX,25,$L(SSN)) | 
|---|
| 59 | S XX=$$SETSTR^VALM1(RXNM,XX,40,$L(RXNM)) | 
|---|
| 60 | S:$L(XSTAT) XX=$$SETSTR^VALM1(XSTAT,XX,60,$L(XSTAT)) | 
|---|
| 61 | S CNT=$G(CNT)+1,LSSN=SSN | 
|---|
| 62 | S ^TMP($J,"PSXRTRPT","MM",CNT,0)=XX | 
|---|
| 63 | Q | 
|---|
| 64 | CANMSG ; lock on 550.1 not achieved send transmission cancelled message | 
|---|
| 65 | S PSXCS=+$G(PSXCS) | 
|---|
| 66 | S XMSUB=$S($G(PSXCS):"",1:"NON-")_"CS Retransmission Cancelled" | 
|---|
| 67 | S XMTEXT="TXT(" | 
|---|
| 68 | S TXT(1,0)="The "_$S($G(PSXCS):"",1:"NON-")_"CS Manual Transmission was cancelled "_$$GET1^DIQ(550.2,OLDBAT,.01) | 
|---|
| 69 | S TXT(2,0)="It could not obtain a lock on the RX QUEUE file. #550.1" | 
|---|
| 70 | S TXT(3,0)="This indicates that a transmission was in progress." | 
|---|
| 71 | S TXT(6,0)=" " | 
|---|
| 72 | S TXT(7,0)="If you are getting this message frequently, please contact your IRM Group" | 
|---|
| 73 | D EN^PSXNOTE ;****TESTING | 
|---|
| 74 | D ^XMD | 
|---|
| 75 | Q | 
|---|
| 76 | SETSTAT ;Set RX CMOP status to re-transmitted | 
|---|
| 77 | N RXDA,CMPDA | 
|---|
| 78 | S RXDA=0 F  S RXDA=$O(^PSX(550.2,PSXBAT,15,"B",RXDA)) Q:RXDA'>0  D | 
|---|
| 79 | . S CMPDA=$O(^PSRX(RXDA,4,"B",OLDBAT,0)) Q:'CMPDA | 
|---|
| 80 | . Q:'CMPDA  Q:'$D(^PSRX(RXDA,4,CMPDA,0)) | 
|---|
| 81 | . S $P(^PSRX(RXDA,4,CMPDA,0),U,4)=2 | 
|---|
| 82 | Q | 
|---|