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

LRJSML6.m

Go to the documentation of this file.
  1. LRJSML6 ;ALB/GTS - Lab Vista Hospital Location Initialization;02/22/2010 14:37:07
  1. ;;5.2;LAB SERVICE;**425**;Sep 27, 1994;Build 30
  1. ;
  1. ;
  1. SCHDBCKG ;Schedule the HL Change Audit Rpt
  1. ;
  1. ;Called from Protocol: LRJ SYS MAP HL SCHED AUDIT RPT TASK
  1. ;
  1. NEW LROK,LRSTDTM,LROPT,LRFREQ,LRPARMDT,LRSCHED
  1. D FULL^VALM1
  1. SET LROK=1
  1. WRITE !!,"This action will schedule the 'LRJ SYS MAP HL Change Management TaskMan Report'"
  1. WRITE !," option [LRJ SYS MAP HL TASKMAN RPT] as a background task.",!
  1. ;
  1. IF +$$GET^XPAR("SYS","LRJ HL LAST END DATE",1,"Q")>0 SET LROK=1 ;* IA #2263
  1. IF +$$GET^XPAR("SYS","LRJ HL LAST END DATE",1,"Q")'>0 SET LROK=0
  1. ;
  1. IF 'LROK DO
  1. .SET DIR("A",1)=""
  1. .SET DIR("A",2)="Hospital Location configuration has not been accepted!! Check configuration."
  1. .SET DIR("A",3)=""
  1. .SET DIR("A",4)="When Hospital Locations on legacy VistA match those on COTS,"
  1. .SET DIR("A",5)=" execute the 'Accept/edit current HL config dates' action and then"
  1. .SET DIR("A",6)=" schedule the background task via this action."
  1. .SET DIR("A",7)=""
  1. .SET DIR("A")="Press RETURN to redisplay Lab Hospital Location Tools..."
  1. .SET DIR(0)="E"
  1. .DO ^DIR
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. ;
  1. ;If End Date defined, Prompt to set Background job
  1. IF LROK DO
  1. .WRITE !
  1. .SET DIR(0)="Y"
  1. .SET DIR("A")="Do you want to do this"
  1. .SET DIR("B")="NO"
  1. .SET DIR("?",1)="Define the TaskMan schedule for running the 'LRJ SYS MAP HL TASKMAN RPT' option."
  1. .SET DIR("?",2)="This option will report changes to hospital locations since the last time the"
  1. .SET DIR("?")="report was generated [current value of LRJ HL LAST END DATE]."
  1. .DO ^DIR
  1. .SET LROK=+Y
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. ;
  1. ;Prompt for start time
  1. IF LROK DO
  1. .NEW STRESULT,LRDEFSD
  1. .DO OPTSTAT^XUTMOPT("LRJ SYS MAP HL TASKMAN RPT",.LRSCHED)
  1. .SET LRDEFSD=$P($G(LRSCHED(1)),"^",2)
  1. .SET LRDEFSD=$$FMTE^XLFDT(LRDEFSD)
  1. .SET STRESULT=$$STARTDTM^LRJSMLU(LRDEFSD)
  1. .SET LRSTDTM=$P(STRESULT,"^",2)
  1. .SET LROK=+STRESULT
  1. .IF LROK,LRSTDTM="" SET LRSTDTM=$P(STRESULT,"^",3)
  1. ;
  1. IF LROK,LRSTDTM="@" DO
  1. .NEW LRERR,LRDELTSK
  1. .SET DIR(0)="Y"
  1. .SET DIR("A")="Are you sure you want to delete the background task"
  1. .SET DIR("B")="NO"
  1. .SET DIR("?")="You are about to de-schedule the LRJ SYS MAP HL Change Management Task"
  1. .DO ^DIR
  1. .SET LRDELTSK=+Y
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. .DO:LRDELTSK RESCH^XUTMOPT("LRJ SYS MAP HL TASKMAN RPT","@","","@","L",.LRERR)
  1. .IF +$G(LRERR)<0 DO
  1. ..SET DIR("A",1)="LRJ SYS MAP HL TASKMAN RPT option not found!!"
  1. ..SET DIR("A",2)="Check Installation before running this option again."
  1. ..SET DIR(0)="E"
  1. ..DO ^DIR
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. .SET LROK=0
  1. ;
  1. ;Prompt for frequency when task is scheduled
  1. IF LROK DO
  1. .NEW LRDEFFRQ
  1. .SET LRDEFFRQ=$P($G(LRSCHED(1)),"^",3)
  1. .SET DIR(0)="FAr^^D BJITS^LRJSMLU"
  1. .SET DIR("A")="RESCHEDULING FREQUENCY: "
  1. .SET:$G(LRDEFFRQ)="" DIR("B")="1D"
  1. .SET:$G(LRDEFFRQ)'="" DIR("B")=LRDEFFRQ
  1. .SET DIR("?")="^D ITSHELP^LRJSMLU(X)"
  1. .DO ^DIR
  1. .SET LRFREQ=Y
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. .IF $$ENTCHK(LRFREQ)>0 DO
  1. ..DO RESCH^XUTMOPT("LRJ SYS MAP HL TASKMAN RPT",LRSTDTM,"",LRFREQ,"L",.LRERR)
  1. ..SET LROK=0
  1. ;
  1. ;Show updated task schedule
  1. DO INIT^LRJSML5 ;Sets VALMBCK & VALMBG
  1. QUIT
  1. ;
  1. TSKERMSG(LRMMARY) ; Send message when Task job runs before HL config accepted
  1. NEW LRPARAM,LRLNCNT,LRMSUBJ,XQSND
  1. SET:$G(LRMMARY)="" LRMMARY=""
  1. SET LRLNCNT=0
  1. SET X=" VistA LRJ SYS MAP HL TASKMAN RPT was scheduled and run but the current"
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,X,"","MAIL",LRMMARY)
  1. SET X=" Lab Hospital Location configuration has not been accepted!"
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,X,"","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT," ","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT," ","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"*************************************************************","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* HL AUDIT REPORT NOT GENERATED!! *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* Use the Hospital Location Monitor Tools 'Accept *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* current HL config/edit dates' action to accept *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* Hospital Locations configured on COTS and schedule *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* the 'LRJ SYS MAP HL TASKMAN RPT' option! *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"* *","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT,"*************************************************************","","MAIL",LRMMARY)
  1. DO LRADDNOD^LRJSML3(.LRLNCNT," ","","MAIL",LRMMARY)
  1. SET LRMSUBJ="Audit Report not Generated"_$S(+$G(LRTO)>0:" on "_$$FMTE^XLFDT(LRTO),1:"")_"!!"
  1. SET XQSND=DUZ
  1. DO SNDMSG^LRJSML8(LRMSUBJ,XQSND,LRMMARY,1) ;"1" = created by TaskMan; send to Mailgroup
  1. QUIT
  1. ;
  1. ENTCHK(X) ;Check X for legit frequency indicator
  1. ;
  1. ; Output:
  1. ; 1 - X is legit frequencey
  1. ; 0 - X is not legit frequency
  1. ;
  1. IF X?1.3N1"H" Q 1
  1. IF X?1.4N1"S" Q 1
  1. IF X?1.3N1"D" Q 1
  1. IF X?1.2N1"M" Q 1
  1. IF X?1.2N1"M(".E1")" Q 1
  1. IF "MTWRFSUDE"[$E(X),"@,"[$E(X,2) Q 1
  1. QUIT 0
  1. ;
  1. BJITT ;input transform for time (#2)
  1. N Y,%,DIR S %DT="ETRXF" D ^%DT S X=Y,%=$$NOW^XLFDT() I %+.0002>X K X
  1. I '$D(X) DO
  1. .W !,?5,"The current time is ",$E(%,9,10),":",$E(%,11,12)
  1. .W !,?2,"Queued time must be at least 2 minutes later than the current time."
  1. Q
  1. ;
  1. ACPTCNFG ; Accept the current HL Configuration or edit parameters for LRJ SYS MAP HL TASKMAN RPT
  1. ;Called from Protocol: LRJ SYS MAP HL ACCEPT CONFIG
  1. ;
  1. ; This API will update the Last Start/End date for the HLCMS background task report
  1. NEW LROK,LRSTDTM,LROPT,LRPARMDT,LREND,LRBEGIN,LRAUDMSG,LRACTEDT
  1. D FULL^VALM1
  1. SET LRACTEDT=""
  1. SET LROK=1
  1. SET LRBEGIN=$$GET^XPAR("SYS","LRJ HL LAST START DATE",1,"Q") ;* IA #2263
  1. SET LREND=$$GET^XPAR("SYS","LRJ HL LAST END DATE",1,"Q")
  1. IF +LRBEGIN'>0,+LREND'>0 SET LRACTEDT="ACCEPT"
  1. IF (+LRBEGIN>0)!(+LREND>0) SET LRACTEDT="EDIT"
  1. IF LRACTEDT="ACCEPT" DO
  1. .WRITE !,"This action will accept the current Hospital Location configuration on"
  1. .WRITE !," COTS and define reporting start dates for the [LRJ SYS MAP HL TASKMAN RPT]"
  1. .WRITE !," background task."
  1. .;
  1. .;Prompt to accept current config
  1. .SET DIR(0)="Y"
  1. .SET DIR("A")="Accept current Lab Hospital Location Config"
  1. .SET DIR("B")="NO"
  1. .SET DIR("?",1)="Accepting the current configuration will set the"
  1. .SET DIR("?",2)="LRJ HL LAST START DATE and LRJ HL LAST END DATE parameters."
  1. .SET DIR("?",3)="If COTS locations match legacy VistA, enter 'YES'."
  1. .SET DIR("?")="If COTS locations do NOT match legacy VistA, enter 'NO'."
  1. .DO ^DIR
  1. .SET LROK=Y
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. .;
  1. .;If accept config, set parameters
  1. .IF LROK DO
  1. ..NEW ERR
  1. ..DO NOW^%DTC
  1. ..SET LRPARMDT=$E(%,1,12) ;Set NOW for Parameter date
  1. ..DO EN^XPAR("SYS","LRJ HL LAST END DATE",,LRPARMDT,.ERR) ;* IA #2263
  1. ..DO EN^XPAR("SYS","LRJ HL LAST START DATE",,LRPARMDT,.ERR)
  1. .;
  1. .IF 'LROK DO
  1. ..SET DIR("A",1)=" "
  1. ..SET DIR("A",2)=" Current configuration not accepted!!"
  1. ..SET DIR("A",3)=" "
  1. ..SET DIR("A")="Press Return to continue"
  1. ..SET DIR(0)="E"
  1. ..DO ^DIR
  1. ..KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. ;
  1. IF LRACTEDT="EDIT" DO
  1. .SET DIR(0)="Y"
  1. .SET DIR("A",1)=" "
  1. .SET DIR("A",2)="Previous Audit Report dates are "_$S(LRBEGIN'="":$$FMTE^XLFDT(LRBEGIN),1:"undefined")_" - "_$S(LREND'="":$$FMTE^XLFDT(LREND),1:"undefined")
  1. .SET DIR("A",3)=" "
  1. .SET DIR("A")="Do you want to edit these dates"
  1. .SET DIR("B")="NO"
  1. .SET DIR("?",1)="These dates control the window of time in which Hospital Location changes"
  1. .SET DIR("?",2)="are reported. The Tasked reports assume COTS Hospital Location"
  1. .SET DIR("?",3)="configurations are current as of the End Date. Changing these dates will"
  1. .SET DIR("?")="change the report generated by the LRJ SYS MAP HL TASKMAN RPT background job!!"
  1. .D ^DIR
  1. .SET LROK=Y
  1. .KILL DIR,X,Y,DTOUT,DIRUT,DUOUT
  1. .IF LROK D PARAMED^LRJSML2
  1. ;IF TASK SCHEDULE SCREEN DO INIT^LRJSML5 ELSE...
  1. IF ^TMP("LRJ SYS MAP HL INIT MGR",$J,1,0)=" Hospital Location Audit task schedule" DO
  1. .DO INIT^LRJSML5
  1. E DO
  1. .D MSG^LRJSML
  1. .SET VALMBCK="R"
  1. QUIT