1 | RORSET01 ;HCIOFO/SG - REGISTRY SETUP ROUTINE ; 1/27/06 11:00am
|
---|
2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
|
---|
3 | ;
|
---|
4 | ;***** HEPC REGISTRY SETUP
|
---|
5 | ;
|
---|
6 | N RORERROR ; Error processing data
|
---|
7 | N RORLOG ; Log subsystem constants & variables
|
---|
8 | N RORPARM ; Application parameters
|
---|
9 | ;
|
---|
10 | N LSNAME,RC,REGNAME,RORHDT,RORMNTSK,RORREG,RORSUSP,TMP
|
---|
11 | N ZTCPU,ZTDESC,ZTIO,ZTKIL,ZTPRI,ZTRTN,ZTSAVE,ZTSK,ZTSYNC,ZTUCI
|
---|
12 | S RORPARM("ERR")=1 ; Enable error processing
|
---|
13 | S RORPARM("SETUP")=1 ; Registry setup indicator
|
---|
14 | ;
|
---|
15 | ;--- IEN and name of the registry
|
---|
16 | S RORREG=$$SELREG^RORUTL18(.REGNAME) G:RORREG<0 ERROR
|
---|
17 | Q:'RORREG
|
---|
18 | S $P(RORREG,U,2)=REGNAME,LSNAME=REGNAME
|
---|
19 | ;
|
---|
20 | ;--- Check the Lab Search
|
---|
21 | S RC=$$LABSRCH^RORSETU2(LSNAME)
|
---|
22 | S RC=$S(RC=-55:$$LSCONF^RORSETU1(LSNAME),RC<0:RC,1:1)
|
---|
23 | Q:'RC G:RC<0 ERROR
|
---|
24 | ;
|
---|
25 | ;--- Request setup parameters
|
---|
26 | S RC=$$ASKPARMS^RORSETU1(.RORMNTSK,.RORSUSP)
|
---|
27 | I RC<0 Q:(RC=-71)!(RC=-72) G ERROR
|
---|
28 | ;
|
---|
29 | ;--- Schedule the setup task
|
---|
30 | S ZTRTN="TASK^RORSET01",ZTIO=""
|
---|
31 | S ZTDESC="Registry Setup ("_$P(RORREG,U,2)_")"
|
---|
32 | F TMP="RORMNTSK","RORREG","RORSUSP" S ZTSAVE(TMP)=""
|
---|
33 | D ^%ZTLOAD
|
---|
34 | Q
|
---|
35 | ERROR ;--- Display the errors
|
---|
36 | D DSPSTK^RORERR()
|
---|
37 | Q
|
---|
38 | ;
|
---|
39 | ;***** REPLACES THE SELECTION RULES
|
---|
40 | ;
|
---|
41 | ; RORREG Registry IEN and registry name separated by the '^'
|
---|
42 | ; (RegistryIEN^RegistryName).
|
---|
43 | ; FROM,TO Codes of the rule groups (1-regular, 2-historical)
|
---|
44 | ;
|
---|
45 | ; Return Values:
|
---|
46 | ; <0 Error code
|
---|
47 | ; 0 Ok
|
---|
48 | ;
|
---|
49 | RULES(RORREG,FROM,TO) ;
|
---|
50 | ;;VA HEPC PTF^VA HEPC PTF HIST
|
---|
51 | ;;VA HEPC VISIT^VA HEPC VISIT HIST
|
---|
52 | ;
|
---|
53 | N I,IEN,IENS,NAMES,RC,RORFDA,RORMSG
|
---|
54 | S IENS=","_(+RORREG)_",",RC=0
|
---|
55 | ;--- Replace the selection rules
|
---|
56 | F I=1,2 D Q:RC<0
|
---|
57 | . S NAMES=$P($T(RULES+I),";;",2) Q:NAMES?."^"
|
---|
58 | . S IEN=$$FIND1^DIC(798.13,IENS,"UX",$P(NAMES,U,FROM),"B",,"RORMSG")
|
---|
59 | . Q:IEN=0
|
---|
60 | . S RC=$$DBS^RORERR("RORMSG",-9,,,798.13)
|
---|
61 | . Q:RC<0
|
---|
62 | . S RORFDA(798.13,IEN_IENS,.01)=$P(NAMES,U,TO)
|
---|
63 | . D FILE^DIE(,"RORFDA","RORMSG")
|
---|
64 | . S RC=$$DBS^RORERR("RORMSG",-9,,,798.13,IEN_IENS)
|
---|
65 | Q $S(RC<0:RC,1:0)
|
---|
66 | ;
|
---|
67 | ;***** ENTRY POINT OF THE REGISTRY SETUP TASK
|
---|
68 | ;
|
---|
69 | ; RORMNTSK Maximum number of the registry update subtasks
|
---|
70 | ; RORREG RegistryIEN^RegistryName
|
---|
71 | ; RORSUSP Task suspension time frame (StartTime^EndTime)
|
---|
72 | ;
|
---|
73 | TASK ;
|
---|
74 | N RORERROR ; Error processing data
|
---|
75 | N RORLOG ; Log subsystem constants & variables
|
---|
76 | N RORPARM ; Application parameters
|
---|
77 | ;
|
---|
78 | N RC,REGLST,REGNAME,TMP
|
---|
79 | S RORPARM("DEVELOPER")=1 ; Enable modifications
|
---|
80 | S RORPARM("ERR")=1 ; Enable error processing
|
---|
81 | S RORPARM("LOG")=1 ; Enable event recording
|
---|
82 | S RORPARM("SETUP")=1 ; Registry setup indicator
|
---|
83 | ;
|
---|
84 | S REGNAME=$P(RORREG,U,2),REGLST(REGNAME)=+RORREG
|
---|
85 | ;--- Open a new log
|
---|
86 | S RC=$$OPEN^RORLOG(.REGLST,8,"REGISTRY SETUP STARTED")
|
---|
87 | D
|
---|
88 | . ;--- Replace the selection rules with historical ones
|
---|
89 | . I REGNAME="VA HEPC" S RC=$$RULES(RORREG,1,2) Q:RC<0
|
---|
90 | . ;--- Populate the registry
|
---|
91 | . S RC=$$UPDATE^RORUPD(.REGLST,$G(RORMNTSK),$G(RORSUSP),"E") Q:RC<0
|
---|
92 | . D LOG^RORLOG(2,"The registry has been populated.")
|
---|
93 | . ;--- Convert the ICR 2.1 records
|
---|
94 | . I REGNAME="VA HIV" D Q:RC<0
|
---|
95 | . . S RC=$$CONVERT^RORUPD62(RORREG)
|
---|
96 | . . ;--- Update number of patients in registry parameters
|
---|
97 | . . S TMP=$$UPDDEM^RORUPD51(.REGLST)
|
---|
98 | . ;--- Setup the registry
|
---|
99 | . S RC=$$PREPARE^RORSETU2(RORREG) Q:RC<0
|
---|
100 | ;
|
---|
101 | ;--- Restore the regular selection rules
|
---|
102 | D:REGNAME="VA HEPC"
|
---|
103 | . S TMP=$$RULES(RORREG,2,1) I TMP<0 S:RC'<0 RC=TMP
|
---|
104 | ;--- Close the log
|
---|
105 | S TMP="REGISTRY SETUP "_$S(RC<0:"ABORTED",1:"COMPLETED")
|
---|
106 | D CLOSE^RORLOG(TMP)
|
---|
107 | ;
|
---|
108 | ;--- Send the notification e-mail
|
---|
109 | S:RC'<0 TMP=$$SENDINFO^RORUTL17(+RORREG,,"EP")
|
---|
110 | ;--- Send an alert to the originator of the task
|
---|
111 | S TMP=$S(RC<0:-43,1:-41)
|
---|
112 | D ALERT^RORKIDS(DUZ,TMP,$P(RORREG,U,2),,"registry setup")
|
---|
113 | ;
|
---|
114 | ;--- Cleanup
|
---|
115 | I RC'<0 D S ZTREQ="@"
|
---|
116 | . K ^XTMP("RORUPDR"_+RORREG)
|
---|
117 | Q
|
---|