| [613] | 1 | RGEQSUB ;BHM/RGY,DKM-Dequeue processor ;14-Oct-1998 | 
|---|
|  | 2 | ;;1.0; CLINICAL INFO RESOURCE NETWORK ;;30 Apr 99 | 
|---|
|  | 3 | SUBPROC ; | 
|---|
|  | 4 | NEW ENT,CURTIME,HTIME,HORLOG,PARAM,STAT,PROG,ERROR,RGLOG | 
|---|
|  | 5 | L +^RGEQ(TYPE):1 E  Q | 
|---|
|  | 6 | S ENT=$G(^RGEQASN(+$O(^RGEQASN("B",TYPE,0)),0)) | 
|---|
|  | 7 | S X=+$P(ENT,"^",3) S:X<1!(X>10) X=10 X ^%ZOSF("PRIORITY") | 
|---|
|  | 8 | I $$NEWERR^%ZTER N $ET S $ET="" | 
|---|
|  | 9 | S HTIME=+$P($G(^RGEQASN(+$O(^RGEQASN("B",TYPE,0)),0)),"^",4) | 
|---|
|  | 10 | S:HTIME<30 HTIME=30 | 
|---|
|  | 11 | S CURTIME=0 | 
|---|
|  | 12 | F  Q:$$ESTOP^RGEQDMN1(TYPE)!(CURTIME'<HTIME)  D | 
|---|
|  | 13 | .M ^RGEQ(TYPE)=^RGEQ("ADQ",TYPE) | 
|---|
|  | 14 | .K ^RGEQ("ADQ") | 
|---|
|  | 15 | .I $O(^RGEQ(TYPE,""))]"" D PROCESS S CURTIME=0 Q | 
|---|
|  | 16 | .S CURTIME=CURTIME+5 | 
|---|
|  | 17 | .H 5 | 
|---|
|  | 18 | .Q | 
|---|
|  | 19 | L -^RGEQ(TYPE) | 
|---|
|  | 20 | K TYPE Q | 
|---|
|  | 21 | PROCESS ; | 
|---|
|  | 22 | S PARAM="",STAT=$$ENT^RGEQSTAT(TYPE),HORLOG=+$H | 
|---|
|  | 23 | S PROG=$P($G(^RGEQASN(+$O(^RGEQASN("B",TYPE,0)),1)),"^",1,2) | 
|---|
|  | 24 | I PROG="" S PROG="EVENT TYPE DOES NOT EXIST" | 
|---|
|  | 25 | E  D | 
|---|
|  | 26 | .S X=$P(PROG,"^",2) | 
|---|
|  | 27 | .I X="" S PROG="INVALID PROGRAM NAME" | 
|---|
|  | 28 | .E  D | 
|---|
|  | 29 | ..X ^%ZOSF("TEST") | 
|---|
|  | 30 | ..I '$T S PROG="PROGRAM DOES NOT EXIST" | 
|---|
|  | 31 | ..Q | 
|---|
|  | 32 | .Q | 
|---|
|  | 33 | F  S PARAM=$O(^RGEQ(TYPE,PARAM)) Q:PARAM=""  D | 
|---|
|  | 34 | .I +$H'=HORLOG S STAT=$$ENT^RGEQSTAT(TYPE),HORLOG=+$H | 
|---|
|  | 35 | .I PROG'["^" D  Q | 
|---|
|  | 36 | ..D SET^RGEQEXC(TYPE,PROG,PARAM) | 
|---|
|  | 37 | ..K ^RGEQ(TYPE,PARAM) | 
|---|
|  | 38 | ..S $P(^RGSTAT(995.2,STAT,1),"^",2)=$P($G(^RGSTAT(995.2,STAT,1)),"^",2)+1 | 
|---|
|  | 39 | ..Q | 
|---|
|  | 40 | .S X="ERROR^RGEQSUB",@^%ZOSF("TRAP"),ERROR="" | 
|---|
|  | 41 | .D START^RGHLLOG(,TYPE,PARAM) | 
|---|
|  | 42 | .S ^RGEQ("ADQ",TYPE,PARAM)="" | 
|---|
|  | 43 | .K ^RGEQ(TYPE,PARAM) | 
|---|
|  | 44 | .D @(PROG_"("""_TYPE_""","""_PARAM_""",.ERROR,"""_$P(ENT,"^",2)_""")") | 
|---|
|  | 45 | .I ERROR="" S $P(^RGSTAT(995.2,STAT,1),"^")=$P($G(^RGSTAT(995.2,STAT,1)),"^")+1 | 
|---|
|  | 46 | .I ERROR]"" D | 
|---|
|  | 47 | ..S $P(^RGSTAT(995.2,STAT,1),"^",2)=$P($G(^RGSTAT(995.2,STAT,1)),"^",2)+1 | 
|---|
|  | 48 | ..D EXC^RGHLLOG(ERROR),SET^RGEQEXC(TYPE,ERROR,PARAM) | 
|---|
|  | 49 | ..Q | 
|---|
|  | 50 | .K ^RGEQ("ADQ",TYPE,PARAM) | 
|---|
|  | 51 | .D STOP^RGHLLOG(0) | 
|---|
|  | 52 | .Q | 
|---|
|  | 53 | Q | 
|---|
|  | 54 | ERROR ;Come here on application error | 
|---|
|  | 55 | N ERROR | 
|---|
|  | 56 | S ERROR=$$EC^%ZOSV | 
|---|
|  | 57 | S $P(^RGSTAT(995.2,STAT,1),"^",2)=$P($G(^RGSTAT(995.2,STAT,1)),"^",2)+1 | 
|---|
|  | 58 | D EXC^RGHLLOG(6,ERROR),SET^RGEQEXC(TYPE,ERROR,PARAM) | 
|---|
|  | 59 | K ^RGEQ("ADQ",TYPE,PARAM),^RGEQ(TYPE,PARAM) | 
|---|
|  | 60 | D STOP^RGHLLOG(1),^%ZTER | 
|---|
|  | 61 | Q | 
|---|