SDES2VALCONTEXT ;ALB/MGD,LAB,LAB - ACHERON CONTEXT VALIDATION UTILITIES ;DEC 2,2024
;;5.3;Scheduling;**853,860,895**;Aug 13, 1993;Build 11
;;Per VHA Directive 6402, this routine should not be modified
;
Q
;
VALCONTEXT(SDERRORS,SDCONTEXT) ; Validate SDCONTEXT Array
; Required Input Variables
D VALACHERONID(.SDERRORS,$G(SDCONTEXT("ACHERON AUDIT ID")))
; Optional Input Variables
I $G(SDCONTEXT("PATIENT DFN"))'="" D VALPATDFN^SDES2VAL2(.SDERRORS,SDCONTEXT("PATIENT DFN"))
I $G(SDCONTEXT("PATIENT ICN"))'="" D VALPATICN^SDES2VAL2(.SDERRORS,SDCONTEXT("PATIENT ICN"))
I $G(SDCONTEXT("USER DUZ"))'="" D VALUSERDUZ^SDES2VAL200(.SDERRORS,SDCONTEXT("USER DUZ"))
I $G(SDCONTEXT("USER SECID"))'="" D VALSECID(.SDERRORS,SDCONTEXT("USER SECID"),$G(SDCONTEXT("USER DUZ")))
I '$D(SDERRORS) D
. D DFNICNMATCH(.SDERRORS,$G(SDCONTEXT("PATIENT DFN")),$G(SDCONTEXT("PATIENT ICN")))
Q
;
VALACHERONID(SDERRORS,SDACHERONID) ; Validate Acheron EAS ID
I SDACHERONID="" D ERRLOG^SDES2JSON(.SDERRORS,474) Q
I $$VALACHERONID^SDES2UTIL(SDACHERONID)=-1 D ERRLOG^SDES2JSON(.SDERRORS,475)
Q
;
DFNICNMATCH(SDERRORS,PATDFN,PATICN) ;verify that sent in values are same for patient
I (PATDFN'="")&(PATICN'="") D
. I $O(^DPT("AICN",PATICN,""))'=PATDFN D ERRLOG^SDES2JSON(.SDERRORS,516)
Q
;
VALSECID(SDERRORS,SDSECID,SDUSERDUZ) ;
I SDSECID="" Q
I $L(SDSECID)<3!$L(SDSECID)>40 D ERRLOG^SDES2JSON(.SDERRORS,156) Q
I $$GET1^DIQ(200,SDUSERDUZ,205.1,"I")'=SDSECID D ERRLOG^SDES2JSON(.SDERRORS,156)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDES2VALCONTEXT 1520 printed Mar 13, 2025@21:59:58 Page 2
SDES2VALCONTEXT ;ALB/MGD,LAB,LAB - ACHERON CONTEXT VALIDATION UTILITIES ;DEC 2,2024
+1 ;;5.3;Scheduling;**853,860,895**;Aug 13, 1993;Build 11
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 QUIT
+5 ;
VALCONTEXT(SDERRORS,SDCONTEXT) ; Validate SDCONTEXT Array
+1 ; Required Input Variables
+2 DO VALACHERONID(.SDERRORS,$GET(SDCONTEXT("ACHERON AUDIT ID")))
+3 ; Optional Input Variables
+4 IF $GET(SDCONTEXT("PATIENT DFN"))'=""
DO VALPATDFN^SDES2VAL2(.SDERRORS,SDCONTEXT("PATIENT DFN"))
+5 IF $GET(SDCONTEXT("PATIENT ICN"))'=""
DO VALPATICN^SDES2VAL2(.SDERRORS,SDCONTEXT("PATIENT ICN"))
+6 IF $GET(SDCONTEXT("USER DUZ"))'=""
DO VALUSERDUZ^SDES2VAL200(.SDERRORS,SDCONTEXT("USER DUZ"))
+7 IF $GET(SDCONTEXT("USER SECID"))'=""
DO VALSECID(.SDERRORS,SDCONTEXT("USER SECID"),$GET(SDCONTEXT("USER DUZ")))
+8 IF '$DATA(SDERRORS)
Begin DoDot:1
+9 DO DFNICNMATCH(.SDERRORS,$GET(SDCONTEXT("PATIENT DFN")),$GET(SDCONTEXT("PATIENT ICN")))
End DoDot:1
+10 QUIT
+11 ;
VALACHERONID(SDERRORS,SDACHERONID) ; Validate Acheron EAS ID
+1 IF SDACHERONID=""
DO ERRLOG^SDES2JSON(.SDERRORS,474)
QUIT
+2 IF $$VALACHERONID^SDES2UTIL(SDACHERONID)=-1
DO ERRLOG^SDES2JSON(.SDERRORS,475)
+3 QUIT
+4 ;
DFNICNMATCH(SDERRORS,PATDFN,PATICN) ;verify that sent in values are same for patient
+1 IF (PATDFN'="")&(PATICN'="")
Begin DoDot:1
+2 IF $ORDER(^DPT("AICN",PATICN,""))'=PATDFN
DO ERRLOG^SDES2JSON(.SDERRORS,516)
End DoDot:1
+3 QUIT
+4 ;
VALSECID(SDERRORS,SDSECID,SDUSERDUZ) ;
+1 IF SDSECID=""
QUIT
+2 IF $LENGTH(SDSECID)<3!$LENGTH(SDSECID)>40
DO ERRLOG^SDES2JSON(.SDERRORS,156)
QUIT
+3 IF $$GET1^DIQ(200,SDUSERDUZ,205.1,"I")'=SDSECID
DO ERRLOG^SDES2JSON(.SDERRORS,156)
+4 QUIT