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

SDESGETPATAPPT.m

Go to the documentation of this file.
  1. SDESGETPATAPPT ;ALB/BLB,ANU - VISTA SCHEDULING RPCS ;JUNE 27, 2023@14:48
  1. ;;5.3;Scheduling;**809,847**;Aug 13, 1993;Build 4
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. GETSINGLEAPPT(SDECY,DFN,DATETIME,CLINIC) ; get single appt from patient 2 multiple based on dfn and date/time
  1. N DFNERRORS,HASDFNERRORS,RETURN,HASDTTMERRORS,DTTMERRORS,SINGLEAPPT,APPT,SDPATAPPT,NUM,ERRORS,HASCLINICERRORS
  1. ;;
  1. S HASDFNERRORS=$$VALIDATEPTDFN(.ERRORS,$G(DFN))
  1. I HASDFNERRORS M RETURN=ERRORS
  1. ;;
  1. S HASDTTMERRORS=$$VALIDATEDTTM(.ERRORS,$G(DATETIME))
  1. I HASDTTMERRORS M RETURN=ERRORS
  1. ;;
  1. S HASCLINICERRORS=$$VALIDATECLINIC(.ERRORS,$G(CLINIC))
  1. I HASCLINICERRORS M RETURN=ERRORS
  1. ;
  1. I '$D(ERRORS) D
  1. .S NUM=1
  1. .S SINGLEAPPT=$$GETAPPT(.SDPATAPPT,$G(DFN),$$ISOTFM^SDAMUTDT(DATETIME,CLINIC))
  1. .I SINGLEAPPT M RETURN=SDPATAPPT
  1. ;;
  1. D BUILDJSON(.SDECY,.RETURN) ;
  1. D CLEANUP
  1. Q
  1. ;
  1. GETALLAPPTS(SDECY,DFN) ;
  1. N HASDFNERRORS,RETURN,APPT,NUM,ERRORS,SUBIEN,SDPATAPPT
  1. ;
  1. S HASDFNERRORS=$$VALIDATEPTDFN(.ERRORS,$G(DFN))
  1. I HASDFNERRORS M RETURN=ERRORS
  1. ;
  1. I '$D(ERRORS) D
  1. .S SUBIEN=0,NUM=0
  1. .F S SUBIEN=$O(^DPT(DFN,"S",SUBIEN)) Q:'SUBIEN D
  1. ..S NUM=NUM+1
  1. ..S APPT=$$GETAPPT(.SDPATAPPT,$G(DFN),SUBIEN)
  1. ..I $G(APPT) M RETURN=SDPATAPPT
  1. D BUILDJSON(.SDECY,.RETURN)
  1. D CLEANUP
  1. Q
  1. VALIDATECLINIC(ERRORS,CLINIC) ;
  1. N ERRORFLAG
  1. I CLINIC="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,18)
  1. I CLINIC'="",'$D(^SC(CLINIC,0)) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,19)
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATEPTDFN(ERRORS,DFN) ; VALIDATE PATIENT DFN
  1. N ERRORFLAG
  1. I DFN="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,1)
  1. I DFN'="",'$D(^DPT(DFN,0)) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,2)
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATEDTTM(ERRORS,DATETIME) ;
  1. N ERRORFLAG,VALIDATED
  1. I DATETIME="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,25)
  1. I DATETIME'="" D
  1. .S VALIDATED=$$ISOTFM^SDAMUTDT(DATETIME,CLINIC)
  1. .I VALIDATED=-1!(VALIDATED="") S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,27)
  1. Q $D(ERRORFLAG)
  1. ;
  1. GETAPPT(SDPATAPPT,DFN,DATETIME) ; get patient appointment from file
  1. N IENS,F,APPTARY,FMDATE,CLINICIEN,OUTPDATE
  1. S F=2.98
  1. S IENS=DATETIME_","_DFN_"," ;
  1. D GETS^DIQ(F,IENS,"**","IE","APPTARY","ERR")
  1. S CLINICIEN=$G(APPTARY(F,IENS,.01,"I"))
  1. S SDPATAPPT("PatientAppt",NUM,"AppointmentDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,.001,"I")),CLINICIEN)
  1. S SDPATAPPT("PatientAppt",NUM,"Clinic")=$G(APPTARY(F,IENS,.01,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"TelephoneOfClinic")=$G(APPTARY(F,IENS,.02,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"Status")=$G(APPTARY(F,IENS,3,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"RealAppointment")=$G(APPTARY(F,IENS,4,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"LabDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,5,"I")),CLINICIEN)
  1. S SDPATAPPT("PatientAppt",NUM,"XrayDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,6,"I")),CLINICIEN)
  1. S SDPATAPPT("PatientAppt",NUM,"EkgDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,7,"I")),CLINICIEN)
  1. S SDPATAPPT("PatientAppt",NUM,"RoutingSlipPrinted")=$G(APPTARY(F,IENS,8,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"RoutingSlipPrintDate")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,8.5,"I")))
  1. S SDPATAPPT("PatientAppt",NUM,"PurposeOfVisit")=$G(APPTARY(F,IENS,9,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"AppointmentType")=$G(APPTARY(F,IENS,9.5,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"SpecialSurveyDisposition")=$G(APPTARY(F,IENS,10,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"NumberOfCollateralSeen")=$G(APPTARY(F,IENS,11,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"AutoRebookedApptDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,12,"I")))
  1. S SDPATAPPT("PatientAppt",NUM,"CollateralVisit")=$G(APPTARY(F,IENS,13,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"NoShowCancelledBy")=$G(APPTARY(F,IENS,14,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"NoShowCancelDateTime")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,15,"I")))
  1. S SDPATAPPT("PatientAppt",NUM,"CancellationReason")=$G(APPTARY(F,IENS,16,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"CancellationRemarks")=$G(APPTARY(F,IENS,17,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"ApptCancelled")=$G(APPTARY(F,IENS,18,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"DataEntryClerk")=$G(APPTARY(F,IENS,19,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"DateApptMade")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,20,"I")))
  1. S OUTPDATE=$$GET1^DIQ(409.68,$G(APPTARY(F,IENS,21,"I")),.01,"I")
  1. S SDPATAPPT("PatientAppt",NUM,"OutpatientEncounter")=$$FMTISO^SDAMUTDT($G(OUTPDATE))
  1. S SDPATAPPT("PatientAppt",NUM,"EncounterFormsPrinted")=$G(APPTARY(F,IENS,22,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"EncounterFormsAsAddOns")=$G(APPTARY(F,IENS,23,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"EncounterConversionStatus")=$G(APPTARY(F,IENS,23.1,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"AppointmentTypeSubCategory")=$G(APPTARY(F,IENS,24,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"SchedulingRequestType")=$G(APPTARY(F,IENS,25,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"NextAvaApptIndicator")=$G(APPTARY(F,IENS,26,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"DesiredDateOfAppointment")=$$FMTISO^SDAMUTDT($G(APPTARY(F,IENS,27,"I")))
  1. S SDPATAPPT("PatientAppt",NUM,"FollowUpVisit")=$G(APPTARY(F,IENS,28,"E"))
  1. S SDPATAPPT("PatientAppt",NUM,"SchedulingApplication")=$G(APPTARY(F,IENS,29,"I"))
  1. S SDPATAPPT("PatientAppt",NUM,"SchedulerName")=$G(APPTARY(F,IENS,30,"E"))
  1. ;S SDPATAPPT("PatientAppt",NUM,"CurrentStatus")=$G(APPTARY(F,IENS,100,"E"))
  1. I $D(SDPATAPPT) Q 1
  1. Q 0
  1. ;
  1. BUILDJSON(SDECY,RETURN) ; build json
  1. N ERR
  1. S ERR=""
  1. D ENCODE^XLFJSON("RETURN","SDECY","ERR")
  1. Q
  1. ;
  1. CLEANUP ; kill vars
  1. K RETURN,ERRORS,DTTMERRORS,APPTARY,SDPATAPPT,APPTARY
  1. Q