Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BLRPCCST

BLRPCCST.m

Go to the documentation of this file.
  1. BLRPCCST ;IHS/OIT/MKK - Lab To PCC Linker Status Check ;JUL 06, 2010 3:14 PM
  1. ;;5.2;IHS LABORATORY;**1030**;NOV 01, 1997
  1. ;
  1. ; Based upon the BLRPST routine
  1. ;
  1. EP ; EP -
  1. NEW BLR,BLRCNT,BLRDTM,BLRED,BLREDH,BLRF,BLRHDR,BLRLEA,BLRLEDH
  1. NEW BLRLEP,BLRLN,BLRLOG,BLRLPDH,BLRLSQA,BLRLSQP,BLRLTA,BLRLTP
  1. NEW BLRNPMT,BLRNSQP,BLRPCC,BLRPD,BLRPDH,BLRSITE,BLRSTOP,BLRTA
  1. NEW BLRTP,BLRX,IOBOFF,IOBON
  1. NEW MAILSTR,MAILLINE,RM
  1. ;
  1. D INIT
  1. D DSP
  1. D KILL
  1. Q
  1. ;
  1. DSP ; EP
  1. S BLRX=$G(^BLRSITE(BLRSITE,0)) ; 0 NODE
  1. S BLRSTOP=+$P(BLRX,U,9) ; 'STOP PROCESSOR'
  1. Q:'BLRSTOP ; If processor not stopped, quit
  1. ;
  1. S BLRPDH=$P(BLRX,U,6) ; 'START PROCESSING DATE'
  1. S BLREDH=$P(BLRX,U,7) ; 'START EVENT DATE'
  1. S BLRLOG=$P(BLRX,U,2) ; 'LAB LOG TRANSACTION'
  1. S BLRPCC=$P(BLRX,U,3) ; 'LAB LOG TO PCC'
  1. S:'BLRPDH BLRPDH=+$H ; IF NULL WE'RE STARTING TODAY
  1. S:'BLREDH BLREDH=+$H ; IF NULL WE'RE STARTING TODAY
  1. ;
  1. ; 'PROCESSING DATE' INFORMATION
  1. S BLRX=$G(^BLRSITE(BLRSITE,21,BLRPDH,0))
  1. S BLRLTA=+$P(BLRX,U,2) ;'LAST TRANSACTION SEQ ASSIGNED'
  1. S BLRLTP=+$P(BLRX,U,3) ;'LAST TRANSACTION SEQ PROCESSED'
  1. ;
  1. ; LAST TRANSACTION # ASSIGNED
  1. S BLRLSQA=+$G(^BLRSITE(BLRSITE,21,BLRPDH,BLRLTA))
  1. ;
  1. ; LAST TRANSACTION # PROCESSED
  1. S BLRLSQP=+$G(^BLRSITE(BLRSITE,21,BLRPDH,BLRLTP))
  1. ;
  1. ; GET THE 'EVENT DATE' INFO
  1. S BLRX=$G(^BLRSITE(BLRSITE,20,BLREDH,0))
  1. ;
  1. S BLRLEA=+$P(BLRX,U,2) ;LAST EVENT ASSIGNED
  1. S BLRLEP=+$P(BLRX,U,3) ;LAST EVENT PROCESSED
  1. ;
  1. S:BLRLTA-BLRLTP>1 BLRNSQP=+$G(^BLRSITE(BLRSITE,21,BLRPDH,BLRLTP+1))
  1. ;
  1. S:'BLRLTA BLRLSQA=0
  1. S:'BLRLTP BLRLSQP=0
  1. ;
  1. I BLREDH'=BLRLEDH!(BLRPDH'=BLRLPDH) D
  1. . S %H=BLREDH
  1. . D YX^%DTC
  1. . S BLRED=Y
  1. . S %H=BLRPDH
  1. . D YX^%DTC
  1. . S BLRPD=Y,BLRLEDH=BLREDH,BLRLPDH=BLRPDH
  1. ;
  1. I BLREDH=BLRPDH S BLRHDR="Currently processing day "_BLRPD
  1. I BLREDH'=BLRPDH S BLRHDR="Currently Processing "_BLRED_" "_BLRPD
  1. ;
  1. D HDR
  1. D ADDIT(" ")
  1. K STR
  1. S STR="Last Entry Assigned"
  1. S $E(STR,23)=$J($FN(BLRLEA,","),10) ;'LAST EVENT ASSIGNED'
  1. S $E(STR,41)=$J($FN(BLRLTA,","),10) ;'LAST TRANSACTION SEQ ASSIGNED'
  1. S $E(STR,64)=$J($FN(BLRLSQA,","),10) ;LAST TRANSACTION # ASSIGNED
  1. D ADDIT(STR)
  1. ;
  1. D ADDIT(" ")
  1. K STR
  1. S STR="Last Entry Processed"
  1. S $E(STR,23)=$J($FN(BLRLEP,","),10) ;'LAST EVENT PROCESSED'
  1. S $E(STR,41)=$J($FN(BLRLTP,","),10) ;'LAST TRANSACTION SEQ ASSIGNED'
  1. S $E(STR,64)=$J($FN(BLRLSQP,","),10) ;LAST TRANSACTION SEQ ASSIGNED'
  1. D ADDIT(STR)
  1. ;
  1. I BLRLEA-BLRLEP>1!(BLRLTA-BLRLTP>1) D
  1. . D ADDIT(" ")
  1. . K STR
  1. . S STR="Now Processing Entry"
  1. . S:BLRLEA-BLRLEP>1 $E(STR,23)=$J($FN(BLRLEP+1,","),10) ;
  1. . S:BLRLTA-BLRLTP>1 $E(STR,41)=$J($FN(BLRLTP+1,","),10),$E(STR,64)=$J($FN(BLRNSQP,","),10)
  1. . D ADDIT(STR)
  1. ;
  1. D SENDMAIL^BLRUTIL3("IHS Lab to PCC Link Process is Stopped",.MAILSTR,"BLRPCCST")
  1. ;
  1. Q
  1. ;
  1. INIT ;
  1. S RM=78
  1. S U="^",BLRF=0,BLRLN="",$P(BLRLN,"-",RM)="",BLRCNT=0
  1. S BLRSITE=$P($G(^AUTTSITE(1,0)),U),(BLRLEDH,BLRLPDH)=""
  1. I '$D(IOF) S IOP="HOME" D ^%ZIS K IOP
  1. S MAILLINE=0
  1. Q
  1. ;
  1. HDR ;
  1. D NOW^%DTC S Y=%,%DT="S" D DD^%DT S BLRDTM=Y
  1. D ADDIT($$CJ^XLFSTR($$LOC^XBFUNC,RM)) ; Location
  1. D ADDIT($$CJ^XLFSTR("Processor Status",RM))
  1. D ADDIT($$CJ^XLFSTR($$UP^XLFSTR($$HTE^XLFDT($H)),RM))
  1. D ADDIT($$CJ^XLFSTR(BLRHDR,RM))
  1. D ADDIT(" ")
  1. K STR
  1. S $E(STR,40)="Entry Position"
  1. S $E(STR,59)="IHS Lab Transaction"
  1. D ADDIT(STR)
  1. K STR
  1. S $E(STR,28)="Event"
  1. S $E(STR,43)="in Queue"
  1. S $E(STR,61)="Sequence Number"
  1. D ADDIT(STR)
  1. D ADDIT(BLRLN)
  1. Q
  1. ;
  1. ADDIT(LINER) ; EP - Add line to MAILSTR array
  1. S MAILLINE=MAILLINE+1
  1. S MAILSTR(MAILLINE)=LINER
  1. Q
  1. ;
  1. ALERT ;
  1. S X="IORVON;IORVOFF;IOBON;IOBOFF"
  1. D ENDR^%ZISS
  1. W !,IORVON,"THERE IS SOMETHNG WRONG WITH THE PCC LINK!"
  1. W !,"TOO MANY ERRORS HAVE BEEN FOUND IN THE ERROR LOG!"
  1. W !,IOBON,"THE PCC LINK IS BEING TURNED OFF!!",IOBOFF
  1. W !,IORVON,"CALL YOUR SITE MANAGER IMMEDIATELY!",IORVOFF
  1. Q
  1. ;
  1. KILL ;
  1. K %,%DT,%H,%I,X,Y
  1. Q
  1. ;
  1. ENT ;
  1. D INIT,DSP,KILL
  1. Q