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

FBMON.m

Go to the documentation of this file.
  1. FBMON ;DSS/LJF - VISTA FEE 5010 UPGRADE ;4/4/2011
  1. ;;3.5;FEE BASIS;**122**;JAN 30, 1995;Build 8
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. Q
  1. ;
  1. INIT() ; Standard data items
  1. ; N FBFENFLD,FBFPARIX,FBFPROOT,FBFSTFLD,FBFINTER ; set by $$INIT
  1. I $E($G(IOST),1,2)="C-" S FBFINTER=1 ; interactive flag
  1. S FBFSTFLD=36,FBFENFLD=37,FBFPROOT=161.4,FBFPARIX=$O(^FBAA(FBFPROOT,0))_"," I 'FBFPARIX Q 0 ; FBFPARIX EG: "1234,"
  1. Q 1
  1. ;
  1. EN ; OPTION "FB FPPS MONITOR" entry point
  1. N FBFSTAT
  1. S ZTSK=+$G(ZTSK)
  1. I 'ZTSK D FOREGRND Q
  1. ; background process
  1. S FBFSTAT=$$FACTIVE(.FBFSTAT)
  1. I FBFSTAT("STATE")'="STALLED 2+ HOURS",FBFSTAT("STATE")'="STALLED 50+ HOURS" Q
  1. D REPORTIT(.FBFSTAT) K ^XTMP("FBFHLX")
  1. Q
  1. ;
  1. FOREGRND ;
  1. N FBFSTAT
  1. S FBFSTAT=$$FACTIVE(.FBFSTAT)
  1. I FBFSTAT("STATE")="INACTIVE" D INFORM(2,FBFSTAT("START"),FBFSTAT("END"),FBFSTAT("STATE"),,,,,,FBFSTAT) Q
  1. I FBFSTAT("STATE")="ACTIVE" D INFORM(3,FBFSTAT("START"),FBFSTAT("END"),FBFSTAT("STATE"),FBFSTAT("UPDATE"),FBFSTAT("IEN"),,,,FBFSTAT) Q
  1. I FBFSTAT("STATE")="STALLED 50+ HOURS" D INFORM(4,FBFSTAT("START"),FBFSTAT("END"),FBFSTAT("STATE"),,,,,,FBFSTAT) Q
  1. I FBFSTAT("STATE")="STALLED 2+ HOURS" D INFORM(3,FBFSTAT("START"),FBFSTAT("END"),FBFSTAT("STATE"),FBFSTAT("UPDATE"),FBFSTAT("IEN"),,,,FBFSTAT) Q
  1. D INFORM(,FBFSTAT("START"),FBFSTAT("END"),FBFSTAT("STATE"),FBFSTAT("UPDATE"),FBFSTAT("IEN"),,,,FBFSTAT)
  1. Q
  1. ;
  1. FACTIVE(FBFRET) ; Return active/inactive flag
  1. N FBFDIFF,FBFXDA
  1. S FBFRET="0^INACTIVE",FBFRET("STATE")="INACTIVE",(FBFRET("START"),FBFRET("UPDATE"),FBFRET("END"),FBFRET("IEN"))=""
  1. I '$$INIT Q
  1. D GETS^DIQ(FBFPROOT,FBFPARIX,FBFSTFLD_";"_FBFENFLD,"I","FBFXDA")
  1. S FBFRET("START")=FBFXDA(FBFPROOT,FBFPARIX,FBFSTFLD,"I"),FBFRET("END")=FBFXDA(FBFPROOT,FBFPARIX,FBFENFLD,"I")
  1. ; S^XTMP("FBFHLX","IEN")=$H_U_IEN_"^XMIT^"
  1. S FBFRET("UPDATE")=$G(^XTMP("FBFHLX","IEN")),FBFRET("IEN")=$P(FBFRET("UPDATE"),U,2),FBFRET("UPDATE")=$P(FBFRET("UPDATE"),U)
  1. I FBFRET("UPDATE") S FBFRET("UPDATE")=$$HTFM^XLFDT(FBFRET("UPDATE"))
  1. I $$FMDIFF^XLFDT($$NOW^XLFDT,+FBFRET("START"),2)>180000 S FBFRET("STATE")="STALLED 50+ HOURS",FBFRET="0^STALLED 50+ HOURS" Q FBFRET ; 50 hours okay to start
  1. ;
  1. I FBFRET("END")'<FBFRET("START") Q FBFRET
  1. I 'FBFRET("UPDATE"),FBFRET("END")'<FBFRET("START") Q FBFRET ; no active FB FPPS TRANSMIT
  1. ;
  1. I FBFRET("UPDATE"),$$FMDIFF^XLFDT($$NOW^XLFDT,+FBFRET("UPDATE"),2)\3600 S FBFRET("STATE")="STALLED 2+ HOURS",FBFRET="1^STALLED" Q FBFRET
  1. S FBFRET="1^ACTIVE",FBFRET("STATE")="ACTIVE"
  1. Q FBFRET
  1. ;
  1. REPORTIT(FBFARG1) ;
  1. ; ;FBFARG1
  1. N XMSUB,XMDUZ,XMY,MTEXT,XMTEXT,FBMG,FBMG1
  1. S FBFARG1="FEE5010",FBFARG1("START")=$G(FBFARG1("START")),FBFARG1("END")=$G(FBFARG1("END"))
  1. S FBFARG1("UPDATE")=$G(FBFARG1("UPDATE")),FBFARG1("IEN")=$G(FBFARG1("IEN")),FBFARG1("STATE")=$G(FBFARG1("STATE"))
  1. K ^TMP($J,FBFARG1)
  1. S ^TMP($J,FBFARG1,1)=" ** FB FPPS MONITOR **"
  1. S ^TMP($J,FBFARG1,2)=""
  1. S ^TMP($J,FBFARG1,3)=" Current date: "_$$FMTE^XLFDT($$NOW^XLFDT)
  1. S ^TMP($J,FBFARG1,4)=""
  1. S ^TMP($J,FBFARG1,5)=" The FB FPPS TRANSMIT option has not run."
  1. S ^TMP($J,FBFARG1,6)=" Last started: "_$$FMTE^XLFDT(FBFARG1("START"))
  1. S ^TMP($J,FBFARG1,7)=" Last completed: "_$$FMTE^XLFDT(FBFARG1("END"))
  1. S ^TMP($J,FBFARG1,8)=" Last update: "_$$FMTE^XLFDT(FBFARG1("UPDATE"))
  1. S ^TMP($J,FBFARG1,9)=" Last record processed: "_FBFARG1("IEN")
  1. S ^TMP($J,FBFARG1,10)=" The current status is: "_FBFARG1("STATE")
  1. S ^TMP($J,FBFARG1,11)=""
  1. S ^TMP($J,FBFARG1,12)=" Please check the FB FPPS TRANSMIT option for scheduling issues or errors."
  1. ;
  1. S XMSUB="FEE BASIS FPPS Transmit Issue"
  1. S XMDUZ=.5
  1. S XMY("G.FEE")=""
  1. S XMTEXT="^TMP($J,"""_FBFARG1_""","
  1. D ^XMD
  1. K ^TMP($J,FBFARG1)
  1. ;
  1. S ^TMP($J,FBFARG1,1)="Site: "_$TR($P($$SITE^VASITE,U,1,2),U," ")
  1. S ^TMP($J,FBFARG1,2)=""
  1. S ^TMP($J,FBFARG1,3)="Current date: "_$$FMTE^XLFDT($$NOW^XLFDT)
  1. S ^TMP($J,FBFARG1,4)="The FB FPPS TRANSMIT option has not run."
  1. S ^TMP($J,FBFARG1,5)="The last completed transmission was on "_$$FMTE^XLFDT(FBFARG1("END"))
  1. S ^TMP($J,FBFARG1,6)=""
  1. S ^TMP($J,FBFARG1,7)="Local site recipients of this message are:"
  1. D FIND^DIC(3.8,,"@;.01","BOX","FEE",1,"B",,,"FBMG")
  1. I $G(FBMG("DILIST","2",1)) D GETS^DIQ(3.8,FBMG("DILIST","2",1),"2*","IN","FBMG1") S XMDUZ=0 F S XMDUZ=$O(FBMG1("3.81",XMDUZ)) Q:XMDUZ="" D
  1. . S XMSUB=$$GET1^DIQ(200,+FBMG1("3.81",XMDUZ,".01","I"),.01)
  1. . I XMSUB]"" S ^TMP($J,FBFARG1,"7."_+FBMG1("3.81",XMDUZ,".01","I"))=XMSUB
  1. S ^TMP($J,FBFARG1,8)=""
  1. S ^TMP($J,FBFARG1,9)=""
  1. S ^TMP($J,FBFARG1,10)="Please contact the local site for scheduling issues or errors with this option."
  1. ;
  1. S XMSUB="FPPS Transmit Issue "_$P($$SITE^VASITE,U,2)
  1. S XMDUZ=.5
  1. S XMY("Fee.EDI_Issues@domain.ext")=""
  1. S XMTEXT="^TMP($J,"""_FBFARG1_""","
  1. D ^XMD
  1. Q
  1. ;
  1. ; FBFARG1 .eqs. message to display FBFARG2...FBFARGn .eqs. arguments for particular display
  1. INFORM(FBFARG1,FBFARG2,FBFARG3,FBFARG4,FBFARG5,FBFARG6,FBFARG7,FBFARG8,FBFARG9,FBFARG10) ;
  1. N DIR,DIRUT,X,Y
  1. S FBFARG1=$G(FBFARG1),FBFARG2=$G(FBFARG2),FBFARG3=$G(FBFARG3),FBFARG4=$G(FBFARG4),FBFARG5=$G(FBFARG5)
  1. S FBFARG6=$G(FBFARG6),FBFARG7=$G(FBFARG7),FBFARG8=$G(FBFARG8),FBFARG9=$G(FBFARG9),FBFARG10=$G(FBFARG10)
  1. S DIR("A")="Press return to continue"
  1. S DIR(0)="FO"
  1. S DIR("A",.1)=""
  1. S DIR("A",.11)=" -------------------------------------------------"
  1. S DIR("A",.12)=""
  1. S DIR("A",.2)=" ** FB FPPS MONITOR **"
  1. S DIR("A",.3)=""
  1. S DIR("A",.4)=" The current time is: "_$$FMTE^XLFDT($$NOW^XLFDT)
  1. S DIR("A",.5)=""
  1. S DIR("A",.6)=""
  1. S DIR("A",.7)=" 'FB FPPS TRANSMIT' started: "_$$FMTE^XLFDT(FBFARG2)
  1. S DIR("A",.8)=" 'FB FPPS TRANSMIT' ended: "_$$FMTE^XLFDT(FBFARG3)
  1. S DIR("A",.9)=""
  1. S DIR("A",1)=" The current status is: "_$S(FBFARG4="INACTIVE":"COMPLETED SUCCESSFULLY, NOT CURRENTLY RUNNING",FBFARG4="ACTIVE":"RUNNING",1:FBFARG4)
  1. S DIR("A",2)=""
  1. D ^DIR K DIR
  1. Q
  1. ;
  1. SETH(X) ; Fileman date input, returns $H value
  1. N %H
  1. D H^XLFDT
  1. Q %H