VSITBUL ;ISD/RJP - Visit Error/Warning Bulletin ;4/21/97
;;1.0;PCE PATIENT CARE ENCOUNTER;**76,81**;Aug 12, 1996
; Patch PX*1*76 changes the 2nd line of all VSIT* routines to reflect
; the incorporation of the module into PCE. For historical reference,
; the old (VISIT TRACKING) 2nd line is included below to reference VSIT
; patches.
;
;;2.0;VISIT TRACKING;**2**;Aug 12, 1996;
;
Q ; - not an entry point
;
VAR(ERR) ; - log error messages
; - called by ^VSITPUT
;
; - pass ERR = <error message text>
; - rtns ^TMP($J,"VSIT-ERROR",
Q:$G(VSIT("IEN")) ;ADDED TO END UNNECESSARY MESSAGES
D:'$D(^TMP($J,"VSIT-ERROR")) INI
Q:$G(ERR)']"" N TXT
S TXT="",$P(TXT,"- ",25)="" D TXT(TXT)
I "LOC,VDT,TYP,PAT,INS,SVC,"[($P(ERR,"^")) D
. D TXT("*** Fatal Error - Required Variable Not Defined ***")
E D TXT("*** Warning - Non required Visit Data Field Invalid")
D TXT($P(ERR,"^",3)_" -> "_$P(ERR,"^",2))
Q
;
TXT(TXT) ; - put text
;
N LCT S LCT=$G(^TMP($J,"VSIT-ERROR",0))+1,^(0)=LCT,^(LCT)=$G(TXT)
Q
;
INI ; - initialize message
;
N TXT,X,Y,DIVIEN,DIVISION
K ^TMP($J,"VSIT-ERROR")
D NOW^%DTC S Y=% D DD^%DT
I +$G(DUZ(2)) S DIVIEN=+$G(DUZ(2))_"," S DIVISION=$$GET1^DIQ(4,DIVIEN,.01)
S:$L($G(DIVISION))<3 DIVISION="Unknown"
D TXT(" When: "_Y_" Option: "_$P($G(XQY0),"^"))
D TXT(" User: "_$S($D(DUZ):$P($G(^VA(200,+DUZ,0)),"^"),1:"Unknown")_" Division: "_DIVISION)
S TXT="",$P(TXT,"- ",25)="" D TXT(TXT)
; - required variables
D TXT("The following are a list of required variables.")
D TXT(" VSIT = "_$S($G(VSIT)]"":VSIT,1:"Undefined"))
D TXT(" DFN = "_$S($D(DFN):DFN,1:"Undefined")_" (patient)")
D:$G(VSIT(0))]"" TXT(" VSIT(0) = "_VSIT(0))
D TXT("Hospital Location = "_$G(VSIT("LOC")))
Q
;
SND ; - send bulletin to mail group 'VSIT CREATE ERROR'
; called by ^VSIT
N TXT I $G(VSIT("IEN"))>0 D
. S TXT="",$P(TXT,"- ",25)="" D TXT(TXT)
. D TXT("*** Reference Visit Record Number "_+$G(VSIT("IEN"))_" on "_$P($G(VSIT("IEN")),"^",2)_" ***")
;
N GRP,MBR,XMSUB,XMTEXT,XMDUZ,XMY
S XMY("G.VSIT CREATE ERROR")=""
S XMSUB="ERROR - Visit File Creation"
S XMTEXT="^TMP($J,""VSIT-ERROR"","
S XMDUZ=.5
I '$D(XMY),$D(DUZ)#10 S XMY(DUZ)=""
S:'$D(XMY) XMY(.5)=""
D ^XMD
K ^TMP($J,"VSIT-ERROR"),XMB
Q
VSITBUL ;ISD/RJP - Visit Error/Warning Bulletin ;4/21/97
+1 ;;1.0;PCE PATIENT CARE ENCOUNTER;**76,81**;Aug 12, 1996
+2 ; Patch PX*1*76 changes the 2nd line of all VSIT* routines to reflect
+3 ; the incorporation of the module into PCE. For historical reference,
+4 ; the old (VISIT TRACKING) 2nd line is included below to reference VSIT
+5 ; patches.
+6 ;
+7 ;;2.0;VISIT TRACKING;**2**;Aug 12, 1996;
+8 ;
+9 ; - not an entry point
QUIT
+10 ;
VAR(ERR) ; - log error messages
+1 ; - called by ^VSITPUT
+2 ;
+3 ; - pass ERR = <error message text>
+4 ; - rtns ^TMP($J,"VSIT-ERROR",
+5 ;ADDED TO END UNNECESSARY MESSAGES
IF $GET(VSIT("IEN"))
QUIT
+6 IF '$DATA(^TMP($JOB,"VSIT-ERROR"))
DO INI
+7 IF $GET(ERR)']""
QUIT
NEW TXT
+8 SET TXT=""
SET $PIECE(TXT,"- ",25)=""
DO TXT(TXT)
+9 IF "LOC,VDT,TYP,PAT,INS,SVC,"[($PIECE(ERR,"^"))
Begin DoDot:1
+10 DO TXT("*** Fatal Error - Required Variable Not Defined ***")
End DoDot:1
+11 IF '$TEST
DO TXT("*** Warning - Non required Visit Data Field Invalid")
+12 DO TXT($PIECE(ERR,"^",3)_" -> "_$PIECE(ERR,"^",2))
+13 QUIT
+14 ;
TXT(TXT) ; - put text
+1 ;
+2 NEW LCT
SET LCT=$GET(^TMP($JOB,"VSIT-ERROR",0))+1
SET ^(0)=LCT
SET ^(LCT)=$GET(TXT)
+3 QUIT
+4 ;
INI ; - initialize message
+1 ;
+2 NEW TXT,X,Y,DIVIEN,DIVISION
+3 KILL ^TMP($JOB,"VSIT-ERROR")
+4 DO NOW^%DTC
SET Y=%
DO DD^%DT
+5 IF +$GET(DUZ(2))
SET DIVIEN=+$GET(DUZ(2))_","
SET DIVISION=$$GET1^DIQ(4,DIVIEN,.01)
+6 IF $LENGTH($GET(DIVISION))<3
SET DIVISION="Unknown"
+7 DO TXT(" When: "_Y_" Option: "_$PIECE($GET(XQY0),"^"))
+8 DO TXT(" User: "_$SELECT($DATA(DUZ):$PIECE($GET(^VA(200,+DUZ,0)),"^"),1:"Unknown")_" Division: "_DIVISION)
+9 SET TXT=""
SET $PIECE(TXT,"- ",25)=""
DO TXT(TXT)
+10 ; - required variables
+11 DO TXT("The following are a list of required variables.")
+12 DO TXT(" VSIT = "_$SELECT($GET(VSIT)]"":VSIT,1:"Undefined"))
+13 DO TXT(" DFN = "_$SELECT($DATA(DFN):DFN,1:"Undefined")_" (patient)")
+14 IF $GET(VSIT(0))]""
DO TXT(" VSIT(0) = "_VSIT(0))
+15 DO TXT("Hospital Location = "_$GET(VSIT("LOC")))
+16 QUIT
+17 ;
SND ; - send bulletin to mail group 'VSIT CREATE ERROR'
+1 ; called by ^VSIT
+2 NEW TXT
IF $GET(VSIT("IEN"))>0
Begin DoDot:1
+3 SET TXT=""
SET $PIECE(TXT,"- ",25)=""
DO TXT(TXT)
+4 DO TXT("*** Reference Visit Record Number "_+$GET(VSIT("IEN"))_" on "_$PIECE($GET(VSIT("IEN")),"^",2)_" ***")
End DoDot:1
+5 ;
+6 NEW GRP,MBR,XMSUB,XMTEXT,XMDUZ,XMY
+7 SET XMY("G.VSIT CREATE ERROR")=""
+8 SET XMSUB="ERROR - Visit File Creation"
+9 SET XMTEXT="^TMP($J,""VSIT-ERROR"","
+10 SET XMDUZ=.5
+11 IF '$DATA(XMY)
IF $DATA(DUZ)#10
SET XMY(DUZ)=""
+12 IF '$DATA(XMY)
SET XMY(.5)=""
+13 DO ^XMD
+14 KILL ^TMP($JOB,"VSIT-ERROR"),XMB
+15 QUIT