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

SDESGETAPPTWRAP4.m

Go to the documentation of this file.
  1. SDESGETAPPTWRAP4 ;ALB/RRM,MGD/RRM - RPC WRAPPER FOR VIEWING AN APPOINTMENT ;JULY 5, 2022
  1. ;;5.3;Scheduling;**823**;Aug 13, 1993;Build 9
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ;External References
  1. ;-------------------
  1. ; Reference to $$GETS^DIQ is supported by IA #2056
  1. ; Reference to GETS^DIQ is supported by IA #2056
  1. ; Reference to $$FIND1^DIC is supported by IA #2051
  1. ; Reference to ENCODE^XLFJSON is supported by IA #6682
  1. ;
  1. ;Global References
  1. ;-----------------
  1. ; Reference to ^DPT( is supported by IAs #7030,7029,1476,10035
  1. ;
  1. Q ;No Direct Call
  1. ;
  1. ; The parameter list for this RPC must be kept in sync.
  1. ; If you need to add or remove a parameter, ensure that the Remote Procedure File #8994 definition is also updated.
  1. ;
  1. ; Copy of SDESGETAPPTWRAP2
  1. ;
  1. GETAPPTBYPATDFN(RETURNJSON,DFN,SDBEGDATE,SDENDDATE,SDEAS) ;Called from the RPC: SDES GET APPTS BY PATIENT DFN
  1. ;Based on Patient DFN, retrieve and return all appointments associated with a patient from SDEC APPOINTMENT File #409.84,
  1. ;HOSPITAL LOCATION File #44, and the Appointment Multiple Patient File #2
  1. ;
  1. ; Input:
  1. ; DFN [Required] = This the patient's DFN from PATIENT File #2
  1. ; SDBEGDATE [Required] = The beginning date/time in ISO8601 Time Format for the search.
  1. ; SDENDDATE [Required] = The ending date/time in ISO8601 Time Format for the search.
  1. ; SDEAS [Optional] = The Enterprise Appointment Scheduling (EAS) Tracking Number associated to an appointment.
  1. ;
  1. ; Output:
  1. ; RETURNJSON = Returns fields from the (not in particular order) HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. ; in JSON format. JSON Errors will be returned for any invalid/missing parameters.
  1. ;
  1. N ERRORS,RETURNERROR ;temp data storage for input validation error
  1. N SDALLAPPTARY ;temp data storage for all records found in the HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. N SDVIEWAPPTBY ;the driver of which process to perform in retrieving appointment
  1. N HASDFNERRORS,HASBEGDATEERRORS,HASENDDATEERRORS,HASEASERRORS,SDAPPTNO
  1. ;
  1. D INITVARBYDFN
  1. S HASDFNERRORS=$$VALIDATEPTDFN(.ERRORS,$G(DFN)) ;DFN input parameter validation
  1. I HASDFNERRORS M RETURNERROR=ERRORS
  1. ;
  1. S:$G(SDBEGDATE)'="" SDBEGDATE=$$ISOTFM^SDAMUTDT(SDBEGDATE)
  1. S:$G(SDENDDATE)'="" SDENDDATE=$$ISOTFM^SDAMUTDT(SDENDDATE)
  1. D INPUTDATEVAL($G(SDBEGDATE),$G(SDENDDATE)) ;beginning and ending date input parameter validation
  1. ;
  1. S HASEASERRORS=$$VALIDATEEAS(.ERRORS,$G(SDEAS))
  1. I HASEASERRORS M RETURNERROR=ERRORS
  1. ;
  1. I $O(RETURNERROR("Error",""))'="" S RETURNERROR("Appointment",1)="" D BUILDJSON(.RETURNERROR,.RETURNJSON) Q ;do not continue, errors detected
  1. ;
  1. S (SDVIEWAPPTBY,SDAPPTNO)=0 ;view appointment using DFN of the patient from Patient File #2
  1. D GETAPPOINTMENTS(.SDALLAPPTARY,DFN,SDBEGDATE,SDENDDATE,SDVIEWAPPTBY)
  1. D BUILDJSON(.SDALLAPPTARY,.RETURNJSON)
  1. D CLEANUP
  1. Q
  1. ;
  1. GETAPPTBYCLNIEN(RETURNJSON,CLINICIEN,SDBEGDATE,SDENDDATE,SDEAS) ;Called from the RPC: SDES GET APPTS BY CLIN IEN
  1. ;Based on CLINIC IEN, retrieve and return all appointments associated with a clinic from SDEC APPOINTMENT File #409.84,
  1. ;HOSPITAL LOCATION File #44, and the Appointment Multiple Patient File #2
  1. ;
  1. ; Input:
  1. ; CLINICIEN [Required] = This the CLINIC IEN from HOSPITAL LOCATION File #44
  1. ; SDBEGDATE [Required] = The beginning date/time in ISO8601 Time Format for the search.
  1. ; SDENDDATE [Required] = The ending date/time in ISO8601 Time Format for the search.
  1. ; SDEAS [Optional] = The Enterprise Appointment Scheduling (EAS) Tracking Number associated to an appointment.
  1. ;
  1. ; Output:
  1. ; RETURNJSON = Returns fields from the (not in particular order) HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. ; in JSON format. JSON Errors will be returned for any invalid/missing parameters.
  1. ;
  1. N ERRORS,RETURNERROR ;temp data storage for input validation error
  1. N SDALLAPPTARY ;temp data storage for all records found in the HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. N SDVIEWAPPTBY ;the driver of which process to perform in retrieving appointment
  1. N HASCLINIENERRORS,HASBEGDATEERRORS,HASENDDATEERRORS,HASEASERRORS,SDAPPTNO
  1. ;
  1. D INITVARBYCLNIEN
  1. S HASCLINIENERRORS=$$VALIDATECLINIC(.ERRORS,$G(CLINICIEN)) ;CLINICIEN input parameter validation
  1. I HASCLINIENERRORS M RETURNERROR=ERRORS
  1. ;
  1. S:$G(SDBEGDATE)'="" SDBEGDATE=$$ISOTFM^SDAMUTDT(SDBEGDATE)
  1. S:$G(SDENDDATE)'="" SDENDDATE=$$ISOTFM^SDAMUTDT(SDENDDATE)
  1. D INPUTDATEVAL($G(SDBEGDATE),$G(SDENDDATE)) ;beginning and ending date input parameter validation
  1. ;
  1. S HASEASERRORS=$$VALIDATEEAS(.ERRORS,$G(SDEAS))
  1. I HASEASERRORS M RETURNERROR=ERRORS
  1. ;
  1. I $O(RETURNERROR("Error",""))'="" S RETURNERROR("Appointment",1)="" D BUILDJSON(.RETURNERROR,.RETURNJSON) Q ;do not continue, errors detected
  1. ;
  1. S SDVIEWAPPTBY=1 ;view appointment using CLINIC IEN from Hospital Location File #44
  1. D GETAPPOINTMENTS(.SDALLAPPTARY,CLINICIEN,SDBEGDATE,SDENDDATE,SDVIEWAPPTBY)
  1. D BUILDJSON(.SDALLAPPTARY,.RETURNJSON)
  1. D CLEANUP
  1. Q
  1. ;
  1. GETAPPTBYIEN(RETURNJSON,SDAPPTIEN,SDEAS) ;Called from the RPC: SDES GET APPTS BY IEN
  1. ;Based on APPOINTMENT IEN, retrieve and return all appointments associated with a clinic from SDEC APPOINTMENT File #409.84,
  1. ;HOSPITAL LOCATION File #44, and the Appointment Multiple Patient File #2
  1. ;
  1. ; Input:
  1. ; DFN [Required] = This the patient's DFN from PATIENT File #2
  1. ; SDEAS [Optional] = The Enterprise Appointment Scheduling (EAS) Tracking Number associated to an appointment.
  1. ;
  1. ; Output:
  1. ; RETURNJSON = Returns fields from the (not in particular order) HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. ; in JSON format. JSON Errors will be returned for any invalid/missing parameters.
  1. ;
  1. N ERRORS,RETURNERROR ;temp data storage for input validation error
  1. N SDALLAPPTARY ;temp data storage for all records found in the HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. N SDVIEWAPPTBY ;the driver of which process to perform in retrieving appointment
  1. N HASAPPTIENERRORS,HASEASERRORS,DFN,APPTIEN,SDAPPTNO,SDBEGDATE,SDENDDATE,SDAPPTNO,FOUND
  1. ;
  1. D INITVARBYCLNIEN
  1. S HASAPPTIENERRORS=$$VALIDATEAPPTIEN(.ERRORS,$G(SDAPPTIEN)) ;CLINICIEN input parameter validation
  1. I HASAPPTIENERRORS M RETURNERROR=ERRORS
  1. ;
  1. S HASEASERRORS=$$VALIDATEEAS(.ERRORS,$G(SDEAS))
  1. I HASEASERRORS M RETURNERROR=ERRORS
  1. ;
  1. I $O(RETURNERROR("Error",""))'="" S RETURNERROR("Appointment",1)="" D BUILDJSON(.RETURNERROR,.RETURNJSON) Q ;do not continue,errors detected
  1. ;
  1. S SDVIEWAPPTBY=2 ;view appointment using APPOINTMENT IEN from SDEC APPOINTMENT File #409.84
  1. S DFN=$$GET1^DIQ(409.84,SDAPPTIEN,.05,"I")
  1. S SDBEGDATE=$$GET1^DIQ(409.84,SDAPPTIEN,.01,"I")
  1. S SDENDDATE=$$GET1^DIQ(409.84,SDAPPTIEN,.02,"I")
  1. D GETAPPOINTMENTS(.SDALLAPPTARY,DFN,SDBEGDATE,SDENDDATE,SDVIEWAPPTBY,SDAPPTIEN)
  1. D BUILDJSON(.SDALLAPPTARY,.RETURNJSON)
  1. D CLEANUP
  1. Q
  1. ;
  1. GETAPPOINTMENTS(SDALLAPPTARY,SDPOINTERIEN,SDBEGDATE,SDENDDATE,SDVIEWAPPTBY,SDAPPTIEN) ;
  1. ; Input:
  1. ; SDPOINTERIEN [Required] = This can be a patient's DFN from PATIENT File #2 or the Internal Entry Number (IEN) from HOSPITAL LOCATION FILE #44.
  1. ; SDBEGDATE [Required] = The beginning date/time in FileMan Format for the search.
  1. ; SDENDDATE [Required] = The ending date/time in FileMan Time Format for the search.
  1. ; SDVIEWAPPTBY [Optional] = The driver of which process to perform when retrieving appointments (By DFN, Clinic IEN, or Appointment IEN)
  1. ; = If NULL, this will be defaulted to by DFN
  1. ; SDAPPTIEN [Optional] = Only send this parameter if you want to retrieve appointments using APPOINTMENT IEN from SDEC APPOINTMENT File #409.84
  1. ;
  1. ; Output:
  1. ; SDALLAPPTARY = Returns fields from the (not in particular order) HOSPITAL LOCATION File #44, PATIENT File #2, and SDEC APPOINTMENT File #409.84
  1. ; in array format. Errors will be returned for any invalid/missing parameters.
  1. N RECNUM
  1. S RECNUM=0
  1. I $G(SDVIEWAPPTBY)="" S SDVIEWAPPTBY=0
  1. S SDAPPTIEN=$G(SDAPPTIEN)
  1. I $G(SDVIEWAPPTBY)=0!($G(SDVIEWAPPTBY)=2) D GETAPPT40984^SDESGETAPPTWRAP5(.SDALLAPPTARY,SDPOINTERIEN,SDBEGDATE,SDENDDATE,SDAPPTIEN,RECNUM,SDVIEWAPPTBY) ;view appointment using DFN of the patient OR using Appointment IEN
  1. I $G(SDVIEWAPPTBY)=1 D GETAPPT44^SDESGETAPPTWRAP5(.SDALLAPPTARY,SDPOINTERIEN,SDBEGDATE,SDENDDATE,RECNUM,SDVIEWAPPTBY) ;view appointment using Clinic IEN
  1. Q
  1. ;
  1. VALIDATEPTDFN(ERRORS,SDDFN) ;Validate patient DFN
  1. N ERRORFLAG
  1. S ERRORFLAG=$$VALIDATEPTDFN^SDESGETPATAPPT(.ERRORS,SDDFN)
  1. Q $G(ERRORFLAG)
  1. ;
  1. VALIDATECLINIC(ERRORS,SDCLINICIEN) ;Validate Clinic
  1. N ERRORFLAG
  1. S ERRORFLAG=$$VALIDATECLINIC^SDESGETPATAPPT(.ERRORS,SDCLINICIEN)
  1. Q $G(ERRORFLAG)
  1. ;
  1. VALIDATEAPPTIEN(ERRORS,SDAPPTIEN) ;Validate Appointment IEN
  1. N ERRORFLAG
  1. I SDAPPTIEN="" D ERRLOG^SDESJSON(.ERRORS,14) S ERRORFLAG=1
  1. I SDAPPTIEN'="",'$D(^SDEC(409.84,SDAPPTIEN,0)) D ERRLOG^SDESJSON(.ERRORS,15) S ERRORFLAG=1
  1. Q $G(ERRORFLAG)
  1. ;
  1. INPUTDATEVAL(SDBEGDATE,SDENDDATE) ;beginning and ending date input parameter validation
  1. S HASBEGDATEERRORS=$$VALIDATEBEGDATE(.ERRORS,SDBEGDATE) ;SDBEGDATE input parameter validation
  1. I HASBEGDATEERRORS M RETURNERROR=ERRORS
  1. ;
  1. S HASENDDATEERRORS=$$VALIDATEENDDATE(.ERRORS,SDENDDATE) ;SDENDDATE input parameter validation
  1. I HASENDDATEERRORS M RETURNERROR=ERRORS
  1. Q
  1. ;
  1. VALIDATEBEGDATE(ERRORS,SDBEGDATE) ;Validate Beginning Date
  1. N ERRORFLAG
  1. I $G(SDBEGDATE)="" D ERRLOG^SDESJSON(.ERRORS,25) S ERRORFLAG=1 Q $G(ERRORFLAG)
  1. S ERRORFLAG=$$VALIDATEBEGDT^SDESPRINTPATAPPT(.ERRORS,SDBEGDATE)
  1. Q $G(ERRORFLAG)
  1. ;
  1. VALIDATEENDDATE(ERRORS,SDENDDATE) ;Validate Ending Date
  1. N ERRORFLAG
  1. I SDENDDATE="" D ERRLOG^SDESJSON(.ERRORS,26) S ERRORFLAG=1 Q $G(ERRORFLAG)
  1. S ERRORFLAG=$$VALIDATEENDDT^SDESPRINTPATAPPT(.ERRORS,SDENDDATE)
  1. Q $G(ERRORFLAG)
  1. ;
  1. VALIDATEEAS(ERRORS,EAS) ;
  1. I $L(EAS) S EAS=$$EASVALIDATE^SDESUTIL($G(EAS))
  1. I $P($G(EAS),U)=-1 D ERRLOG^SDESJSON(.ERRORS,142) Q 1
  1. Q 0
  1. ;
  1. BUILDJSON(RETURNJSON,INPUT) ; Build JSON format
  1. N JSONERROR
  1. S JSONERROR=""
  1. D ENCODE^XLFJSON("RETURNJSON","INPUT","JSONERROR")
  1. Q
  1. ;
  1. CLEANUP ;
  1. K RETURNERROR,SDALLAPPTARY,SDBEG,SDEND,ERRORFLAG,HASDFNERRORS,HASCLINIENERRORS,ERRORS
  1. K SDMSG,FOUND,ERR,SDCLINICIEN,SDDFN,SDVIEWAPPTBY,HASBEGDATEERRORS,HASENDDATEERRORS,STARTTIME
  1. Q
  1. ;
  1. INITVARBYDFN ;initialized input parameter for SDES GET APPTS BY PATIENT DFN3 RPC
  1. S DFN=$G(DFN)
  1. S SDBEGDATE=$G(SDBEGDATE)
  1. S SDENDDATE=$G(SDENDDATE)
  1. S SDEAS=$G(SDEAS)
  1. Q
  1. ;
  1. INITVARBYCLNIEN ;initialized input parameter for SDES GET APPTS BY CLIN IEN 3 RPC
  1. S CLINICIEN=$G(CLINICIEN)
  1. S SDBEGDATE=$G(SDBEGDATE)
  1. S SDENDDATE=$G(SDENDDATE)
  1. S SDEAS=$G(SDEAS)
  1. Q
  1. ;
  1. INITVARBYIEN ;initialized input parameter for SDES GET APPTS BY IEN 2 RPC
  1. S SDAPPTIEN=$G(SDAPPTIEN)
  1. S SDEAS=$G(SDEAS)
  1. Q
  1. ;