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

RORSET02.m

Go to the documentation of this file.
  1. RORSET02 ;BPIOFO/CLR - NEW REGISTRY SETUP FROM POST-INSTALL ;6/06/2012
  1. ;;1.5;CLINICAL CASE REGISTRIES;**18,21,26,33**;Feb 17, 2006;Build 81
  1. ; This routine uses the following IAs:
  1. ;
  1. ; #10063 ^%ZTLOAD
  1. ; #10026 ^DIR
  1. ; #10103 ^XLFDT
  1. ; #10141 ^XPDUTL
  1. ;
  1. ;*****************************************************************************
  1. ;*****************************************************************************
  1. ; --- ROUTINE MODIFICATION LOG ---
  1. ;
  1. ;PKG/PATCH DATE DEVELOPER MODIFICATION
  1. ;----------- --------- ----------- ----------------------------------------
  1. ;ROR*1.5*21 NOV 2013 T KOPP Added env check, pre/post install logic
  1. ; Added new of ZTQUEUED variable
  1. ; Added initialization of registry params
  1. ; for new registries
  1. ; Corrected max # of strings variable used
  1. ; from MAXNTSK to RORMNTSK
  1. ;ROR*1.5*26 APR 2015 T KOPP Corrected 'suspend' parameters to strip
  1. ; date, leaving only time portions
  1. ;ROR*1.5*33 MAY 2018 F TRAXLER ROR TASK scheduling changes
  1. ;******************************************************************************
  1. ;******************************************************************************
  1. ;
  1. N RORPARM,RORBUF,RORI,RORDIFF,ROROUT,RORMSG,RORSUSP,MAXNTSK
  1. N RC,REGNAME,RORMNTSK,RORSUSP,TMP,REGLST,RORINFO
  1. N ZTCPU,ZTDESC,ZTIO,ZTKIL,ZTPRI,ZTRTN,ZTSAVE,ZTSK,ZTSYNC,ZTUCI,ZTREQ,ZTDTH
  1. N DIR,DIRUT,Y,DIERR,FLD,NODE,RORERRDL,RORQ,ZTQUEUED
  1. ;
  1. S RORPARM("ERR")=1 ; Enable error processing
  1. S RORPARM("LOG")=1 ; Enable event recording
  1. D INIT^RORUTL01("RORSET02")
  1. D CLEAR^RORERR("TASK^RORSET02")
  1. ;--- display all ACTIVE auto confirm registries that have not been initialized
  1. D BMES^XPDUTL(" *** Checking for registry(s) to be initialized")
  1. S RC=$$REGSEL^RORUTL01("UA")
  1. I RC<0 D BMES^XPDUTL($$MSG^RORERR20(RC,,," file #798.1")),BMES^XPDUTL("") Q
  1. I '$D(REGLST) D Q
  1. . D BMES^XPDUTL(""),BMES^XPDUTL(" No active registries were found needing to be initialized.")
  1. . D BMES^XPDUTL(""),BMES^XPDUTL("")
  1. D BMES^XPDUTL(""),BMES^XPDUTL("")
  1. D BMES^XPDUTL(" The following registry(s) will be populated with new patients: ")
  1. S REGNAME="" F S REGNAME=$O(REGLST(REGNAME)) Q:REGNAME="" D
  1. . D MES^XPDUTL($J("",10)_REGNAME)
  1. D BMES^XPDUTL("")
  1. D BMES^XPDUTL(" *** Storing registry setup parameters")
  1. S RORMNTSK=$G(XPDQUES("POSQ1")),RORSUSP=$G(XPDQUES("POSQ2"))
  1. I RORSUSP S RORSUSP=($G(XPDQUES("POSQ3"))#1)_U_($G(XPDQUES("POSQ4"))#1)
  1. S RORQ=$G(XPDQUES("POSQ5"))
  1. I RORQ<$$NOW^XLFDT() S RORQ=$$NOW^XLFDT()
  1. D CONFTXT^RORSETU1(RORMNTSK,RORSUSP)
  1. ;log parameters in log
  1. D TP^ROR10(.RORINFO,"RORFLSET")
  1. D TP^ROR10(.RORINFO,"RORFLCLR")
  1. D TP^ROR10(.RORINFO,"RORMNTSK")
  1. D TP^ROR10(.RORINFO,"RORSUSP")
  1. D LOG^RORLOG(,"Task Parameters",,.RORINFO)
  1. ;--- Schedule the setup task
  1. I RORQ<$$NOW^XLFDT() S RORQ=$$NOW^XLFDT()
  1. S ZTRTN="TASK^RORSET02",ZTIO="",ZTDTH=$$FMTH^XLFDT(RORQ),ZTQUEUED=1
  1. S ZTDESC="Local Registries Initialization"
  1. F TMP="RORMNTSK","RORSUSP" S ZTSAVE(TMP)=""
  1. S ZTSAVE("REGLST(")=""
  1. D ^%ZTLOAD
  1. I $G(ZTSK) D Q
  1. . D BMES^XPDUTL("The scheduled task number is "_ZTSK)
  1. D BMES^XPDUTL("")
  1. D BMES^XPDUTL(" ROR INITIALIZE task was not scheduled and is required")
  1. D BMES^XPDUTL(" to complete the patch"),BMES^XPDUTL(" Try restarting the install")
  1. D BMES^XPDUTL(" If this error continues, please enter a Remedy ticket")
  1. D BMES^XPDUTL(" *** Patch install aborted")
  1. Q
  1. ;
  1. ERROR ;--- Display stack errors
  1. D DSPSTK^RORERR()
  1. Q
  1. ;
  1. ;***** ENTRY POINT OF THE REGISTRY SETUP TASK
  1. ;
  1. ; RORMNTSK Maximum number of the registry update subtasks
  1. ; RORREG RegistryIEN^RegistryName
  1. ; RORSUSP Task suspension time frame (StartTime^EndTime)
  1. ;
  1. TASK ;
  1. N RORERROR ; Error processing data
  1. N RORLOG ; Log subsystem constants & variables
  1. N RORPARM ; Application parameters
  1. ;
  1. N RC,REGNAME,TMP,REGIEN
  1. N RORSCHEDDT,RORSCHEDINFO,RORSCHEDULE,RORTASKCHK,RORUNSCHEDULE
  1. S RORPARM("DEVELOPER")=1 ; Enable modifications
  1. S RORPARM("ERR")=1 ; Enable error processing
  1. S RORPARM("LOG")=1 ; Enable event recording
  1. S RORPARM("SETUP")=1 ; Registry setup indicator
  1. ;
  1. ;--- Check if ROR TASK option is running
  1. S RORTASKCHK=$$TASKCHK^RORUTL18("ROR TASK")
  1. I RORTASKCHK'=0 D Q ;stop if ROR TASK is running
  1. . S RC=$$ERROR^RORERR(-76,,,,"ROR TASK")
  1. ;--- Get ROR TASK schedule information
  1. S RORSCHEDINFO=$$GETSCHED^RORUTL18("ROR TASK")
  1. ;--- Unschedule ROR TASK option if it is scheduled
  1. I RORSCHEDINFO'="" S RORUNSCHEDULE=$$SETSCHED^RORUTL18("ROR TASK","@")
  1. ;--- Check list of registries
  1. I $D(REGLST)<10 D Q
  1. . S RC=$$ERROR^RORERR(-28,,,," initialize")
  1. ;--- Populate the registry
  1. S RC=$$UPDATE^RORUPD(.REGLST,$G(RORMNTSK),$G(RORSUSP)) Q:RC<0
  1. ;--- Setup the registry
  1. S REGNAME="" F S REGNAME=$O(REGLST(REGNAME)) Q:REGNAME="" D
  1. . S REGIEN=$$REGIEN^RORUTL02(REGNAME)
  1. . I REGIEN<0 S RC=$$ERROR^RORERR(-112,,,,REGNAME) Q
  1. . S RC=$$PREPARE^RORSETU2(REGIEN)
  1. . I RC<0 S RC=$$ERROR^RORERR(-112,,,,REGNAME) Q
  1. . ;--- Send the notification e-mail
  1. . S:RC'<0 TMP=$$SENDINFO^RORUTL17(+REGIEN,,"E")
  1. . ;--- Cleanup
  1. . I RC'<0 D S ZTREQ="@"
  1. . . K ^XTMP("RORUPDR"_+REGIEN)
  1. ;--- reschedule ROR TASK option
  1. N XMY,XMSUB,XMTEXT
  1. S RORSCHEDINFO=$G(RORSCHEDINFO)
  1. I RORSCHEDINFO="" D Q ;ROR TASK is not currently in FILE 19.2
  1. . S XMY(DUZ)="" ;message recipient
  1. . S XMSUB="ROR TASK option must be scheduled"
  1. . S XMTEXT(1)="Please use the Schedule/Unschedule Options [XUTM SCHEDULE]"
  1. . S XMTEXT(2)="option to schedule the ROR TASK option to run as a regular"
  1. . S XMTEXT(3)="background job."
  1. . S XMTEXT(4)=" "
  1. . S XMTEXT(5)="Set the time of day to whatever you think best."
  1. . S XMTEXT(6)="Set the Rescheduling Frequency = 1D"
  1. . S XMTEXT(7)="Set the Task Parameters = VA HEPC, VA HIV"
  1. . S XMTEXT="XMTEXT("
  1. . D ^XMD
  1. S RORSCHEDDT=$$FMADD^XLFDT($$NOW^XLFDT(),,1) ;use 1 hour from now
  1. S RORSCHEDULE=$$SETSCHED^RORUTL18("ROR TASK",RORSCHEDDT,,"1D",,,1)
  1. ;Send MailMan message about ROR TASK option rescheduling success
  1. I RORSCHEDULE=1 D
  1. . S RORSCHEDINFO=$$GETSCHED^RORUTL18("ROR TASK")
  1. . S XMY(DUZ)="" ;message recipient
  1. . S XMSUB="ROR TASK option was rescheduled"
  1. . S XMTEXT(1)="The ROR TASK option was successfully rescheduled."
  1. . S XMTEXT(2)=" "
  1. . S XMTEXT(3)="You may wish to check/alter the scheduling conditions, but"
  1. . S XMTEXT(4)="please keep this option scheduled at all times unless a ROR"
  1. . S XMTEXT(5)="patch is being installed."
  1. . S XMTEXT(6)=" "
  1. . S XMTEXT(7)="Use Schedule/Unschedule Options [XUTM SCHEDULE] to check."
  1. . S XMTEXT="XMTEXT("
  1. I RORSCHEDULE'=1 D
  1. . S XMY(DUZ)="" ;message recipient
  1. . S XMSUB="ROR TASK option was not rescheduled"
  1. . S XMTEXT(1)="The ROR TASK option could not be rescheduled."
  1. . S XMTEXT(2)="Please reschedule it as soon as possible."
  1. . S XMTEXT(3)="ROR TASK should be scheduled to run daily unless a ROR"
  1. . S XMTEXT(4)="patch is being installed."
  1. . S XMTEXT(5)=" "
  1. . S XMTEXT(6)="Use the Schedule/Unschedule Options [XUTM SCHEDULE] option"
  1. . S XMTEXT(7)="to schedule ROR TASK."
  1. . S XMTEXT="XMTEXT("
  1. D ^XMD
  1. Q