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

RORSET01.m

Go to the documentation of this file.
  1. RORSET01 ;HCIOFO/SG - REGISTRY SETUP ROUTINE ; 1/27/06 11:00am
  1. ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
  1. ;
  1. ;***** HEPC REGISTRY SETUP
  1. ;
  1. N RORERROR ; Error processing data
  1. N RORLOG ; Log subsystem constants & variables
  1. N RORPARM ; Application parameters
  1. ;
  1. N LSNAME,RC,REGNAME,RORHDT,RORMNTSK,RORREG,RORSUSP,TMP
  1. N ZTCPU,ZTDESC,ZTIO,ZTKIL,ZTPRI,ZTRTN,ZTSAVE,ZTSK,ZTSYNC,ZTUCI
  1. S RORPARM("ERR")=1 ; Enable error processing
  1. S RORPARM("SETUP")=1 ; Registry setup indicator
  1. ;
  1. ;--- IEN and name of the registry
  1. S RORREG=$$SELREG^RORUTL18(.REGNAME) G:RORREG<0 ERROR
  1. Q:'RORREG
  1. S $P(RORREG,U,2)=REGNAME,LSNAME=REGNAME
  1. ;
  1. ;--- Check the Lab Search
  1. S RC=$$LABSRCH^RORSETU2(LSNAME)
  1. S RC=$S(RC=-55:$$LSCONF^RORSETU1(LSNAME),RC<0:RC,1:1)
  1. Q:'RC G:RC<0 ERROR
  1. ;
  1. ;--- Request setup parameters
  1. S RC=$$ASKPARMS^RORSETU1(.RORMNTSK,.RORSUSP)
  1. I RC<0 Q:(RC=-71)!(RC=-72) G ERROR
  1. ;
  1. ;--- Schedule the setup task
  1. S ZTRTN="TASK^RORSET01",ZTIO=""
  1. S ZTDESC="Registry Setup ("_$P(RORREG,U,2)_")"
  1. F TMP="RORMNTSK","RORREG","RORSUSP" S ZTSAVE(TMP)=""
  1. D ^%ZTLOAD
  1. Q
  1. ERROR ;--- Display the errors
  1. D DSPSTK^RORERR()
  1. Q
  1. ;
  1. ;***** REPLACES THE SELECTION RULES
  1. ;
  1. ; RORREG Registry IEN and registry name separated by the '^'
  1. ; (RegistryIEN^RegistryName).
  1. ; FROM,TO Codes of the rule groups (1-regular, 2-historical)
  1. ;
  1. ; Return Values:
  1. ; <0 Error code
  1. ; 0 Ok
  1. ;
  1. RULES(RORREG,FROM,TO) ;
  1. ;;VA HEPC PTF^VA HEPC PTF HIST
  1. ;;VA HEPC VISIT^VA HEPC VISIT HIST
  1. ;
  1. N I,IEN,IENS,NAMES,RC,RORFDA,RORMSG
  1. S IENS=","_(+RORREG)_",",RC=0
  1. ;--- Replace the selection rules
  1. F I=1,2 D Q:RC<0
  1. . S NAMES=$P($T(RULES+I),";;",2) Q:NAMES?."^"
  1. . S IEN=$$FIND1^DIC(798.13,IENS,"UX",$P(NAMES,U,FROM),"B",,"RORMSG")
  1. . Q:IEN=0
  1. . S RC=$$DBS^RORERR("RORMSG",-9,,,798.13)
  1. . Q:RC<0
  1. . S RORFDA(798.13,IEN_IENS,.01)=$P(NAMES,U,TO)
  1. . D FILE^DIE(,"RORFDA","RORMSG")
  1. . S RC=$$DBS^RORERR("RORMSG",-9,,,798.13,IEN_IENS)
  1. Q $S(RC<0:RC,1:0)
  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,REGLST,REGNAME,TMP
  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. S REGNAME=$P(RORREG,U,2),REGLST(REGNAME)=+RORREG
  1. ;--- Open a new log
  1. S RC=$$OPEN^RORLOG(.REGLST,8,"REGISTRY SETUP STARTED")
  1. D
  1. . ;--- Replace the selection rules with historical ones
  1. . I REGNAME="VA HEPC" S RC=$$RULES(RORREG,1,2) Q:RC<0
  1. . ;--- Populate the registry
  1. . S RC=$$UPDATE^RORUPD(.REGLST,$G(RORMNTSK),$G(RORSUSP),"E") Q:RC<0
  1. . D LOG^RORLOG(2,"The registry has been populated.")
  1. . ;--- Convert the ICR 2.1 records
  1. . I REGNAME="VA HIV" D Q:RC<0
  1. . . S RC=$$CONVERT^RORUPD62(RORREG)
  1. . . ;--- Update number of patients in registry parameters
  1. . . S TMP=$$UPDDEM^RORUPD51(.REGLST)
  1. . ;--- Setup the registry
  1. . S RC=$$PREPARE^RORSETU2(RORREG) Q:RC<0
  1. ;
  1. ;--- Restore the regular selection rules
  1. D:REGNAME="VA HEPC"
  1. . S TMP=$$RULES(RORREG,2,1) I TMP<0 S:RC'<0 RC=TMP
  1. ;--- Close the log
  1. S TMP="REGISTRY SETUP "_$S(RC<0:"ABORTED",1:"COMPLETED")
  1. D CLOSE^RORLOG(TMP)
  1. ;
  1. ;--- Send the notification e-mail
  1. S:RC'<0 TMP=$$SENDINFO^RORUTL17(+RORREG,,"EP")
  1. ;--- Send an alert to the originator of the task
  1. S TMP=$S(RC<0:-43,1:-41)
  1. D ALERT^RORKIDS(DUZ,TMP,$P(RORREG,U,2),,"registry setup")
  1. ;
  1. ;--- Cleanup
  1. I RC'<0 D S ZTREQ="@"
  1. . K ^XTMP("RORUPDR"_+RORREG)
  1. Q