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

SDESCANCELAPPT2.m

Go to the documentation of this file.
  1. SDESCANCELAPPT2 ;ALB/ANU - VISTA SCHEDULING RPCS ;FEB 14, 2022@15:22
  1. ;;5.3;Scheduling;**809**;Aug 13, 1993;Build 10
  1. ;;Per VHA Directive 6402, this routine should not be modified;
  1. ;
  1. ;External References
  1. ;-------------------
  1. ;Reference to UDPATE^DIE in ICR #10018
  1. ;Reference to VA(200 in #10060
  1. ;Reference to DPT(DFN,"S",+SD,0 in #6053
  1. ;
  1. ARCANCEL2(SDECY,SDPATIENTDFN,SDCLNIEN,SDCANCELTYP,SDAPPTDTTM,SDCANCELDTTM,SDUSR,SDCANCELREASON,SDCANCELRMKS) ; Cancel Appointment Request in #2
  1. ; Input Parameters
  1. ; SDPATIENTDFN = (Req) ien of patient file 2
  1. ; SDCLNIEN = (Req) ien of clinic file 44
  1. ; SDCANCELTYP = (Req) C for canceled by clinic; PC for patient canceled
  1. ; SDAPPTDTTM = (Req) appointment date and time in ISO 8601 extended format (e.g. 2022-01-19T20:15:44)
  1. ; SDCANCELDTTM = cancel date and time in ISO 8601 extended format
  1. ; SDUSR = user who canceled appt
  1. ; SDCANCELREASON = (Req) cancel reason - pointer to file 409.2
  1. ; SDCANCELRMKS = cancel remarks - optional notes to 160 characters
  1. ;
  1. N POP,SDAPTREQ
  1. D VALIDATE
  1. I 'POP D UPDATE
  1. D BUILDER
  1. Q
  1. ;
  1. VALIDATE ;
  1. S POP=0
  1. ;
  1. ; Patient DFN
  1. S SDPATIENTDFN=$G(SDPATIENTDFN,"")
  1. I SDPATIENTDFN="" S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,1) Q
  1. I SDPATIENTDFN'="",'$D(^DPT(+SDPATIENTDFN,0)) S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,2) Q
  1. ;
  1. ; Clinic IEN
  1. S SDCLNIEN=$G(SDCLNIEN,"")
  1. I SDCLNIEN="" S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,18) Q
  1. I '$D(^SC(+SDCLNIEN,0)) S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,19) Q
  1. ;
  1. ; Appointment Status
  1. I $G(SDCANCELTYP)="" S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,38) Q
  1. I ($G(SDCANCELTYP)'="C"),($G(SDCANCELTYP)'="PC") S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,30) Q
  1. ;
  1. ; Date/time of appt
  1. S SDAPPTDTTM=$G(SDAPPTDTTM,"")
  1. I SDAPPTDTTM="" S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,76) Q
  1. S SDAPPTDTTM=$$ISOTFM^SDAMUTDT(SDAPPTDTTM,SDCLNIEN)
  1. I SDAPPTDTTM=-1 S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,77) Q
  1. ;
  1. ; Cancel Date/time of appt
  1. S SDCANCELDTTM=$G(SDCANCELDTTM,"")
  1. I SDCANCELDTTM'="" D
  1. . S SDCANCELDTTM=$$ISOTFM^SDAMUTDT(SDCANCELDTTM,SDCLNIEN)
  1. . I SDCANCELDTTM=-1 S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,144) Q
  1. I SDCANCELDTTM="" S SDCANCELDTTM=DT
  1. I POP=1 Q
  1. ;
  1. ; User
  1. I SDUSR'="" I '$D(^VA(200,+SDUSR,0)) S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,44) Q
  1. I $G(SDUSR)="" S SDUSR=$G(DUZ)
  1. ;
  1. ; Cancellation Reason
  1. I $G(SDCANCELREASON)="" D ERRLOG^SDESJSON(.SDAPTREQ,128) S POP=1 Q
  1. I ($G(SDCANCELREASON)'=""),('$D(^SD(409.2,"B",SDCANCELREASON))) D ERRLOG^SDESJSON(.SDAPTREQ,129) S POP=1 Q
  1. S SDCANCELREASON=$O(^SD(409.2,"B",SDCANCELREASON,0))
  1. ;
  1. I SDAPPTDTTM'="",'$D(^DPT(+SDPATIENTDFN,"S",SDAPPTDTTM,0)) S POP=1 D ERRLOG^SDESJSON(.SDAPTREQ,52,"No Appt Found in File #2 for this Date/Time") Q
  1. I SDAPPTDTTM'="",(($P(^DPT(SDPATIENTDFN,"S",SDAPPTDTTM,0),U,2)="C")!($P(^DPT(SDPATIENTDFN,"S",SDAPPTDTTM,0),U,2)="PC")) S POP=1 S SDAPTREQ("Error",1)="This Appointment is already cancelled." Q
  1. Q
  1. ;
  1. UPDATE ;
  1. ; update file 2 info
  1. NEW DIE,DA,DR
  1. N SDFDA,SDMSG
  1. S SDFDA="SDFDA(2.98,SDAPPTDTTM_"",""_SDPATIENTDFN_"","")"
  1. S @SDFDA@(3)=SDCANCELTYP
  1. S @SDFDA@(14)=SDUSR
  1. S @SDFDA@(15)=SDCANCELDTTM
  1. S:$G(SDCANCELREASON) @SDFDA@(16)=SDCANCELREASON
  1. S:$G(SDCANCELRMKS)]"" @SDFDA@(17)=$E(SDCANCELRMKS,1,160)
  1. S @SDFDA@(19)=SDUSR
  1. K SDERR D UPDATE^DIE("","SDFDA","","SDERR")
  1. I $D(SDERR) S SDAPTREQ("Error",1)="Error trying to cancel Appointment in File #2." Q
  1. S SDAPTREQ("Success")="Appointment is successfully cancelled."
  1. Q
  1. ;
  1. BUILDER ;Convert data to JSON
  1. N JSONERR
  1. S JSONERR=""
  1. D ENCODE^SDESJSON(.SDAPTREQ,.SDECY,.JSONERR)
  1. Q