| [613] | 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
 | 
|---|