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

SDESCANCELAPPT.m

Go to the documentation of this file.
  1. SDESCANCELAPPT ;ALB/BLB,ANU,MGD - VISTA SCHEDULING RPCS ;June 17, 2022
  1. ;;5.3;Scheduling;**801,804,805,819**;Aug 13, 1993;Build 5
  1. ;;Per VHA Directive 6402, this routine should not be modified;
  1. ;
  1. CANCELAPPT(SDECY,APPTIEN,STATUS,CANREAS,USER,EAS) ;
  1. ;APPTIEN - (required) pointer to SDEC APPOINTMENT file
  1. ;STATUS - (required) appointment Status valid values:
  1. ; C=CANCELLED BY CLINIC
  1. ; PC=CANCELLED BY PATIENT
  1. ;CANREAS - (required) pointer to cancel reason file
  1. ;USER - (optional) DUZ of user cancelling appt
  1. ;EAS - (optional) EAS Tracking Number
  1. N FDA,ERROR,SDAPPT,DATETIME
  1. S ERROR=0
  1. I $G(APPTIEN)="" D ERRLOG^SDESJSON(.SDAPPT,14) S ERROR=1 ; missing appt IEN
  1. I $G(APPTIEN)'="",'$D(^SDEC(409.84,APPTIEN,0)) D ERRLOG^SDESJSON(.SDAPPT,15) S ERROR=1 ; invalid appt IEN
  1. S DATETIME=$$NOW^XLFDT
  1. I $G(STATUS)="" D ERRLOG^SDESJSON(.SDAPPT,38) S ERROR=1 ; missing status
  1. I $G(STATUS)'="" D
  1. .I $G(STATUS)'="C",$G(STATUS)'="PC" D ERRLOG^SDESJSON(.SDAPPT,30) S ERROR=1 ; invalid cancel status
  1. I USER'="" I '$D(^VA(200,+USER,0)) S USER=""
  1. I $G(USER)="" S USER=$G(DUZ)
  1. I $G(CANREAS)="" D ERRLOG^SDESJSON(.SDAPPT,128) S ERROR=1 ; missing cancellation reason
  1. I $G(CANREAS)'="",'$D(^SD(409.2,CANREAS,0)) D ERRLOG^SDESJSON(.SDAPPT,129) S ERROR=1 ; invalid cancellation reason
  1. S EAS=$G(EAS,"")
  1. I $L(EAS) S EAS=$$EASVALIDATE^SDESUTIL(EAS)
  1. I EAS=-1 D ERRLOG^SDESJSON(.SDAPPT,142) S ERROR=1
  1. ;
  1. I '$G(ERROR) D
  1. .S FDA(409.84,APPTIEN_",",.12)=$G(DATETIME)
  1. .S FDA(409.84,APPTIEN_",",.121)=$G(DUZ)
  1. .S FDA(409.84,APPTIEN_",",.17)=$G(STATUS)
  1. .;SD*5.3*804 - Not delete VVS ID when called from SDES CANCEL APPT RPC
  1. .;S FDA(409.84,APPTIEN_",",2)="@" ;patch SD*5.3*796, delete VVS appointment ID if appoinment is cancelled
  1. .S FDA(409.84,APPTIEN_",",.122)=$G(CANREAS)
  1. .S FDA(409.84,APPTIEN_",",100)=$G(EAS)
  1. .D FILE^DIE(,"FDA","ERR")
  1. .S SDAPPT("CancelAppt","Success")=1
  1. D BUILDER
  1. Q
  1. ;
  1. BUILDER ;Convert data to JSON
  1. N JSONERR
  1. S JSONERR=""
  1. D ENCODE^SDESJSON(.SDAPPT,.SDECY,.JSONERR)
  1. Q