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

SDESPRINTPATAPPT.m

Go to the documentation of this file.
  1. SDESPRINTPATAPPT ;ALB/LAB,MGD - SDES Print basic appointments ;July 5, 2022
  1. ;;5.3;Scheduling;**813,820**;Aug 13, 1993;Build 10
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ; SDDFN (REQUIRED) = DFN OF THE PATIENT
  1. Q
  1. ;
  1. PRINTPATAPPTS(SDPATIENTAPPTS,SDDFN,SDBEG,SDEND,EAS) ; PRINT PATIENT APPOINTMENTS
  1. N HASDFNERRORS,HASBEGDTERRORS,HASENDDTERRORS,HASERRORS,HASEASERRORS,ERRORS,SDAPPOINTARRAY,PRINTFIELDS,RETURN
  1. S (RETURN,HASERRORS,PRINTFIELDS)=""
  1. ;
  1. S HASDFNERRORS=$$VALIDATEPTDFN(.ERRORS,SDDFN)
  1. I HASDFNERRORS M RETURN=ERRORS
  1. ;
  1. S HASBEGDTERRORS=$$VALIDATEBEGDT(.ERRORS,SDBEG)
  1. I HASBEGDTERRORS M RETURN=ERRORS
  1. ;
  1. S HASENDDTERRORS=$$VALIDATEENDDT(.ERRORS,SDEND)
  1. I HASENDDTERRORS M RETURN=ERRORS
  1. ;
  1. S HASEASERRORS=$$VALIDATEEAS(.ERRORS,EAS)
  1. I HASEASERRORS M RETURN=ERRORS
  1. ;
  1. I '$D(ERRORS) D
  1. . S PRINTFIELDS=$$GETAPPOINTMENTS(.SDAPPOINTARRAY,SDDFN,SDBEG,SDEND)
  1. . I PRINTFIELDS M RETURN=SDAPPOINTARRAY
  1. ;
  1. D BUILDJSON(.SDPATIENTAPPTS,.RETURN)
  1. Q
  1. ;
  1. VALIDATEPTDFN(ERRORS,SDDFN) ;Validate Patient DFN
  1. N ERRORFLAG
  1. I SDDFN="" D
  1. .S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,1)
  1. .S RETURN("PatientAppointments",1)=""
  1. I SDDFN'="",('$D(^DPT(SDDFN,0))) D
  1. .S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,2)
  1. .S RETURN("PatientAppointments",1)=""
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATEBEGDT(ERRORS,SDBEG) ;Validate Begin date - converted in SDES so -1 if invalid
  1. N ERRORFLAG
  1. I SDBEG=-1 D
  1. .S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,11)
  1. .S RETURN("PatientAppointments",1)=""
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATEENDDT(ERRORS,SDEND) ;validate End date - converted in SDES so -1 if invalid
  1. N ERRORFLAG
  1. I SDEND=-1 D
  1. .S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,12)
  1. .S RETURN("PatientAppointments",1)=""
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATEEAS(ERRORS,EAS) ;Validate EAS Tracking number
  1. N ERRORFLAG
  1. S EAS=$G(EAS,"")
  1. I $L(EAS) S EAS=$$EASVALIDATE^SDESUTIL(EAS)
  1. I EAS=-1 D
  1. .S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,142)
  1. .S RETURN("PatientAppointments",1)=""
  1. Q $D(ERRORFLAG)
  1. ;
  1. GETAPPOINTMENTS(SDPATIENTAPPTS,SDDFN,SDBEGIN,SDEND) ;select appointments
  1. N SDAPPTIEN,DISPLAY,SDCANCELDT,COUNT,SDRESOURCE,SDAPPTDTTIM,SDAPPTDTTIME,SDTIMEZONE,SDCLINIC,SDRESOURCENAME
  1. N SDNOSHOWDT
  1. S SDAPPTIEN=0,DISPLAY=1,SDCANCELDT="",COUNT=0
  1. F S SDAPPTIEN=$O(^SDEC(409.84,"CPAT",SDDFN,SDAPPTIEN)) Q:SDAPPTIEN="" D
  1. . S SDAPPTDTTIM=$$GET1^DIQ(409.84,SDAPPTIEN,.01,"I")
  1. . Q:(SDBEGIN>SDAPPTDTTIM)!(SDAPPTDTTIM>SDEND)
  1. . ;
  1. . S SDCANCELDT=$$GET1^DIQ(409.84,SDAPPTIEN,.12,"I")
  1. . S SDNOSHOWDT=$$GET1^DIQ(409.84,SDAPPTIEN,.101,"I")
  1. . Q:(+SDCANCELDT)!(+SDNOSHOWDT)
  1. . ;
  1. . S SDRESOURCE=$$GET1^DIQ(409.84,SDAPPTIEN,.07,"I")
  1. . S SDCLINIC=$$GET1^DIQ(409.831,SDRESOURCE,.04,"I")
  1. . S DISPLAY=$$GET1^DIQ(44,SDCLINIC,62,"I")
  1. . Q:(DISPLAY'="Y")
  1. . ;
  1. . S SDTIMEZONE=$$TIMEZONEDATA^SDESUTIL($G(SDCLINIC)),SDTIMEZONE=$P($G(SDTIMEZONE),U)
  1. . S SDRESOURCENAME=$$GET1^DIQ(409.84,SDAPPTIEN,.07,"E")
  1. . S SDAPPTDTTIME=$$FMTISO^SDAMUTDT(SDAPPTDTTIM,SDCLINIC)
  1. . ;
  1. . S COUNT=COUNT+1
  1. . S SDPATIENTAPPTS("PatientAppointments",COUNT,"AppointDateTime")=SDAPPTDTTIME
  1. . S SDPATIENTAPPTS("PatientAppointments",COUNT,"TimeZone")=SDTIMEZONE
  1. . S SDPATIENTAPPTS("PatientAppointments",COUNT,"Clinic")=SDRESOURCENAME
  1. I COUNT=0 D
  1. . S SDPATIENTAPPTS("PatientAppointments",1)=""
  1. . S COUNT=1
  1. Q COUNT
  1. ;
  1. BUILDJSON(JSONRETURN,INPUT) ;
  1. N JSONERROR
  1. S JSONERROR=""
  1. D ENCODE^XLFJSON("INPUT","JSONRETURN","JSONERROR")
  1. Q
  1. ;