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

PSJOCERR.m

Go to the documentation of this file.
  1. PSJOCERR ;BIR/MV - ERROR HANDLING FOR ORDER CHECKS ;6 Jun 07 / 3:37 PM
  1. ;;5.0;INPATIENT MEDICATIONS ;**181,252**;16 DEC 97;Build 69
  1. ;
  1. SYS() ;
  1. ;If the system is down, pause and continue with Allergy and CPRS OC
  1. I '$$PING^PSJOC() D Q 1
  1. . K ^TMP($J,"PSJPRE")
  1. . D PAUSE^PSJMISC(1,1)
  1. . D GMRAOC^PSJOC
  1. Q 0
  1. DRUG ;
  1. Q
  1. ORDER ;
  1. Q
  1. SETERR(PSJBASE,PSJPON,PSJCODE,PSJDNM) ;
  1. ;PSJBASE - Base(Literal value for TMP global)
  1. ;PSJPON - 4th pieces pharmacy order #
  1. ;PSJCODE - Exception code for a specific error message to be returned
  1. ;PSJDNM - Display drug name (DD or AD/SOL)
  1. I $G(PSJBASE)="" Q
  1. I $G(PSJPON)="" Q
  1. I '$G(PSJCODE) Q
  1. S ^TMP($J,PSJBASE,"IN","EXCEPTIONS","DOSE",PSJPON)=PSJCODE_U_$G(PSJDNM)
  1. Q
  1. DSPERR(PSJTYPE) ;Display drug level errors
  1. ;PSJTYPE = "DRUGDRUG" or "THERAPY"
  1. ;PSJOCER(MSG_TEXT) - Array to keep track of errors that already displayed
  1. ;PSJDSPFG - If 1 then display a Pause if an error was displayed.
  1. Q:$G(PSJTYPE)=""
  1. NEW ON,PSJPON,PSJCNT,PSJMSG
  1. S PSJDSPFG=0
  1. S PSJPON="" F S PSJPON=$O(^TMP($J,"PSJPRE","OUT",PSJTYPE,"ERROR",PSJPON)) Q:PSJPON="" D
  1. . F PSJCNT=0:0 S PSJCNT=$O(^TMP($J,"PSJPRE","OUT",PSJTYPE,"ERROR",PSJPON,PSJCNT)) Q:'PSJCNT D
  1. .. S PSJMSG=$G(^TMP($J,"PSJPRE","OUT",PSJTYPE,"ERROR",PSJPON,PSJCNT,"MSG"))
  1. .. S PSJTXT=$G(^TMP($J,"PSJPRE","OUT",PSJTYPE,"ERROR",PSJPON,PSJCNT,"TEXT"))
  1. .. I '$$ERRCHK(PSJMSG_PSJTXT) Q
  1. .. S PSJDSPFG=1
  1. .. K PSJPAUSE
  1. .. I ($Y+6)>IOSL D PAUSE^PSJMISC(1,1) W @IOF
  1. .. I PSJMSG]"" W !! D WRITE^PSJMISC(PSJMSG)
  1. .. I PSJTXT]"" D WRITE^PSJMISC(" Reason(s): "_PSJTXT)
  1. I PSJDSPFG D PAUSE^PSJMISC(1,1) W @IOF
  1. Q
  1. ERRCHK(PSJX) ;
  1. ;PSJX - Drug name_Error reason
  1. ;Return 1 if this error drug has not displayed to the user.
  1. I $G(PSJX)="" Q 0
  1. I '$D(PSJOCER(PSJX)) S PSJOCER(PSJX)="" Q 1
  1. Q 0