| 1 | FSCRPCEC ;SLC/STAFF-NOIS RPC Edit Call ;9/6/98  21:56
 | 
|---|
| 2 |  ;;1.1;NOIS;;Sep 06, 1998
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EDIT(IN,OUT) ; from FSCRPX (RPCEditCall)
 | 
|---|
| 5 |  N CALL,EDITED,FIELDS K FIELDS
 | 
|---|
| 6 |  K ^TMP("FSC WP",$J)
 | 
|---|
| 7 |  D PROCESS^FSCRPCNC(.FIELDS)
 | 
|---|
| 8 |  S CALL=+$G(FIELDS("CALL"))
 | 
|---|
| 9 |  I 'CALL Q
 | 
|---|
| 10 |  I $O(^TMP("FSCRPC",$J,"INPUT",1)) D
 | 
|---|
| 11 |  .D FIELDS(CALL,.FIELDS,.EDITED)
 | 
|---|
| 12 |  .I EDITED D MRE^FSCMR(DUZ,CALL),UPDATE^FSCAUDIT(CALL)
 | 
|---|
| 13 |  S ^TMP("FSCRPC",$J,"OUTPUT",1)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
 | 
|---|
| 14 |  K ^TMP("FSC WP",$J)
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | FIELDS(CALL,FIELDS,EDITED) ; from FSCRPCEN
 | 
|---|
| 18 |  N DR,OK,STATUS,WOLDV,WNEWV K WOLDV,WNEWV
 | 
|---|
| 19 |  S EDITED=0
 | 
|---|
| 20 |  I $O(^TMP("FSC WP",$J,"DESC",0)) D
 | 
|---|
| 21 |  .D DESC^FSCRPCNC(CALL)
 | 
|---|
| 22 |  .S WOLDV("DESC")=1,WNEWV("DESC")=2
 | 
|---|
| 23 |  .D DESC^FSCAUDIT(CALL,.WOLDV,.WNEWV) ; forces audit update
 | 
|---|
| 24 |  D NOTE^FSCRPCNC(CALL)
 | 
|---|
| 25 |  S DR=""
 | 
|---|
| 26 |  I $L($G(FIELDS("SUBJECT"))) S DR=DR_";1///"_$$FIX(FIELDS("SUBJECT"))
 | 
|---|
| 27 |  I $D(FIELDS("SUBJECT")),FIELDS("SUBJECT")="" S DR=DR_";1///@"
 | 
|---|
| 28 |  I $L($G(FIELDS("PHONE"))) S DR=DR_";2.2///"_$$FIX(FIELDS("PHONE"))
 | 
|---|
| 29 |  I $D(FIELDS("PHONE")),FIELDS("PHONE")="" S DR=DR_";2.2///@"
 | 
|---|
| 30 |  I $L($G(FIELDS("PATCH"))) S DR=DR_";7///"_$$FIX(FIELDS("PATCH"))
 | 
|---|
| 31 |  I $D(FIELDS("PATCH")),FIELDS("PATCH")="" S DR=DR_";7///@"
 | 
|---|
| 32 |  I $L($G(FIELDS("KEYWORDS"))) S DR=DR_";1.5///"_$$FIX(FIELDS("KEYWORDS"))
 | 
|---|
| 33 |  I $D(FIELDS("KEYWORDS")),FIELDS("KEYWORDS")="" S DR=DR_";1.5///@"
 | 
|---|
| 34 |  I $L(DR)>100 D SETUP(CALL,"^FSCD(""CALL"",",.DR,.EDITED)
 | 
|---|
| 35 |  I $G(FIELDS("MOD")) S DR=DR_";3///`"_+FIELDS("MOD")
 | 
|---|
| 36 |  I $D(FIELDS("MOD")),FIELDS("MOD")="" S DR=DR_";3///@"
 | 
|---|
| 37 |  I $G(FIELDS("IRM")) S DR=DR_";2.1///`"_+FIELDS("IRM")
 | 
|---|
| 38 |  I $D(FIELDS("IRM")),FIELDS("IRM")="" S DR=DR_";2.1///@"
 | 
|---|
| 39 |  I $G(FIELDS("PRI")) S DR=DR_";6///`"_+FIELDS("PRI")
 | 
|---|
| 40 |  I $D(FIELDS("PRI")),FIELDS("PRI")="" S DR=DR_";6///@"
 | 
|---|
| 41 |  I $G(FIELDS("SPEC")) S DR=DR_";5///`"_+FIELDS("SPEC")
 | 
|---|
| 42 |  I $D(FIELDS("SPEC")),FIELDS("SPEC")="" S DR=DR_";5///@"
 | 
|---|
| 43 |  I $G(FIELDS("SPECD")) S DR=DR_";5.1///`"_+FIELDS("SPECD")
 | 
|---|
| 44 |  I $D(FIELDS("SPECD")),FIELDS("SPECD")="" S DR=DR_";5.1///@"
 | 
|---|
| 45 |  I $G(FIELDS("DEVSUB")) S DR=DR_";3.2///`"_+FIELDS("DEVSUB")
 | 
|---|
| 46 |  I $D(FIELDS("DEVSUB")),FIELDS("DEVSUB")="" S DR=DR_";3.2///@"
 | 
|---|
| 47 |  D SETUP(CALL,"^FSCD(""CALL"",",.DR,.EDITED)
 | 
|---|
| 48 |  S STATUS=+$G(FIELDS("STATUS"))
 | 
|---|
| 49 |  I STATUS=2 D  I 'OK Q
 | 
|---|
| 50 |  .S OK=1
 | 
|---|
| 51 |  .S DR="81///`"_DUZ
 | 
|---|
| 52 |  .I $G(FIELDS("FUNC")) S DR=DR_";8///`"_+FIELDS("FUNC")
 | 
|---|
| 53 |  .I $G(FIELDS("TASK")) S DR=DR_";9///`"_+FIELDS("TASK")
 | 
|---|
| 54 |  .I $L($G(FIELDS("DATEC"))) S DR=DR_";82///"_FIELDS("DATEC")
 | 
|---|
| 55 |  .I $L(DR) D  I 'OK Q
 | 
|---|
| 56 |  ..N DA,DIE,X,Y
 | 
|---|
| 57 |  ..I $E(DR)=";" S DR=$E(DR,2,245)
 | 
|---|
| 58 |  ..S DA=CALL,DIE="^FSCD(""CALL"","
 | 
|---|
| 59 |  ..L +^FSCD("CALL",DA):30 I '$T S OK=0 Q  ; *** needs ok
 | 
|---|
| 60 |  ..D ^DIE
 | 
|---|
| 61 |  ..L -^FSCD("CALL",DA)
 | 
|---|
| 62 |  ..D PICKUP^FSCES(DA)
 | 
|---|
| 63 |  ..S DR=""
 | 
|---|
| 64 |  .D RES^FSCRPCNC(CALL)
 | 
|---|
| 65 |  D STATUS(CALL,STATUS,.EDITED)
 | 
|---|
| 66 |  Q
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 | FIX(VALUE) ; $$(input) -> correct for invalid characters
 | 
|---|
| 69 |  N NEWVALUE
 | 
|---|
| 70 |  S NEWVALUE=$TR(VALUE,";""^","~~~")
 | 
|---|
| 71 |  I $E(NEWVALUE)="-" S NEWVALUE="~"_$E(NEWVALUE,2,245)
 | 
|---|
| 72 |  I VALUE="?" S NEWVALUE="@"
 | 
|---|
| 73 |  Q NEWVALUE
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | SETUP(DA,DIE,DR,EDITED) ; from FSCRPCEF
 | 
|---|
| 76 |  N ABBREV,CALLNUM,NEWV,OLDV,X,Y K NEWV,OLDV
 | 
|---|
| 77 |  S CALLNUM=DA
 | 
|---|
| 78 |  I '$L(DR),$O(^TMP("FSC WP",$J,"NOTE",0)) D  Q
 | 
|---|
| 79 |  .D UPDATE^FSCTASK(CALLNUM) S EDITED=1
 | 
|---|
| 80 |  I '$L(DR) Q
 | 
|---|
| 81 |  I $E(DR)=";" S DR=$E(DR,2,245)
 | 
|---|
| 82 |  F ABBREV="SUBJECT","IRM","PHONE","MOD","SPEC","SPECD","PRI","PATCH","DEVSUB","KEYWORDS" S OLDV(ABBREV)=""
 | 
|---|
| 83 |  D GET^FSCGET("CUSTOM",CALLNUM,.OLDV)
 | 
|---|
| 84 |  L +^FSCD("CALL",DA):30 I '$T Q  ; *** needs ok
 | 
|---|
| 85 |  D ^DIE
 | 
|---|
| 86 |  L -^FSCD("CALL",DA)
 | 
|---|
| 87 |  D PICKUP^FSCES(DA)
 | 
|---|
| 88 |  M NEWV=OLDV D GET^FSCGET("CUSTOM",CALLNUM,.NEWV)
 | 
|---|
| 89 |  D AUDIT^FSCAUDIT(CALLNUM,.OLDV,.NEWV)
 | 
|---|
| 90 |  D UPDATE^FSCTASK(CALLNUM) S EDITED=1
 | 
|---|
| 91 |  S DR=""
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 |  ;
 | 
|---|
| 94 | STATUS(CALL,STATUS,EDITED) ; from FSCRPCEF
 | 
|---|
| 95 |  I 'STATUS Q
 | 
|---|
| 96 |  N PREVSTAT
 | 
|---|
| 97 |  S PREVSTAT=+$P(^FSCD("CALL",+CALL,0),U,17)
 | 
|---|
| 98 |  I PREVSTAT<2 S PREVSTAT=+$P(^FSCD("CALL",+CALL,0),U,2)
 | 
|---|
| 99 |  I PREVSTAT=0 D  Q
 | 
|---|
| 100 |  .D STATUS^FSCES(CALL,"",1)
 | 
|---|
| 101 |  .D UPDATE^FSCTASK(CALL) S EDITED=1
 | 
|---|
| 102 |  .I STATUS'=1 D
 | 
|---|
| 103 |  ..D STATUS^FSCES(CALL,1,STATUS)
 | 
|---|
| 104 |  ..D UPDATE^FSCTASK(CALL) S EDITED=1
 | 
|---|
| 105 |  I STATUS,PREVSTAT=STATUS Q
 | 
|---|
| 106 |  D STATUS^FSCES(CALL,PREVSTAT,STATUS)
 | 
|---|
| 107 |  D UPDATE^FSCTASK(CALL) S EDITED=1
 | 
|---|
| 108 |  Q
 | 
|---|
| 109 |  ;
 | 
|---|
| 110 | REOPEN(IN,OUT) ; from FSCRPX (RPCReopenCall)
 | 
|---|
| 111 |  N CALL,OLDSTAT
 | 
|---|
| 112 |  S CALL=+$G(^TMP("FSCRPC",$J,"INPUT",1))
 | 
|---|
| 113 |  I 'CALL Q
 | 
|---|
| 114 |  S OLDSTAT=+$P($G(^FSCD("CALL",CALL,0)),U,2)
 | 
|---|
| 115 |  I '(OLDSTAT=2!(OLDSTAT=99)) Q
 | 
|---|
| 116 |  D STATUS^FSCES(CALL,OLDSTAT,1,1)
 | 
|---|
| 117 |  D UPDATE^FSCTASK(CALL)
 | 
|---|
| 118 |  D MRE^FSCMR(DUZ,CALL)
 | 
|---|
| 119 |  D UPDATE^FSCAUDIT(CALL)
 | 
|---|
| 120 |  S ^TMP("FSCRPC",$J,"OUTPUT",1)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
 | 
|---|
| 121 |  Q
 | 
|---|