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

SDES2CLINPRECAN.m

Go to the documentation of this file.
SDES2CLINPRECAN ;ALB/JHC - VISTA SCHEDULING RPCS CANCEL CLINIC AVAILABILITY - PRE-CANCELLATION LIST ; MAR 10 2026
 ;;5.3;Scheduling;**940**;Aug 13, 1993;Build 5
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 ; RPC: SDES2 CANCEL CLIN PRECAN LIST
 ;
 ; Reference to DUZ^XUP is supported by IA #7487
 ;
 Q  ;No Direct Call
 ; get pre-cancellation list for cancelling clinic availability
CLINPRECAN(RESULT,SDCONTEXT,APPTPARAMS) ;
 ;
 ; SDCONTEXT("ACHERON AUDIT ID")
 ; SDCONTEXT("USER DUZ")
 ;
 ; APPTPARAMS("ClinicIEN")
 ; APPTPARAMS("BeginDateTime")
 ; APPTPARAMS("EndDateTime")
 ;
 N ERRORS,SDBEGDATE,SDENDDATE,RESOURCEIEN,APPTIEN,APPTOBJ,RECCNT,APPTDATE
 ;
 D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
 I $D(ERRORS) S ERRORS("Appointment",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
 I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
 ;
 D VALIDATE(.ERRORS,.APPTPARAMS,.SDBEGDATE,.SDENDDATE)
 I $D(ERRORS) S ERRORS("Appointment",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
 ;
 S RESOURCEIEN=$$GETRES^SDES2UTIL1(APPTPARAMS("ClinicIEN"),1)
 I RESOURCEIEN="" D ERRLOG^SDES2JSON(.ERRORS,52,"Clinic is missing a resourceIEN")
 I $D(ERRORS) S ERRORS("Appointment",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
 ;add error if resource not found
 ;
 S APPTDATE=-.0001
 S RECCNT=0
 F  S APPTDATE=$O(^SDEC(409.84,"ARSRC",RESOURCEIEN,APPTDATE)) Q:(APPTDATE="")  D
 . ;Date range check, beginning date is inclusive, end date is not inclusive
 . I (APPTDATE<SDBEGDATE)!(APPTDATE>=SDENDDATE) Q
 . S APPTIEN=""
 . F  S APPTIEN=$O(^SDEC(409.84,"ARSRC",RESOURCEIEN,APPTDATE,APPTIEN)) Q:APPTIEN=""  D
 . . S RECCNT=RECCNT+1
 . . D BUILDAPPTOBJ^SDES2BLDAPPTOBJ(.APPTOBJ,APPTIEN,RECCNT,.ERRORS,DUZ)
 I $D(ERRORS) M ERRORS=APPTOBJ D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
 S:'$D(APPTOBJ) APPTOBJ("Appointment",1)=""
 D BUILDJSON^SDES2JSON(.RESULT,.APPTOBJ)
 Q
VALIDATE(ERRORS,APPTPARAMS,SDBEGDATE,SDENDDATE) ;
 ; Validate Clinic IEN
 D VALFILEIEN^SDES2VALUTIL(,.ERRORS,44,$G(APPTPARAMS("ClinicIEN")),1,0,18,19)
 ; Validate Begin and End Date/Times
 S SDBEGDATE=$G(APPTPARAMS("BeginDateTime")),SDENDDATE=$G(APPTPARAMS("EndDateTime"))
 I SDBEGDATE="" D ERRLOG^SDES2JSON(.ERRORS,161)
 I SDBEGDATE'="" S SDBEGDATE=$$VALISODTTM^SDES2VALISODTTM(.ERRORS,$G(APPTPARAMS("BeginDateTime")),,1,161,161)
 I SDENDDATE="" D ERRLOG^SDES2JSON(.ERRORS,162)
 I SDENDDATE'="" S SDENDDATE=$$VALISODTTM^SDES2VALISODTTM(.ERRORS,$G(APPTPARAMS("EndDateTime")),,1,162,162)
 I SDBEGDATE>SDENDDATE D ERRLOG^SDES2JSON(.ERRORS,13)
 ;
 Q