- 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 Jan 18, 2025@03:56:02 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