| [613] | 1 | RORTSK03 ;HCIOFO/SG - TASK MANAGER OVERFLOW CODE ; 8/30/05 8:34am | 
|---|
|  | 2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | Q | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | ;***** PREPARE THE TASK PARAMETERS | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | ; .PARAMS       Reference to a local array that contains | 
|---|
|  | 9 | ;               the task parameters | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | ; Return Values: | 
|---|
|  | 12 | ;       <0  Error code | 
|---|
|  | 13 | ;        0  Ok | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | PARAMS(PARAMS) ; | 
|---|
|  | 16 | N I,NAME,NODE,SUBS,TMP | 
|---|
|  | 17 | S I="" | 
|---|
|  | 18 | F  S I=$O(PARAMS(I))  Q:I=""  D | 
|---|
|  | 19 | . S NAME=$TR($P(PARAMS(I),"=")," ")  Q:NAME="" | 
|---|
|  | 20 | . S TMP=$P(NAME,"(")  Q:TMP="" | 
|---|
|  | 21 | . S NODE="RORTSK(""PARAMS"","""_TMP_"""" | 
|---|
|  | 22 | . S TMP=$P(NAME,"(",2,999) | 
|---|
|  | 23 | . S NODE=$S(TMP'="":NODE_","_TMP,1:NODE_")") | 
|---|
|  | 24 | . S @NODE=$$TRIM^XLFSTR($P(PARAMS(I),"=",2,999)) | 
|---|
|  | 25 | Q 0 | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | ;***** FORMATS THE TASK INFORMATION FOR $$TASKINFO^RORTSK02 | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | ; OFFSET        Offset for the subscripts | 
|---|
|  | 30 | ; .INFO         Reference to a local variable (output): | 
|---|
|  | 31 | ; IENS          The second subscript in the RORBUF array | 
|---|
|  | 32 | ; .RORBUF       Referrence to a local variable containing output | 
|---|
|  | 33 | ;               of the GETS^DIQ procedure | 
|---|
|  | 34 | ; FLAGS         Characters controlling behavior of the function | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | ; Return Values: | 
|---|
|  | 37 | ;       <0  Error code | 
|---|
|  | 38 | ;        0  Ok | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | FRMTI(OFFSET,INFO,IENS,RORBUF,FLAGS) ; | 
|---|
|  | 41 | N I,TMP,ZTCPU,ZTSK | 
|---|
|  | 42 | ;--- Task Type | 
|---|
|  | 43 | I $G(RORBUF(798.8,IENS,.02,"I"))'=""  D | 
|---|
|  | 44 | . S I=OFFSET+2,INFO(I)=RORBUF(798.8,IENS,.02,"I") | 
|---|
|  | 45 | . S:FLAGS["E" $P(INFO(I),U,2)=$G(RORBUF(798.8,IENS,.02,"E")) | 
|---|
|  | 46 | ;--- Registry | 
|---|
|  | 47 | I $G(RORBUF(798.8,IENS,.03,"I"))'=""  D | 
|---|
|  | 48 | . S I=OFFSET+3,INFO(I)=RORBUF(798.8,IENS,.03,"I") | 
|---|
|  | 49 | . S:FLAGS["E" $P(INFO(I),U,2)=$G(RORBUF(798.8,IENS,.03,"E")) | 
|---|
|  | 50 | ;--- Report | 
|---|
|  | 51 | S TMP=+$G(RORBUF(798.8,IENS,.04,"I")) | 
|---|
|  | 52 | I TMP>0  S TMP=$$RPCODE^RORUTL08(TMP)  I TMP'=""  D | 
|---|
|  | 53 | . S I=OFFSET+4,INFO(I)=TMP | 
|---|
|  | 54 | . S:FLAGS["E" $P(INFO(I),U,2)=$G(RORBUF(798.8,IENS,.04,"E")) | 
|---|
|  | 55 | ;--- Description | 
|---|
|  | 56 | S INFO(OFFSET+5)=$G(RORBUF(798.8,IENS,.05,"I")) | 
|---|
|  | 57 | ;--- Creation Time | 
|---|
|  | 58 | I $G(RORBUF(798.8,IENS,.07,"I"))'=""  D | 
|---|
|  | 59 | . S INFO(OFFSET+7)=RORBUF(798.8,IENS,.07,"I") | 
|---|
|  | 60 | ;--- User | 
|---|
|  | 61 | I $G(RORBUF(798.8,IENS,.08,"I"))'=""  D | 
|---|
|  | 62 | . S I=OFFSET+8,INFO(I)=RORBUF(798.8,IENS,.08,"I") | 
|---|
|  | 63 | . S:FLAGS["E" $P(INFO(I),U,2)=$G(RORBUF(798.8,IENS,.08,"E")) | 
|---|
|  | 64 | ;--- Completion Time | 
|---|
|  | 65 | I $G(RORBUF(798.8,IENS,2.02,"I"))'=""  D | 
|---|
|  | 66 | . S INFO(OFFSET+9)=RORBUF(798.8,IENS,2.02,"I") | 
|---|
|  | 67 | ;--- Progress Percentage | 
|---|
|  | 68 | S TMP=$G(RORBUF(798.8,IENS,4,"I")) | 
|---|
|  | 69 | S INFO(OFFSET+10)=$S(TMP'="":$J(TMP,0,2),1:"") | 
|---|
|  | 70 | ;--- Scheduled to Run at | 
|---|
|  | 71 | S ZTSK=TASK  D ISQED^%ZTLOAD | 
|---|
|  | 72 | I $G(ZTSK(0)),$D(ZTSK("D"))#10  D | 
|---|
|  | 73 | . S INFO(OFFSET+11)=$$HTFM^XLFDT(ZTSK("D")) | 
|---|
|  | 74 | ;--- Task Log | 
|---|
|  | 75 | S INFO(OFFSET+12)=$G(RORBUF(798.8,IENS,2.03,"I")) | 
|---|
|  | 76 | ;--- Job Number | 
|---|
|  | 77 | S INFO(OFFSET+13)=$G(RORBUF(798.8,IENS,2.04,"I")) | 
|---|
|  | 78 | ;--- User Comment | 
|---|
|  | 79 | S INFO(OFFSET+14)=$G(RORBUF(798.8,IENS,1.01,"I")) | 
|---|
|  | 80 | Q 0 | 
|---|