| [613] | 1 | PSXHSYS ;BIR/WPB/PDW-Displays System Status at CMOP Host Site ;MAR 1,2002@16:11:17
 | 
|---|
 | 2 |  ;;2.0;CMOP;**32,38**;11 Apr 97
 | 
|---|
 | 3 | STATUS ;display CMOP status for entry action on RX menu
 | 
|---|
 | 4 |  G:$G(END) EXIT
 | 
|---|
 | 5 |  W @IOF
 | 
|---|
 | 6 |  K PSX1,ST,ST1,ST2,SITE,XXX,YYY,ZZZ,CNT,BCNT,OCNT,QRY,TQRY,TRX,PSXSTAT,PSXTXT,QT,ACKT,DOWN,DORD,DRX,DQRY,DTQRY,SP,SP1,X1,X2,X3,X4,SP3,SP2,ACKTM,SP4,SP5,X5,X6,SP6,END,PSXTXT,PSXTXT1,PSXTXT3
 | 
|---|
 | 7 |  K AF,AFNXT,ANXT,ARF,ATM,CQRY,DB,DBF,DBNXT,DNXT,IEN512,IN5521,LFP,LR,LRF,LRFP,O,QFLG,QTM,RF,RFANXT,RFPNXT,RNXT,SQRY,STAT,STRT,TRANS,TTRX,RFNXT,RFP,AFNS,DBNS,RFNS,RFPNS,XBAT,XREC,ZTSK,ZZZ
 | 
|---|
 | 8 |  N PSXSTAT,PSXTXT
 | 
|---|
 | 9 |  S PSXSTAT=$G(^PSX(553,1,"S"))
 | 
|---|
 | 10 |  Q:PSXSTAT=""
 | 
|---|
 | 11 |  N PSX1,PSX2 S (CNT,BCNT,OCNT,TRX,QFLG,TTRX,DOWN,DORD,DRX,DQRY,DTQRY)=0
 | 
|---|
 | 12 |  S QRY=$P(^PSX(553.1,0),"^",3)
 | 
|---|
 | 13 |  S STAT=$P(^PSX(553.1,QRY,0),"^",5) D
 | 
|---|
 | 14 |  .I $G(STAT)'=1&($G(STAT)'=5) S QRY=QRY-1 S TRX=$P(^PSX(553.1,QRY,0),"^",6),QT=$$FMTE^XLFDT($P($G(^PSX(553.1,QRY,0)),"^",4),1),QTM=$P(QT,",",1)_"@"_$P($P(QT,"@",2),":",1,2) S:$G(TRX)="" TRX=0 Q
 | 
|---|
 | 15 |  .I $G(STAT)=5 S QFLG=1,TTRX=$P(^PSX(553.1,QRY,0),"^",6) S:$G(TRX)="" TTRX=0 S TRX=$P(^PSX(553.1,QRY-1,0),"^",6) S:$G(TRX)="" TRX=0 Q
 | 
|---|
 | 16 |  .I $G(STAT)=1 S TRX=$P(^PSX(553.1,QRY,0),"^",6),QT=$$FMTE^XLFDT($P($G(^PSX(553.1,QRY,0)),"^",4),1),QTM=$P(QT,",")_"@"_$P($P(QT,"@",2),":",1,2) S:$G(TRX)="" TRX=0
 | 
|---|
 | 17 |  S PSX1=$G(^PSX(553,1,99)) S:$G(PSX1)>0 TRANS=$P(PSX1,"-",1,2),IN5521=$O(^PSX(552.1,"B",$G(TRANS),"")),SITE=$P(^PSX(552.1,IN5521,"P"),"^"),IEN512=$O(^PSX(552.2,"B",PSX1,"")) D
 | 
|---|
 | 18 |  .S:$G(PSX1)'>0 PSX1="Nothing Downloaded"
 | 
|---|
 | 19 |  .S:$G(IEN512)>0 ATM=$$HTE^XLFDT($P($G(^PSX(552.2,IEN512,0)),"^",4),1),ACKTM=$P(ATM,",",1)_"@"_$P($P(ATM,"@",2),":",1,2)
 | 
|---|
 | 20 |  .S:$G(ACKTM)="" ATM=$$FMTE^XLFDT($P(^PSX(552.1,IN5521,0),"^",6)),ACKTM=$P(ATM,",",1)_"@"_$P($P(ATM,"@",2),":",1,2)
 | 
|---|
 | 21 |  I '$D(^PSX(552.1,"AQ")) S CNT=0
 | 
|---|
 | 22 |  I $D(^PSX(552.1,"AQ")) S XXX="" F  S XXX=$O(^PSX(552.1,"AQ",XXX)) Q:'XXX  S BCNT=BCNT+1,YYY="" F  S YYY=$O(^PSX(552.1,"AQ",XXX,YYY)) Q:'YYY  S ZZZ=0 F  S ZZZ=$O(^PSX(552.1,"AQ",XXX,YYY,ZZZ)) Q:ZZZ'>0  D
 | 
|---|
 | 23 |  .S CNT=$P($G(^PSX(552.1,ZZZ,1)),"^",4)+CNT,OCNT=$P($G(^PSX(552.1,ZZZ,1)),"^",3)+OCNT
 | 
|---|
 | 24 |  S STRT=DT_".0000" F  S STRT=$O(^PSX(552.1,"AP",STRT)) Q:STRT'>0  S XBAT="" F  S XBAT=$O(^PSX(552.1,"AP",STRT,XBAT)) Q:XBAT=""  S XREC=0 F  S XREC=$O(^PSX(552.1,"AP",STRT,XBAT,XREC)) Q:XREC'>0  D
 | 
|---|
 | 25 |  .S DOWN=$G(DOWN)+1,DORD=$G(DORD)+$P(^PSX(552.1,XREC,1),"^",3),DRX=$G(DRX)+$P(^PSX(552.1,XREC,1),"^",4)
 | 
|---|
 | 26 |  S SQRY=$G(QRY)-30,CQRY=DT_".0000" F  S SQRY=$O(^PSX(553.1,SQRY)) Q:SQRY'>0  I $P(^PSX(553.1,SQRY,0),"^",2)>CQRY S DQRY=$G(DQRY)+1,DTQRY=$G(DTQRY)+$P(^PSX(553.1,SQRY,0),"^",6)
 | 
|---|
 | 27 |  S RF=$O(^PSX(554,"AB","")) S:$G(RF)'>0 RFNS=1 D
 | 
|---|
 | 28 |  .Q:$G(RFNS)=1
 | 
|---|
 | 29 |  .S ZTSK=$P(^PSX(554,1,1,RF,0),"^",3),LR=$$FMTE^XLFDT($P(^PSX(554,1,1,RF,0),"^",9)) D ISQED^%ZTLOAD  S:$G(ZTSK(0))=0!($G(ZTSK(0))=1) RNXT=$$FMTE^XLFDT($$HTFM^XLFDT($G(ZTSK("D"))))
 | 
|---|
 | 30 |  .S LRF=$P(LR,",",1)_"@"_$P($P(LR,"@",2),":",1,2),RFNXT=$P(RNXT,",",1)_"@"_$P($P(RNXT,"@",2),":",1,2) S:$G(LR)="" LRF="" S:$G(RNXT)="" RFNXT=""
 | 
|---|
 | 31 |  S DB=$O(^PSX(554,"AD","")) S:$G(DB)'>0 DBNS=1 D
 | 
|---|
 | 32 |  .Q:$G(DBNS)=1
 | 
|---|
 | 33 |  .S ZTSK=$P(^PSX(554,1,1,DB,0),"^",3),DB=$$FMTE^XLFDT($P(^PSX(554,1,1,DB,0),"^",9)) D ISQED^%ZTLOAD  S:$G(ZTSK(0))=0!($G(ZTSK(0))=1) DNXT=$$FMTE^XLFDT($$HTFM^XLFDT($G(ZTSK("D"))))
 | 
|---|
 | 34 |  .S DBF=$P(DB,",",1)_"@"_$P($P(DB,"@",2),":",1,2),DBNXT=$P(DNXT,",",1)_"@"_$P($P(DNXT,"@",2),":",1,2) S:$G(DB)="" DBF="" S:$G(DNXT)="" DBNXT=""
 | 
|---|
 | 35 |  S RFP=$O(^PSX(554,"AR","")) S:$G(RFP)'>0 RFPNS=1 D
 | 
|---|
 | 36 |  .Q:$G(RFPNS)=1
 | 
|---|
 | 37 |  .S ZTSK=$P(^PSX(554,1,1,RFP,0),"^",3),LFP=$$FMTE^XLFDT($P(^PSX(554,1,1,RFP,0),"^",9)) D ISQED^%ZTLOAD  S:$G(ZTSK(0))=0!($G(ZTSK(0))=1) RFANXT=$$FMTE^XLFDT($$HTFM^XLFDT($G(ZTSK("D"))))
 | 
|---|
 | 38 |  .S LRFP=$P(LFP,",",1)_"@"_$P($P(LFP,"@",2),":",1,2),RFPNXT=$P(RFANXT,",",1)_"@"_$P($P(RFANXT,"@",2),":",1,2) S:$G(LFP)="" LRFP="" S:$G(RFANXT)="" RFPNXT=""
 | 
|---|
 | 39 |  S AF=$O(^PSX(554,"AS","")) S:$G(AF)'>0 AFNS=1 D
 | 
|---|
 | 40 |  .Q:$G(AFNS)=1
 | 
|---|
 | 41 |  .S ZTSK=$P(^PSX(554,1,1,AF,0),"^",3),AF=$$FMTE^XLFDT($P(^PSX(554,1,1,AF,0),"^",9)) D ISQED^%ZTLOAD  S:$G(ZTSK(0))=0!($G(ZTSK(0))=1) ANXT=$$FMTE^XLFDT($$HTFM^XLFDT($G(ZTSK("D"))))
 | 
|---|
 | 42 |  .S ARF=$P(AF,",",1)_"@"_$P($P(AF,"@",2),":",1,2),AFNXT=$P(ANXT,",",1)_"@"_$P($P(ANXT,"@",2),":",1,2) S:$G(AF)="" ARF="" S:$G(ANXT)="" AFNXT=""
 | 
|---|
 | 43 |  S X1=(18-$L(PSX1)),X2=(23-$L(SITE)),X3=$S($G(QFLG)=0:(17-$L(QRY)),1:(18-$L((QRY-1)))),X4=(18-$L(TRX)),TRX=TRX_" Rx's",X5=(23-$L(TRX)),X6=(18-$L(BCNT))
 | 
|---|
 | 44 |  F I=1:1:X1 S SP=$G(SP)_"."
 | 
|---|
 | 45 |  F J=1:1:X2 S SP1=$G(SP1)_"."
 | 
|---|
 | 46 |  F K=1:1:X3 S SP2=$G(SP2)_"."
 | 
|---|
 | 47 |  F M=1:1:X4 S SP3=$G(SP3)_"."
 | 
|---|
 | 48 |  F L=1:1:X5 S SP5=$G(SP5)_"."
 | 
|---|
 | 49 |  F N=1:1:X6 S SP6=$G(SP6)_"."
 | 
|---|
 | 50 |  F O=1:1:77 S PSXTXT3=$G(PSXTXT3)_"*"
 | 
|---|
 | 51 |  S SP4="...........",PSXTXT1="*****Release Data Acknowledgements > 24 hours OUTSTANDING*****",PSXTXT2="*****Rejected Orders OUTSTANDING*****"
 | 
|---|
 | 52 |  K I,J,K,M,L,N,O
 | 
|---|
 | 53 |  S END=1
 | 
|---|
 | 54 |  D RPT G:$G(PSXIN)=1 ASK G:$G(PSXIN)'=1 ASK1
 | 
|---|
 | 55 |  G EXIT
 | 
|---|
 | 56 |  Q
 | 
|---|
 | 57 | ASK R !,"Enter ""^"" to quit",END:30 G:$G(END)["^" EXIT K END G STATUS
 | 
|---|
 | 58 | ASK1 S DIR(0)="E" D ^DIR G:$G(Y)["^"!($G(DIRUT))!($G(DIROUT))!($G(DTOUT))!($G(DUOUT)) EXIT G EXIT
 | 
|---|
 | 59 | RPT S PSXTXT="CMOP SYSTEM STATUS"
 | 
|---|
 | 60 |  W !!,?((IOM\2)-($L(PSXTXT)\2)),PSXTXT
 | 
|---|
 | 61 |  W !!," Interface",?23,": ",$S(PSXSTAT="R":"RUNNING",1:"STOPPED")
 | 
|---|
 | 62 |  W:$G(BCNT)>0 !!," Transmissions Queued",?23,": ",$G(BCNT),SP6,"Orders/Rx's: ",$G(OCNT),"/",$G(CNT)
 | 
|---|
 | 63 |  W:$G(BCNT)'>0 !!," Transmissions Queued",?23,": ","Nothing in the Queue"
 | 
|---|
 | 64 |  W !!," Last Order Processed ",?23,": ",$G(PSX1),$G(SP),$G(SITE),$G(SP1),$G(ACKTM)
 | 
|---|
 | 65 |  W !!," Last Query Completed",?23,": #",$S($G(QFLG)=0:$G(QRY),$G(QFLG)=1:$G(QRY)-1,1:""),$G(SP2),$G(TRX),$G(SP5),$G(QTM)
 | 
|---|
 | 66 |  W:$D(^PSX(554,"AC")) !!,?((IOM\2)-($L(PSXTXT1)\2)),PSXTXT1
 | 
|---|
 | 67 |  W:$D(^PSX(552.2,"AR")) !!,?((IOM\2)-($L(PSXTXT2)\2)),PSXTXT2
 | 
|---|
 | 68 |  W:('$D(^PSX(552.2,"AR"))&('$D(^PSX(554,"AC")))) !!," ",PSXTXT3
 | 
|---|
 | 69 |  W !!," Background Process",?43,"Last Ran",?66,"Scheduled For"
 | 
|---|
 | 70 |  W !!," Release Data Filed in Master Database.....",?43,$G(LRF),SP4,$S($G(RFNS)=1:"Not Scheduled",1:$G(RFNXT))
 | 
|---|
 | 71 |  W !," Database Purge............................",?43,$G(DBF),SP4,$S($G(DBNS)=1:"Not Scheduled",1:$G(DBNXT))
 | 
|---|
 | 72 |  W !," Release File Purge........................",?43,$G(LRFP),SP4,$S($G(RFPNS)=1:"Not Scheduled",1:$G(RFPNXT))
 | 
|---|
 | 73 |  W !," Release Acknowledgement File Purge........",?43,$G(ARF),SP4,$S($G(AFNS)=1:"Not Scheduled",1:$G(AFNXT))
 | 
|---|
 | 74 |  Q
 | 
|---|
 | 75 | EXIT K PSX1,ST,ST1,ST2,SITE,XXX,YYY,ZZZ,CNT,BCNT,OCNT,QRY,TQRY,TRX,PSXSTAT,PSXTXT,QT,ACKT,DOWN,DORD,DRX,DQRY,DTQRY,SP,SP1,X1,X2,X3,X4,SP3,SP2,ACKTM,SP4,SP5,X5,X6,SP6,END,PSXTXT,PSXTXT1,PSXTXT3,PSXTXT2,PSXIN
 | 
|---|
 | 76 |  K AF,AFNXT,ANXT,ARF,ATM,CQRY,DB,DBF,DBNXT,DNXT,IEN512,IN5521,LFP,LR,LRF,LRFP,O,QFLG,QTM,RF,RFANXT,RFPNXT,RNXT,SQRY,STAT,STRT,TRANS,TTRX,RFNXT,RFP,AFNS,DBNS,RFNS,RFPNS,XBAT,XREC,ZTSK,ZZZ
 | 
|---|
 | 77 |  Q
 | 
|---|
 | 78 | EDIT ;Enter/Edit site parameters on the CMOP host facility system.
 | 
|---|
 | 79 |  I $D(^XUSEC("PSXDOD",DUZ)) D EDITDOD^PSXHSYS1 ; setup interagency import parameters
 | 
|---|
 | 80 |  S (QA,QI)=$P(^PSX(553,1,0),"^",9),QLR=$P(^PSX(553,1,0),"^",8) S:$G(QI)="" QI=1 S:$G(QLR)'>0 QLR=10000
 | 
|---|
 | 81 |  I $G(QI)["." S LEN=$L($P(QI,".",2)) S:$G(LEN)=1 QI=$G(QI)_"0"
 | 
|---|
 | 82 |  S HR=$P(QI,".")_" hr ",MIN=(60*($P(QI,".",2)/100))_" min" S:$P(QI,".",2)="" MIN=""
 | 
|---|
 | 83 |  S QRI=$S($P(QI,".")>0:$G(HR)_$G(MIN),1:$G(MIN))
 | 
|---|
 | 84 |  S REC=$O(^PSX(554,"AS","")) I $G(REC)>0 S RAS=$P(^PSX(554,1,1,$G(REC),0),"^",8) S:$G(RAS)'>0 RAS=10
 | 
|---|
 | 85 | QRI W !!,"Query Request Interval:  ",$G(QRI),"//  " R QRYINT:DTIME
 | 
|---|
 | 86 |  G:$G(QRYINT)["^" EXIT1
 | 
|---|
 | 87 |  S QIA=QRYINT S:QRYINT="" QIA=QI
 | 
|---|
 | 88 |  I $G(QIA)["." S LEN=$L($P(QIA,".",2)) S:$G(LEN)=1 QIA=$G(QIA)_"0"
 | 
|---|
 | 89 |  S HR=$P(QIA,".")_" hr ",MIN=(60*($P(QIA,".",2)/100))_" min" S:$P(QIA,".",2)="" MIN=""
 | 
|---|
 | 90 |  S QRIB=$S($P(QIA,".")>0:$G(HR)_$G(MIN),1:$G(MIN))
 | 
|---|
 | 91 |  W:$G(QRIB) " ( ",$G(QRIB),")"
 | 
|---|
 | 92 |  I $G(QRYINT)["?" W !!,"This is the minimum time interval between query requests.",!,"Enter the number in hour(s) and/or fractions of an hour interval.",!,"Example: 1.25 = 12 hr 25 min, .30 = 30 min, 1 = 1 hr.",! G QRI
 | 
|---|
 | 93 |  S:$G(QRYINT)'>0 QRYINT=$G(QA)
 | 
|---|
 | 94 |  S DR="14///"_$G(QRYINT),DIE="^PSX(553,",DA=1
 | 
|---|
 | 95 |  L +^PSX(553,1):600 Q:'$T  D ^DIE L -PSX(553,1) K DA,DR,DIE
 | 
|---|
 | 96 |  G:$P(^PSX(553,1,0),"^",9)'=$G(QRYINT) QRI
 | 
|---|
 | 97 | QLR W !,"Query Limit Request:  ",$G(QLR)," Rx's//  " R QLIM:DTIME
 | 
|---|
 | 98 |  G:$G(QLIM)["^" EXIT1
 | 
|---|
 | 99 |  I $G(QLIM)["?" W !!,"This is the maximum number of Rx's that will be accepted during a query request.",! G QLR
 | 
|---|
 | 100 |  S:$G(QLIM)="" QLIM=$G(QLR)
 | 
|---|
 | 101 |  I $G(QLIM)'?1.5N W !,"Enter a numeric value between 1 and 99999." G QLR
 | 
|---|
 | 102 |  I $G(QLIM)'>0&($G(QLIM)'<99999) W !,"Enter a numeric value between 1 and 99999." G QLR
 | 
|---|
 | 103 |  S $P(^PSX(553,1,0),"^",8)=$G(QLIM)
 | 
|---|
 | 104 |  G:$G(RAS)="" EXIT1
 | 
|---|
 | 105 | RAS W !,"Days to Retain Release Summary:  ",$G(RAS)," days//  " R ACKSUM:DTIME
 | 
|---|
 | 106 |  G:$G(ACKSUM)["^" EXIT1
 | 
|---|
 | 107 |  I $G(ACKSUM)["?" W !!,"This is the number of days of Release Acknowledgements that will be retained in",!,"the file system. Maximum number of days is 10, minimum number of days is 0.",! G RAS
 | 
|---|
 | 108 |  S:$G(ACKSUM)="" ACKSUM=$G(RAS)
 | 
|---|
 | 109 |  I $G(ACKSUM)'?1.2N W !,"Enter a number value between 1 and 10." G RAS
 | 
|---|
 | 110 |  I $G(ACKSUM)>10 W !,"Maximum number of days to keep is 10." G RAS
 | 
|---|
 | 111 |  I $G(ACKSUM)'>0 W !,"Minimum number of days to keep is 1." G RAS
 | 
|---|
 | 112 |  ;W " ( ",$G(ACKSUM)," )"
 | 
|---|
 | 113 |  S:$G(REC)'>0 REC=$O(^PSX(554,"AS","")) I $G(REC)>0 S $P(^PSX(554,1,1,$G(REC),0),"^",8)=$G(ACKSUM)
 | 
|---|
 | 114 | DRCSTMIS ;edit 554 parameter for "CMOP DRUG Cost Missing" report
 | 
|---|
 | 115 |  K DR,DA,DIE
 | 
|---|
 | 116 |  S DA=1,DR=8,DIE=554 L +^PSX(554,1):600 Q:'$T  D ^DIE
 | 
|---|
 | 117 |  L -^PSX(554,1) K DA,DR,DIE
 | 
|---|
 | 118 | EXIT1 K QI,QLR,QRI,QRYINT,QRIB,QA,QLIM,QRY,QRYA,RAS,ACKSUM,LEN,REC,HR,MIN,QIA Q
 | 
|---|