| 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 | 
|---|