[613] | 1 | FSCRPCA ;SLC/STAFF-NOIS RPC Add ;3/12/99 14:27
|
---|
| 2 | ;;1.1;NOIS;**1**;Sep 06, 1998
|
---|
| 3 | ;
|
---|
| 4 | ALERT(IN,OUT) ; from FSCRPX (RPCAlert)
|
---|
| 5 | N DATA,NODE,TIME,XQAID,XQAKILL
|
---|
| 6 | D GETTIME(.TIME) I 'TIME Q
|
---|
| 7 | S NODE=$G(^XTV(8992,DUZ,"XQA",TIME,0)),DATA=$G(^(1))
|
---|
| 8 | I '$L(NODE) Q
|
---|
| 9 | S XQAID=$P(NODE,U,2)
|
---|
| 10 | I XQAID["FSC-A" D USER^FSCRPCAP
|
---|
| 11 | I XQAID["FSC-M" D ALERT^FSCRPCAP(DATA)
|
---|
| 12 | S XQAKILL=1
|
---|
| 13 | D DELETE^XQALERT
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | GETTIME(TIME) ;
|
---|
| 17 | N NODEID,SUB
|
---|
| 18 | S TIME=0
|
---|
| 19 | S SUB=0 F S SUB=$O(^XTV(8992,DUZ,"XQA",SUB)) Q:SUB<1 D I TIME>0 Q
|
---|
| 20 | .S NODEID=$P($G(^XTV(8992,DUZ,"XQA",SUB,0)),U,2)
|
---|
| 21 | .I NODEID["FSC-A" S TIME=SUB Q
|
---|
| 22 | .I NODEID["FSC-M" S TIME=SUB Q
|
---|
| 23 | Q
|
---|
| 24 | ;
|
---|
| 25 | LISTS(IN,OUT) ; from FSCRPX (RPCAddLists)
|
---|
| 26 | N CALL,COUNT,INDX,INPUT,LCNT,LIMIT,LIMITNUM,LIMITDTO,LIMITDFM,LIST,LNAME,LNUM,MAX,OK,RLIST,TIME
|
---|
| 27 | S COUNT=0,MAX=$$MAX^FSCRPCL
|
---|
| 28 | S LNUM=0 F S LNUM=$O(^TMP("FSCRPC",$J,"INPUT",LNUM)) Q:LNUM<1 S INPUT=^(LNUM) D Q:COUNT'<MAX
|
---|
| 29 | .S LIST=+INPUT,INDX=+$P(INPUT,U,2),LIMITNUM=$P(INPUT,U,3),LIMITDTO=$P(INPUT,U,4),LIMITDFM=$P(INPUT,U,5)
|
---|
| 30 | .I 'LIST Q
|
---|
| 31 | .D LIST(LIST,INDX,.RLIST,.OK) I 'OK Q
|
---|
| 32 | .S LNAME=$P(^FSC("LIST",LIST,0),U)
|
---|
| 33 | .I LNAME="MRE:" D
|
---|
| 34 | ..S (LIMIT,LCNT)=0,TIME="" F S TIME=$O(^FSCD("MRE","AUTC",INDX,TIME)) Q:TIME="" D Q:LIMIT Q:COUNT'<MAX
|
---|
| 35 | ...S CALL=0 F S CALL=$O(^FSCD("MRE","AUTC",INDX,TIME,CALL)) Q:CALL<1 D Q:LIMIT Q:COUNT'<MAX
|
---|
| 36 | ....I '$D(^TMP("FSC CURRENT LIST",$J,"C",CALL)) D CHECK(CALL,LIMITNUM,LIMITDTO,LIMITDFM,.LIMIT,.LCNT,.COUNT)
|
---|
| 37 | .E I LNAME="MRA:" D
|
---|
| 38 | ..S (LIMIT,LCNT)=0,TIME="" F S TIME=$O(^FSCD("MRA","AUTC",INDX,TIME)) Q:TIME="" D Q:LIMIT Q:COUNT'<MAX
|
---|
| 39 | ...S CALL=0 F S CALL=$O(^FSCD("MRA","AUTC",INDX,TIME,CALL)) Q:CALL<1 D Q:LIMIT Q:COUNT'<MAX
|
---|
| 40 | ....I '$D(^TMP("FSC CURRENT LIST",$J,"C",CALL)) D CHECK(CALL,LIMITNUM,LIMITDTO,LIMITDFM,.LIMIT,.LCNT,.COUNT)
|
---|
| 41 | .E D
|
---|
| 42 | ..S (LIMIT,LCNT)=0,CALL="A" F S CALL=$O(@RLIST@(CALL),-1) Q:CALL<1 D Q:LIMIT Q:COUNT'<MAX
|
---|
| 43 | ...I '$D(^TMP("FSC CURRENT LIST",$J,"C",CALL)) D CHECK(CALL,LIMITNUM,LIMITDTO,LIMITDFM,.LIMIT,.LCNT,.COUNT)
|
---|
| 44 | D OUTPUT
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | CHECK(CALL,LIMITNUM,LIMITDTO,LIMITDFM,LIMIT,LCNT,COUNT) ;
|
---|
| 48 | N DATEO
|
---|
| 49 | I LIMITNUM D
|
---|
| 50 | .I LCNT'<LIMITNUM S LIMIT=1
|
---|
| 51 | .E D SETUP(CALL,.COUNT)
|
---|
| 52 | E I LIMITDTO!LIMITDFM D
|
---|
| 53 | .S DATEO=$P(^FSCD("CALL",CALL,0),U,3)
|
---|
| 54 | .I DATEO<LIMITDFM Q
|
---|
| 55 | .I DATEO>LIMITDTO Q
|
---|
| 56 | .D SETUP(CALL,.COUNT)
|
---|
| 57 | E D SETUP(CALL,.COUNT)
|
---|
| 58 | S LCNT=LCNT+1
|
---|
| 59 | Q
|
---|
| 60 | ;
|
---|
| 61 | SETUP(CALL,COUNT) ; from FSCRPCQ, FSCRPCR, FSCRPCS
|
---|
| 62 | N LNUM
|
---|
| 63 | S COUNT=COUNT+1
|
---|
| 64 | S LNUM=1+$O(^TMP("FSC CURRENT LIST",$J,"A"),-1)
|
---|
| 65 | I LNUM<1000 S LNUM=LNUM+1000
|
---|
| 66 | S ^TMP("FSC CURRENT LIST",$J,LNUM)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
| 67 | S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=LNUM
|
---|
| 68 | Q
|
---|
| 69 | ;
|
---|
| 70 | LIST(LIST,INDX,RLIST,OK) ; from FSCRPCR, FSCRPCS
|
---|
| 71 | N L0,LNAME S OK=1
|
---|
| 72 | S L0=$G(^FSC("LIST",LIST,0))
|
---|
| 73 | I '$L(L0) S OK=0 Q
|
---|
| 74 | S LNAME=$P(L0,U)
|
---|
| 75 | I $L($P(L0,U,4)),'$P(L0,U,5) S RLIST="^FSCD(""CALL"","_$P(L0,U,4)_")"
|
---|
| 76 | E I $L($P(L0,U,4)),INDX S RLIST="^FSCD(""CALL"","_$P(L0,U,4)_","_INDX_")"
|
---|
| 77 | E I $P(L0,U,3)="M" D
|
---|
| 78 | .S RLIST="^FSCD(""FSC MLC"","_$J_","_LIST_")"
|
---|
| 79 | .D MANUAL^FSCLP(LIST)
|
---|
| 80 | .K ^TMP("FSC LIST",$J)
|
---|
| 81 | E S RLIST="^FSCD(""LISTS"",""ALC"","_LIST_")"
|
---|
| 82 | ;D MRU^FSCMR(DUZ,LIST,INDX)
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | CALLS(IN,OUT) ; from FSCRPX (RPCAddCalls)
|
---|
| 86 | N CALL,NEWNUM,NUM
|
---|
| 87 | S NEWNUM=+$O(^TMP("FSC CURRENT LIST",$J,"A"),-1)
|
---|
| 88 | I NEWNUM<1000 S NEWNUM=NEWNUM+1000
|
---|
| 89 | S NUM=0 F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S CALL=+^(NUM) D
|
---|
| 90 | .I '$D(^TMP("FSC CURRENT LIST",$J,"C",CALL)) D
|
---|
| 91 | ..S NEWNUM=NEWNUM+1
|
---|
| 92 | ..S ^TMP("FSC CURRENT LIST",$J,NEWNUM)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
| 93 | ..S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=NEWNUM
|
---|
| 94 | D OUTPUT
|
---|
| 95 | Q
|
---|
| 96 | ;
|
---|
| 97 | OUTPUT ; from FSCRPCAP, FSCRPCD, FSCRPCQ, FSCRPCR, FSCRPCS
|
---|
| 98 | N NUM
|
---|
| 99 | S NUM=0 F S NUM=$O(^TMP("FSC CURRENT LIST",$J,NUM)) Q:NUM<1 S ^TMP("FSCRPC",$J,"OUTPUT",NUM)=^(NUM)
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | INSERT(IN,OUT) ; from FSCRPCX (RPCInsertCall)
|
---|
| 103 | N CALL,LNUM,NEWNUM
|
---|
| 104 | S CALL=+^TMP("FSCRPC",$J,"INPUT",1)
|
---|
| 105 | I 'CALL Q
|
---|
| 106 | S LNUM=+$O(^TMP("FSC CURRENT LIST",$J,0))
|
---|
| 107 | I LNUM<1 S NEWNUM=1000
|
---|
| 108 | E S NEWNUM=LNUM-1
|
---|
| 109 | F Q:'$D(^TMP("FSC CURRENT LIST",$J,NEWNUM)) S NEWNUM=NEWNUM-1
|
---|
| 110 | I NEWNUM<1 Q
|
---|
| 111 | S ^TMP("FSC CURRENT LIST",$J,NEWNUM)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
| 112 | S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=NEWNUM
|
---|
| 113 | Q
|
---|