Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: FSCRPCEC

FSCRPCEC.m

Go to the documentation of this file.
  1. FSCRPCEC ;SLC/STAFF-NOIS RPC Edit Call ;9/6/98 21:56
  1. ;;1.1;NOIS;;Sep 06, 1998
  1. ;
  1. EDIT(IN,OUT) ; from FSCRPX (RPCEditCall)
  1. N CALL,EDITED,FIELDS K FIELDS
  1. K ^TMP("FSC WP",$J)
  1. D PROCESS^FSCRPCNC(.FIELDS)
  1. S CALL=+$G(FIELDS("CALL"))
  1. I 'CALL Q
  1. I $O(^TMP("FSCRPC",$J,"INPUT",1)) D
  1. .D FIELDS(CALL,.FIELDS,.EDITED)
  1. .I EDITED D MRE^FSCMR(DUZ,CALL),UPDATE^FSCAUDIT(CALL)
  1. S ^TMP("FSCRPC",$J,"OUTPUT",1)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
  1. K ^TMP("FSC WP",$J)
  1. Q
  1. ;
  1. FIELDS(CALL,FIELDS,EDITED) ; from FSCRPCEN
  1. N DR,OK,STATUS,WOLDV,WNEWV K WOLDV,WNEWV
  1. S EDITED=0
  1. I $O(^TMP("FSC WP",$J,"DESC",0)) D
  1. .D DESC^FSCRPCNC(CALL)
  1. .S WOLDV("DESC")=1,WNEWV("DESC")=2
  1. .D DESC^FSCAUDIT(CALL,.WOLDV,.WNEWV) ; forces audit update
  1. D NOTE^FSCRPCNC(CALL)
  1. S DR=""
  1. I $L($G(FIELDS("SUBJECT"))) S DR=DR_";1///"_$$FIX(FIELDS("SUBJECT"))
  1. I $D(FIELDS("SUBJECT")),FIELDS("SUBJECT")="" S DR=DR_";1///@"
  1. I $L($G(FIELDS("PHONE"))) S DR=DR_";2.2///"_$$FIX(FIELDS("PHONE"))
  1. I $D(FIELDS("PHONE")),FIELDS("PHONE")="" S DR=DR_";2.2///@"
  1. I $L($G(FIELDS("PATCH"))) S DR=DR_";7///"_$$FIX(FIELDS("PATCH"))
  1. I $D(FIELDS("PATCH")),FIELDS("PATCH")="" S DR=DR_";7///@"
  1. I $L($G(FIELDS("KEYWORDS"))) S DR=DR_";1.5///"_$$FIX(FIELDS("KEYWORDS"))
  1. I $D(FIELDS("KEYWORDS")),FIELDS("KEYWORDS")="" S DR=DR_";1.5///@"
  1. I $L(DR)>100 D SETUP(CALL,"^FSCD(""CALL"",",.DR,.EDITED)
  1. I $G(FIELDS("MOD")) S DR=DR_";3///`"_+FIELDS("MOD")
  1. I $D(FIELDS("MOD")),FIELDS("MOD")="" S DR=DR_";3///@"
  1. I $G(FIELDS("IRM")) S DR=DR_";2.1///`"_+FIELDS("IRM")
  1. I $D(FIELDS("IRM")),FIELDS("IRM")="" S DR=DR_";2.1///@"
  1. I $G(FIELDS("PRI")) S DR=DR_";6///`"_+FIELDS("PRI")
  1. I $D(FIELDS("PRI")),FIELDS("PRI")="" S DR=DR_";6///@"
  1. I $G(FIELDS("SPEC")) S DR=DR_";5///`"_+FIELDS("SPEC")
  1. I $D(FIELDS("SPEC")),FIELDS("SPEC")="" S DR=DR_";5///@"
  1. I $G(FIELDS("SPECD")) S DR=DR_";5.1///`"_+FIELDS("SPECD")
  1. I $D(FIELDS("SPECD")),FIELDS("SPECD")="" S DR=DR_";5.1///@"
  1. I $G(FIELDS("DEVSUB")) S DR=DR_";3.2///`"_+FIELDS("DEVSUB")
  1. I $D(FIELDS("DEVSUB")),FIELDS("DEVSUB")="" S DR=DR_";3.2///@"
  1. D SETUP(CALL,"^FSCD(""CALL"",",.DR,.EDITED)
  1. S STATUS=+$G(FIELDS("STATUS"))
  1. I STATUS=2 D I 'OK Q
  1. .S OK=1
  1. .S DR="81///`"_DUZ
  1. .I $G(FIELDS("FUNC")) S DR=DR_";8///`"_+FIELDS("FUNC")
  1. .I $G(FIELDS("TASK")) S DR=DR_";9///`"_+FIELDS("TASK")
  1. .I $L($G(FIELDS("DATEC"))) S DR=DR_";82///"_FIELDS("DATEC")
  1. .I $L(DR) D I 'OK Q
  1. ..N DA,DIE,X,Y
  1. ..I $E(DR)=";" S DR=$E(DR,2,245)
  1. ..S DA=CALL,DIE="^FSCD(""CALL"","
  1. ..L +^FSCD("CALL",DA):30 I '$T S OK=0 Q ; *** needs ok
  1. ..D ^DIE
  1. ..L -^FSCD("CALL",DA)
  1. ..D PICKUP^FSCES(DA)
  1. ..S DR=""
  1. .D RES^FSCRPCNC(CALL)
  1. D STATUS(CALL,STATUS,.EDITED)
  1. Q
  1. ;
  1. FIX(VALUE) ; $$(input) -> correct for invalid characters
  1. N NEWVALUE
  1. S NEWVALUE=$TR(VALUE,";""^","~~~")
  1. I $E(NEWVALUE)="-" S NEWVALUE="~"_$E(NEWVALUE,2,245)
  1. I VALUE="?" S NEWVALUE="@"
  1. Q NEWVALUE
  1. ;
  1. SETUP(DA,DIE,DR,EDITED) ; from FSCRPCEF
  1. N ABBREV,CALLNUM,NEWV,OLDV,X,Y K NEWV,OLDV
  1. S CALLNUM=DA
  1. I '$L(DR),$O(^TMP("FSC WP",$J,"NOTE",0)) D Q
  1. .D UPDATE^FSCTASK(CALLNUM) S EDITED=1
  1. I '$L(DR) Q
  1. I $E(DR)=";" S DR=$E(DR,2,245)
  1. F ABBREV="SUBJECT","IRM","PHONE","MOD","SPEC","SPECD","PRI","PATCH","DEVSUB","KEYWORDS" S OLDV(ABBREV)=""
  1. D GET^FSCGET("CUSTOM",CALLNUM,.OLDV)
  1. L +^FSCD("CALL",DA):30 I '$T Q ; *** needs ok
  1. D ^DIE
  1. L -^FSCD("CALL",DA)
  1. D PICKUP^FSCES(DA)
  1. M NEWV=OLDV D GET^FSCGET("CUSTOM",CALLNUM,.NEWV)
  1. D AUDIT^FSCAUDIT(CALLNUM,.OLDV,.NEWV)
  1. D UPDATE^FSCTASK(CALLNUM) S EDITED=1
  1. S DR=""
  1. Q
  1. ;
  1. STATUS(CALL,STATUS,EDITED) ; from FSCRPCEF
  1. I 'STATUS Q
  1. N PREVSTAT
  1. S PREVSTAT=+$P(^FSCD("CALL",+CALL,0),U,17)
  1. I PREVSTAT<2 S PREVSTAT=+$P(^FSCD("CALL",+CALL,0),U,2)
  1. I PREVSTAT=0 D Q
  1. .D STATUS^FSCES(CALL,"",1)
  1. .D UPDATE^FSCTASK(CALL) S EDITED=1
  1. .I STATUS'=1 D
  1. ..D STATUS^FSCES(CALL,1,STATUS)
  1. ..D UPDATE^FSCTASK(CALL) S EDITED=1
  1. I STATUS,PREVSTAT=STATUS Q
  1. D STATUS^FSCES(CALL,PREVSTAT,STATUS)
  1. D UPDATE^FSCTASK(CALL) S EDITED=1
  1. Q
  1. ;
  1. REOPEN(IN,OUT) ; from FSCRPX (RPCReopenCall)
  1. N CALL,OLDSTAT
  1. S CALL=+$G(^TMP("FSCRPC",$J,"INPUT",1))
  1. I 'CALL Q
  1. S OLDSTAT=+$P($G(^FSCD("CALL",CALL,0)),U,2)
  1. I '(OLDSTAT=2!(OLDSTAT=99)) Q
  1. D STATUS^FSCES(CALL,OLDSTAT,1,1)
  1. D UPDATE^FSCTASK(CALL)
  1. D MRE^FSCMR(DUZ,CALL)
  1. D UPDATE^FSCAUDIT(CALL)
  1. S ^TMP("FSCRPC",$J,"OUTPUT",1)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
  1. Q