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

OCXOCMPG.m

Go to the documentation of this file.
  1. OCXOCMPG ;SLC/RJS,CLA - ORDER CHECK CODE COMPILER (Sort Code Segments cont...) ;5/08/01 10:11
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,105**;Dec 17,1997
  1. ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
  1. ;
  1. EN(OCXL,OCXCNT) ;
  1. ;
  1. N OCXCODE,OCXVAR
  1. D IN^OCXOCMP4(OCXL," ;")
  1. S OCXCODE=""
  1. ;
  1. I $L(OCXMCOD) D
  1. .;
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .D IN^OCXOCMP4(OCXL," ; Run Execute Code")
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .;
  1. .N NEWVAL,FLDNAME,FCNT,X
  1. .S NEWVAL=OCXMCOD
  1. .F FCNT=1:1 Q:'(NEWVAL["|") S NEWVAL=$P(NEWVAL,"|",1)_"X"_FCNT_$P(NEWVAL,"|",3,$L(NEWVAL,"|"))
  1. .S X=NEWVAL D ^DIM
  1. .I '$D(X) D Q
  1. ..N MESG
  1. ..S MESG(1)="**** WARNING *****************************************************"
  1. ..S MESG(2)=""
  1. ..S MESG(3)="The Execute code: "_OCXMCOD
  1. ..S MESG(4)=" Rule Format: "_$G(OCXR("R",OCXD1,"MCODE"))
  1. ..S MESG(5)=""
  1. ..S MESG(6)=" In Rule: ["_(+$G(OCXD0))_"] "_$P($G(^OCXS(860.2,+$G(OCXD0),0)),U,1)
  1. ..S MESG(7)=" Relation: ["_(+$G(OCXD1))_"] "_$G(^OCXS(860.2,+$G(OCXD0),"R",+$G(OCXD1),"E"))
  1. ..S MESG(8)=""
  1. ..S MESG(9)=" Did not pass the mumps syntax check. The code has been disabled."
  1. ..S MESG(10)=" This rule may not work correctly until the code is fixed."
  1. ..S MESG(11)="******************************************************************"
  1. ..S MESG(12)=""
  1. ..F FCNT=1:1 Q:'$D(MESG(FCNT)) D IN^OCXOCMP4(OCXL," ;"_MESG(FCNT))
  1. ..F FCNT=1:1 Q:'$D(MESG(FCNT)) D MESG(MESG(FCNT))
  1. .;
  1. .D IN^OCXOCMP4(OCXL," "_OCXMCOD)
  1. ;
  1. D IN^OCXOCMP4(OCXL," Q:$G(OCXOERR)")
  1. I ($P(OCXNOD0,U,3)),$L(OCXNMSG) D
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .D IN^OCXOCMP4(OCXL," ; Send Notification")
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .D IN^OCXOCMP4(OCXL," S (OCXDUZ,OCXDATA)="""",OCXNUM=0")
  1. .D IN^OCXOCMP4(OCXL," I ($G(OCXOSRC)=""GENERIC HL7 MESSAGE ARRAY"") D")
  1. .D IN^OCXOCMP4(OCXL," .S OCXDATA="_$$HL7("ORC",2)_"_""|""_"_$$HL7("ORC",3))
  1. .D IN^OCXOCMP4(OCXL," .S OCXDATA=$TR(OCXDATA,""^"",""@""),OCXNUM=+OCXDATA")
  1. .D IN^OCXOCMP4(OCXL," I ($G(OCXOSRC)=""CPRS ORDER PROTOCOL"") D")
  1. .D IN^OCXOCMP4(OCXL," .I $P($G(OCXORD),U,3) S OCXDUZ(+$P(OCXORD,U,3))=""""")
  1. .D IN^OCXOCMP4(OCXL," .S OCXNUM=+$P(OCXORD,U,2)")
  1. .D IN^OCXOCMP4(OCXL," S:($G(OCXOSRC)=""CPRS ORDER PRESCAN"") OCXNUM=+$P(OCXPSD,""|"",5)")
  1. .D IN^OCXOCMP4(OCXL," S OCXRULE("""_OCXL_""")=""""")
  1. .D IN^OCXOCMP4(OCXL," I $$NEWRULE(DFN,OCXNUM,"_OCXD0_","_OCXD1_","_(+$P(OCXNOD0,U,3))_",OCXNMSG) D I 1")
  1. .D IN^OCXOCMP4(OCXL," .D:($G(OCXTRACE)<5) EN^ORB3("_(+$P(OCXNOD0,U,3))_",DFN,OCXNUM,.OCXDUZ,OCXNMSG,.OCXDATA)")
  1. .I $G(OCXTRACE) D
  1. ..D IN^OCXOCMP4(OCXL," .I $G(OCXTRACE) D I 1")
  1. ..D IN^OCXOCMP4(OCXL," ..N OCXANS")
  1. ..D IN^OCXOCMP4(OCXL," ..W !")
  1. ..D IN^OCXOCMP4(OCXL," ..I ($G(OCXTRACE)>5) W !,"" *** TEST MODE - Notification not sent to ORB3 ***""")
  1. ..D IN^OCXOCMP4(OCXL," ..E W !,"" *** Notification sent to EN^ORB3 ***""")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" Notification: "_+$P(OCXNOD0,U,3)_" ("_$P(OCXNOD0,U,3)_")""")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" DFN: "",DFN")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" Order Number: "",OCXNUM")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" Message: "",OCXNMSG")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" DATA: "",OCXDATA")
  1. ..D IN^OCXOCMP4(OCXL," ..W !,"" OCXTRACE: "",OCXTRACE")
  1. ..D IN^OCXOCMP4(OCXL," ..W:$D(OCXORD) !,"" OCXORD DATA: "",OCXORD")
  1. ..D IN^OCXOCMP4(OCXL," ..I $L($T(LOGAL^OCXDEBUG)) D LOGAL^OCXDEBUG("_OCXD0_","_OCXD1_","_(+$P(OCXNOD0,U,3))_",DFN,OCXNUM,"""",OCXNMSG,.OCXDATA)")
  1. ..D IN^OCXOCMP4(OCXL," E I $G(OCXTRACE) W !,||LNTAG||,?30,""Message: Rule already triggered""")
  1. ;
  1. I ($P(OCXNOD0,U,2)),$L(OCXCMSG) D
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .D IN^OCXOCMP4(OCXL," ; Send Order Check Message")
  1. .D IN^OCXOCMP4(OCXL," ;")
  1. .D IN^OCXOCMP4(OCXL," S OCXOCMSG($O(OCXOCMSG(999999),-1)+1)=OCXCMSG")
  1. ;
  1. Q OCXWARN
  1. ;
  1. HL7(S,P) ;
  1. ;
  1. ;Q "$G(OCXODATA("""_S_""","_P_"))"
  1. Q "$G(^TMP(""OCXSWAP"",$J,""OCXODATA"","""_S_""","_P_"))"
  1. ;
  1. ;
  1. MESG(OCXX) ;
  1. I '$G(OCXAUTO) W !,OCXX
  1. I ($G(OCXAUTO)=1) D BMES^XPDUTL(.OCXX)
  1. Q
  1. ;