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

SDESADDRG.m

Go to the documentation of this file.
  1. SDESADDRG ;ALB/ANU - VISTA SCHEDULING RPCS - ROUTINE ADD RESOURCE GROUP ;Sept 20, 2022@14:21
  1. ;;5.3;Scheduling;**825,826**;Aug 13, 1993;Build 18
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ;External References
  1. ;-------------------
  1. ; Reference to $$GETS^DIQ,$$GETS1^DIQ in ICR #2056
  1. ;
  1. Q
  1. ;
  1. ;
  1. RGADDEDIT(RETURNJSON,SDRGIEN,SDRGNAME) ;ADD/EDIT RESOURCE GROUP
  1. ;
  1. ; Input:
  1. ; SDRGIEN [Optional] = Resoruce Group IEN
  1. ; SDRGNAME [Required] = Resource Group Name
  1. ;
  1. ; Output:
  1. ; RETURNJSON = Returns IEN of added/edited entry or 0 if error.
  1. ;
  1. N RETURN,HASFIELDS,ELGFIELDSARRAY,ELGRETURN
  1. N ISRGIENVALID,ISRGNAMEVALID
  1. S (RETURN,ELGFIELDSARRAY,HASFIELDS)=""
  1. ;
  1. S ISRGIENVALID=$$VALIDATERGIEN(.ERRORS,$G(SDRGIEN))
  1. S ISRGNAMEVALID=$$VALIDATERGNAME(.ERRORS,$G(SDRGNAME))
  1. ;
  1. I $D(ERRORS) M RETURN=ERRORS
  1. I '$D(ERRORS) S HASFIELDS=$$RGMOD(.ELGFIELDSARRAY,$G(SDRGIEN),SDRGNAME)
  1. I HASFIELDS M RETURN=ELGFIELDSARRAY
  1. ;
  1. D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN)
  1. D CLEANUP
  1. Q
  1. ;
  1. DELRESGP(RETURNJSON,SDRGNAME) ;Deletes entry name SDRGNAME from SDEC RESOURCE GROUP file
  1. ; Input:
  1. ; SDRGNAME [Required] = Resource Group Name
  1. ;
  1. ; Output:
  1. ; RETURNJSON - Returns Status (Success or Failure)
  1. ;
  1. ; Called by SDES DELETE RESGRP
  1. ;
  1. N RETURN,HASFIELDS,ELGFIELDSARRAY,ELGRETURN
  1. N ISRGNAMEVALID
  1. S (RETURN,ELGFIELDSARRAY,HASFIELDS)=""
  1. ;
  1. S ISRGNAMEVALID=$$VALIDATERGNAME1(.ERRORS,$G(SDRGNAME))
  1. ;
  1. I $D(ERRORS) M RETURN=ERRORS
  1. I '$D(ERRORS) S HASFIELDS=$$RGMOD1(.ELGFIELDSARRAY,SDRGNAME)
  1. I HASFIELDS M RETURN=ELGFIELDSARRAY
  1. ;
  1. D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN)
  1. D CLEANUP
  1. Q
  1. ;
  1. VALIDATERGIEN(ERRORS,SDRGIEN) ; Validate Resource Group IEN
  1. N ERRORFLAG
  1. I SDRGIEN'="" I '$D(^SDEC(409.832,SDRGIEN,0)) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,276) Q $D(ERRORFLAG)
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATERGNAME(ERRORS,SDRGNAME) ; Validate Resource Group Name
  1. N ERRORFLAG
  1. I SDRGNAME="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,275) Q $D(ERRORFLAG) ;Name required
  1. I ($L($$TRIM^XLFSTR(SDRGNAME))<3)!($L($$TRIM^XLFSTR(SDRGNAME))>30) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,310) Q $D(ERRORFLAG) ;Length is wrong
  1. ;I SDRGNAME'="" I '$D(^SDEC(409.832,SDRGNAME,0)) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,276) Q $D(ERRORFLAG) ; Invalid Resource Group/Resource Grp not found
  1. ;Prevent adding entry with duplicate name
  1. I SDRGNAME'="",$D(^SDEC(409.832,"B",SDRGNAME)),$O(^SDEC(409.832,"B",SDRGNAME,0))'=$G(SDRGIEN) D Q $D(ERRORFLAG)
  1. . S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,274) ;Cannot have two Resource Groups with the same name.
  1. . Q
  1. Q $D(ERRORFLAG)
  1. ;
  1. VALIDATERGNAME1(ERRORS,SDRGNAME) ; Validate Resource Group Name
  1. N ERRORFLAG
  1. I SDRGNAME="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,275) Q $D(ERRORFLAG) ;Name required
  1. I SDRGNAME'="" I '$D(^SDEC(409.832,"B",SDRGNAME)) S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,315) Q $D(ERRORFLAG) ; RESOURCE GROUP NAME NOT FOUND
  1. Q $D(ERRORFLAG)
  1. ;
  1. RGMOD(ELGARRAY,SDRGIEN,SDRGNAME) ; Add or Edit Resource Group Name
  1. N SDRGIENS,SDRGFDA,SDRGMSG,HASDATA,SDRGM1
  1. S ELGARRAY("Status","IEN")=0
  1. S ELGARRAY("Status","Message")=""
  1. S SDRGM1=""
  1. I +SDRGIEN D
  1. . S SDRGIENS=SDRGIEN_","
  1. . S SDRGFDA(409.832,SDRGIENS,.01)=SDRGNAME ;NAME
  1. . D FILE^DIE("","SDRGFDA","SDRGMSG")
  1. . S SDRGM1="Successfully updated."
  1. I '+SDRGIEN D
  1. . S SDRGIENS="+1,"
  1. . K SDRGIEN
  1. . S SDRGFDA(409.832,SDRGIENS,.01)=SDRGNAME ;NAME
  1. . D UPDATE^DIE("","SDRGFDA","SDRGIENS","SDRGMSG")
  1. . S SDRGIEN=+$G(SDRGIENS(1))
  1. . S SDRGM1="Successfully added."
  1. S ELGARRAY("Status","IEN")=$G(SDRGIEN)
  1. S ELGARRAY("Status","Message")=$G(SDRGM1)
  1. S HASDATA=($D(ELGARRAY)>1)
  1. Q HASDATA
  1. ;
  1. RGMOD1(ELGARRAY,SDRGNAME) ; Delete Resource Group Name
  1. N HASDATA,SDFDA,SDMSG,SDESIEN,DA,DIK
  1. S SDESIEN=$O(^SDEC(409.832,"B",SDRGNAME,0))
  1. ;Delete entry SDECIEN
  1. S DIK="^SDEC(409.832,"
  1. S DA=SDESIEN
  1. D ^DIK
  1. ;
  1. K SDESIEN
  1. S SDESIEN=$O(^SDEC(409.832,"B",SDRGNAME,0))
  1. I $G(SDESIEN)'="" S ELGARRAY("Status")="0^Error in deleting Resource Group."
  1. I $G(SDESIEN)="" S ELGARRAY("Status")="1^Resource Group is successfully deleted."
  1. S HASDATA=($D(ELGARRAY)>1)
  1. Q HASDATA
  1. ;
  1. CLEANUP ;
  1. K RETURNERROR,ERRORFLAG,ERRORS,ISRGNAMEVALID,ISRGIENVALID
  1. K SDRGIENS,SDRGFDA,SDRGMSG
  1. Q
  1. ;