| 1 | FSCRPCNC ;SLC/STAFF-NOIS RPC New Call ;9/6/98  22:02 | 
|---|
| 2 | ;;1.1;NOIS;;Sep 06, 1998 | 
|---|
| 3 | ; | 
|---|
| 4 | NEW(IN,OUT) ; from FSCRPX (RPCNewCall) | 
|---|
| 5 | N CALLID,CALL,DATEO,FIELDS,OK,SITE K FIELDS | 
|---|
| 6 | K ^TMP("FSC WP",$J) | 
|---|
| 7 | D PROCESS(.FIELDS) | 
|---|
| 8 | S SITE=+$G(FIELDS("SITE")) | 
|---|
| 9 | S DATEO=+$G(FIELDS("DATEO")) | 
|---|
| 10 | Q:'SITE  Q:'DATEO | 
|---|
| 11 | D NEWCALL(SITE,DATEO,.CALLID,.CALL,.OK) | 
|---|
| 12 | I 'OK Q | 
|---|
| 13 | D FIELDS(CALL,.FIELDS) | 
|---|
| 14 | S ^TMP("FSCRPC",$J,"OUTPUT",1)=+CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ) | 
|---|
| 15 | K ^TMP("FSC WP",$J) | 
|---|
| 16 | Q | 
|---|
| 17 | ; | 
|---|
| 18 | NEWCALL(SITE,RDATE,CALLID,CALL,OK) ; | 
|---|
| 19 | N DIC,DLAYGO,DR,EPTYPE,ISC,SITE0,X,Y K DIC | 
|---|
| 20 | S OK=0 | 
|---|
| 21 | S SITE0=^FSC("SITE",SITE,0) | 
|---|
| 22 | D CALLNUM^FSCUC(SITE0,RDATE,.CALLID,.OK) | 
|---|
| 23 | I 'OK Q | 
|---|
| 24 | S OK=0 | 
|---|
| 25 | S DIC=7100,DIC(0)="XL",DLAYGO=7100,X=CALLID | 
|---|
| 26 | D ^DIC K DIC,DLAYGO | 
|---|
| 27 | I Y<1 Q | 
|---|
| 28 | I $$ACCESS^FSCU(DUZ,"SPEC") S EPTYPE=$O(^FSC("EPTYPE","B","SPECIALIST",0)) | 
|---|
| 29 | E  S EPTYPE=$O(^FSC("EPTYPE","B","NON-SPECIALIST",0)) | 
|---|
| 30 | S CALL=+Y,OK=1 | 
|---|
| 31 | S DR="2///`"_SITE_";10///"_RDATE_";120///NOW;5.2///`"_DUZ_";5.3///"_EPTYPE_";101///`"_CALL | 
|---|
| 32 | S ISC=+$P($G(^FSC("SITE",SITE,0)),U,11) I ISC S DR=DR_";2.3///`"_ISC | 
|---|
| 33 | D SETUP(CALL,"^FSCD(""CALL"",",.DR) | 
|---|
| 34 | D MRE^FSCMR(DUZ,CALL) | 
|---|
| 35 | Q | 
|---|
| 36 | ; | 
|---|
| 37 | FIELDS(CALL,FIELDS) ; | 
|---|
| 38 | N DR,STATUS | 
|---|
| 39 | D DESC(CALL) | 
|---|
| 40 | D NOTE(CALL) | 
|---|
| 41 | S DR="" | 
|---|
| 42 | I $L($G(FIELDS("SUBJECT"))) S DR=DR_";1///"_$$FIX^FSCRPCEC(FIELDS("SUBJECT")) | 
|---|
| 43 | I $L($G(FIELDS("PHONE"))) S DR=DR_";2.2///"_$$FIX^FSCRPCEC(FIELDS("PHONE")) | 
|---|
| 44 | I $L($G(FIELDS("PATCH"))) S DR=DR_";7///"_$$FIX^FSCRPCEC(FIELDS("PATCH")) | 
|---|
| 45 | I $L($G(FIELDS("KEYWORDS"))) S DR=DR_";1.5///"_$$FIX^FSCRPCEC(FIELDS("KEYWORDS")) | 
|---|
| 46 | I $L(DR)>100 D SETUP(CALL,"^FSCD(""CALL"",",.DR) | 
|---|
| 47 | I $G(FIELDS("MOD")) S DR=DR_";3///`"_+FIELDS("MOD") | 
|---|
| 48 | I $G(FIELDS("IRM")) S DR=DR_";2.1///`"_+FIELDS("IRM") | 
|---|
| 49 | I $G(FIELDS("PRI")) S DR=DR_";6///`"_+FIELDS("PRI") | 
|---|
| 50 | I $G(FIELDS("SPEC")) S DR=DR_";5///`"_+FIELDS("SPEC") | 
|---|
| 51 | I $G(FIELDS("SPECD")) S DR=DR_";5.1///`"_+FIELDS("SPECD") | 
|---|
| 52 | I $G(FIELDS("DEVSUB")) S DR=DR_";3.2///`"_+FIELDS("DEVSUB") | 
|---|
| 53 | D SETUP(CALL,"^FSCD(""CALL"",",.DR) | 
|---|
| 54 | S STATUS=+$G(FIELDS("STATUS")) | 
|---|
| 55 | I STATUS=2 D | 
|---|
| 56 | .S DR="81///`"_DUZ | 
|---|
| 57 | .I $G(FIELDS("FUNC")) S DR=DR_";8///`"_+FIELDS("FUNC") | 
|---|
| 58 | .I $G(FIELDS("TASK")) S DR=DR_";9///`"_+FIELDS("TASK") | 
|---|
| 59 | .I $L($G(FIELDS("DATEC"))) S DR=DR_";82///"_FIELDS("DATEC") | 
|---|
| 60 | .D SETUP(CALL,"^FSCD(""CALL"",",.DR) | 
|---|
| 61 | .D RES(CALL) | 
|---|
| 62 | D STATUS(CALL,STATUS) | 
|---|
| 63 | Q | 
|---|
| 64 | ; | 
|---|
| 65 | SETUP(DA,DIE,DR) ; | 
|---|
| 66 | N X,Y | 
|---|
| 67 | I '$L(DR) Q | 
|---|
| 68 | I $E(DR)=";" S DR=$E(DR,2,245) | 
|---|
| 69 | L +^FSCD("CALL",DA):30 I '$T Q  ; *** needs ok | 
|---|
| 70 | D ^DIE | 
|---|
| 71 | L -^FSCD("CALL",DA) | 
|---|
| 72 | D PICKUP^FSCES(DA) | 
|---|
| 73 | S DR="" | 
|---|
| 74 | Q | 
|---|
| 75 | ; | 
|---|
| 76 | STATUS(CALL,STATUS) ; | 
|---|
| 77 | I STATUS=1 D | 
|---|
| 78 | .D STATUS^FSCES(CALL,"",1) | 
|---|
| 79 | .D UPDATE^FSCTASK(CALL) | 
|---|
| 80 | E  I STATUS=3 D | 
|---|
| 81 | .D STATUS^FSCES(CALL,"",1) | 
|---|
| 82 | .D UPDATE^FSCTASK(CALL) | 
|---|
| 83 | .D STATUS^FSCES(CALL,1,3) | 
|---|
| 84 | .D UPDATE^FSCTASK(CALL) | 
|---|
| 85 | E  I STATUS=2 D | 
|---|
| 86 | .D STATUS^FSCES(CALL,"",1) | 
|---|
| 87 | .D UPDATE^FSCTASK(CALL) | 
|---|
| 88 | .D STATUS^FSCES(CALL,1,2) | 
|---|
| 89 | .D UPDATE^FSCTASK(CALL) | 
|---|
| 90 | Q | 
|---|
| 91 | ; | 
|---|
| 92 | RES(CALL) ; from FSCRPCEC, FSCRPCEF | 
|---|
| 93 | N CNT,LINE,LINECNT | 
|---|
| 94 | I '$O(^TMP("FSC WP",$J,"RES",0)) Q | 
|---|
| 95 | S (LINECNT,CNT)=0 F  S CNT=$O(^TMP("FSC WP",$J,"RES",CNT)) Q:CNT<1  S LINE=^(CNT) D | 
|---|
| 96 | .S LINECNT=LINECNT+1 | 
|---|
| 97 | .S ^FSCD("CALL",CALL,80,LINECNT,0)=LINE | 
|---|
| 98 | S ^FSCD("CALL",CALL,80,0)="^^"_LINECNT_U_LINECNT_U_DT_U | 
|---|
| 99 | Q | 
|---|
| 100 | ; | 
|---|
| 101 | DESC(CALL) ; from FSCRPCEC, FSCRPCEF | 
|---|
| 102 | N CNT,LINE,LINECNT | 
|---|
| 103 | I '$O(^TMP("FSC WP",$J,"DESC",0)) Q | 
|---|
| 104 | K ^FSCD("CALL",CALL,30) | 
|---|
| 105 | S (LINECNT,CNT)=0 F  S CNT=$O(^TMP("FSC WP",$J,"DESC",CNT)) Q:CNT<1  S LINE=^(CNT) D | 
|---|
| 106 | .S LINECNT=LINECNT+1 | 
|---|
| 107 | .S ^FSCD("CALL",CALL,30,LINECNT,0)=LINE | 
|---|
| 108 | S ^FSCD("CALL",CALL,30,0)="^^"_LINECNT_U_LINECNT_U_DT_U | 
|---|
| 109 | Q | 
|---|
| 110 | ; | 
|---|
| 111 | NOTE(CALL) ; from FSCRPCEC, FSCRPCEF | 
|---|
| 112 | N CNT,LINE,NUM | 
|---|
| 113 | I '$O(^TMP("FSC WP",$J,"NOTE",0)) Q | 
|---|
| 114 | S NUM=$P(^FSCD("CALL",CALL,120),U,7)+1,$P(^(120),U,7)=NUM | 
|---|
| 115 | S LINE="("_NUM_") "_$$FMTE^XLFDT($$NOW^XLFDT) | 
|---|
| 116 | S LINE=$$SETSTR^VALM1($$VALUE^FSCGET(DUZ,7107.1,1),LINE,35,$L(LINE)) | 
|---|
| 117 | L +^FSCD("CALL",CALL,50):30 I '$T Q  ; *** needs ok | 
|---|
| 118 | I '$D(^FSCD("CALL",CALL,50,0)) S ^(0)="^^0^0^"_DT_U | 
|---|
| 119 | S CNT=1+$O(^FSCD("CALL",CALL,50,"A"),-1) | 
|---|
| 120 | S $P(^FSCD("CALL",CALL,120),U,6)=CNT | 
|---|
| 121 | S ^FSCD("CALL",CALL,50,CNT,0)=LINE | 
|---|
| 122 | S LINE=0 F  S LINE=$O(^TMP("FSC WP",$J,"NOTE",LINE)) Q:LINE<1  S CNT=CNT+1,^FSCD("CALL",CALL,50,CNT,0)=^(LINE) | 
|---|
| 123 | S CNT=CNT+1,^FSCD("CALL",CALL,50,CNT,0)="" | 
|---|
| 124 | S $P(^FSCD("CALL",CALL,50,0),U,3,4)=CNT_U_CNT | 
|---|
| 125 | L -^FSCD("CALL",CALL,50) | 
|---|
| 126 | Q | 
|---|
| 127 | ; | 
|---|
| 128 | PROCESS(FIELDS) ; from FSCRPCEB, FSCRPCEC, FSCRPCEN, FSCRPCWP, FSCRPCWS | 
|---|
| 129 | N CNT,LINE | 
|---|
| 130 | S CNT=0 F  S CNT=$O(^TMP("FSCRPC",$J,"INPUT",CNT)) Q:CNT<1  S LINE=^(CNT) D  Q:CNT<1 | 
|---|
| 131 | .I '$L(LINE) Q | 
|---|
| 132 | .I $E(LINE)'="{" S FIELDS($P(LINE,U))=$P(LINE,U,2,99) Q | 
|---|
| 133 | .I LINE="{DESC}" D WP("DESC",.CNT) Q | 
|---|
| 134 | .I LINE="{NOTE}" D WP("NOTE",.CNT) Q | 
|---|
| 135 | .I LINE="{RES}" D WP("RES",.CNT) Q | 
|---|
| 136 | .I LINE="{PNOTE}" D WP("PNOTE",.CNT) Q | 
|---|
| 137 | Q | 
|---|
| 138 | ; | 
|---|
| 139 | WP(NODE,CNT) ; | 
|---|
| 140 | N LINE,LINECNT | 
|---|
| 141 | S LINECNT=0 | 
|---|
| 142 | F  S CNT=$O(^TMP("FSCRPC",$J,"INPUT",CNT)) Q:CNT<1  S LINE=^(CNT) Q:LINE="{{{}}}"  D | 
|---|
| 143 | .S LINECNT=LINECNT+1 | 
|---|
| 144 | .S ^TMP("FSC WP",$J,NODE,LINECNT)=LINE | 
|---|
| 145 | Q | 
|---|