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