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

SDES2ADDDELCGI.m

Go to the documentation of this file.
SDES2ADDDELCGI ;ALB/JDJ - ADD/DELETE CLINIC GROUP ITEM; JUL 15, 2026
 ;;5.3;Scheduling;**951**;Aug 13, 1993;Build 5
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 ; Reference to DUZ^XUP is supported by IA #7487
 ;
 Q
 ;
 ;
 ; RPC: SDES2 ADD CLNGRP ITEM/SDES2 DELETE CLNGRP ITEM
 ;
 ; SDCONTEXT INPUT
 ;
 ;S SDCONTEXT("ACHERON AUDIT ID") = Up to 40 Character unique ID number. Ex: 11d9dcc6-c6a2-4785-8031-8261576fca37
 ;S SDCONTEXT("APPID") = Up to 40 Character unique ID number. Ex: 11d9dcc6-c6a2-4785-8031-8261576fca37
 ;S SDCONTEXT("USER DUZ") = The DUZ of the user taking action in the calling application.
 ;S SDCONTEXT("USER SECID") = The SECID of the user taking action in the calling application.
 ;S SDCONTEXT("PATIENT DFN") = The DFN/IEN of the target patient from the calling application.
 ;S SDCONTEXT("PATIENT ICN") = The ICN of the target patient from the calling application.
 ;
 ;
 ;S SDINPUT("RESOURCE GROUP IEN")=[Required] - Resource Group Id - Pointer to SDEC RESOURCE GROUP file 409.832
 ;S SDINPUT("RESOURCE")=[Required] - Pointer to SDEC RESOURCE file 409.831
 ;
DELGROUP(RETURNJSON,SDCONTEXT,SDINPUT) ;Deletes entry SDESIEN1 from entry SDESIEN in the SDEC RESOURCE GROUP file
 N RETURN,HASFIELDS,ELGFIELDSARRAY,ELGRETURN,RETN,ERRORS
 ; validate context
 D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
 I $D(ERRORS) S ERRORS("Status",1)="",ERRORS("RSGroup",1)="" D BUILDJSON^SDES2JSON(.RETURNJSON,.ERRORS) Q
 I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
 S (RETURN,ELGFIELDSARRAY,HASFIELDS)=""
 ;
 D VALINPUT(.ERRORS,.SDINPUT,1)
 I $D(ERRORS) S ERRORS("Status",1)="",ERRORS("RSGroup",1)="" M RETURN=ERRORS D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN) Q
 ;
 D RGIDEL(.ELGFIELDSARRAY,SDINPUT("RESOURCE GROUP IEN"),SDINPUT("RESOURCE"))
 M RETURN=ELGFIELDSARRAY
 D FILEEASINFO(.ERRORS,SDINPUT("RESOURCE GROUP IEN"),.SDCONTEXT)
 ;FULL OBJ RETURN
 D BUILDGROUP^SDES2GETRESGROUP(.RETN,SDINPUT("RESOURCE GROUP IEN"))
 M RETURN=RETN
 ;
 D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN)
 Q
 ;
ADDRGI(RETURNJSON,SDCONTEXT,SDINPUT) ;Adds entry SDESRSIEN to SDESRGIEN in the SDEC RESOURCE GROUP file
 ;
 N RETURN,HASFIELDS,ELGFIELDSARRAY,ELGRETURN,RETN,ERRORS
 ; validate context
 D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
 I $D(ERRORS) S ERRORS("Status",1)="",ERRORS("RSGroup",1)="" D BUILDJSON^SDES2JSON(.RETURNJSON,.ERRORS) Q
 I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
 S (RETURN,ELGFIELDSARRAY,HASFIELDS)=""
 ;
 D VALINPUT(.ERRORS,.SDINPUT,0)
 I $D(ERRORS) S ERRORS("Status",1)="",ERRORS("RSGroup",1)="" D BUILDJSON^SDES2JSON(.RETURNJSON,.ERRORS) Q
 I '$D(ERRORS) D RGIADD(.RETN,SDINPUT("RESOURCE GROUP IEN"),SDINPUT("RESOURCE"),.SDCONTEXT)
 M RETURN=RETN
 ;FULL OBJ RETURN
 K RETN
 D BUILDGROUP^SDES2GETRESGROUP(.RETN,SDINPUT("RESOURCE GROUP IEN"))
 M RETURN=RETN
 ;
 D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN)
 Q
 ;
RGIDEL(ELGARRAY,SDESRGIEN,SDESRSIEN) ; Delete Resource ID from Resource Group File
 N SDFDA,SDDA,SDMSG,X,Y
 S SDDA=$O(^SDEC(409.832,SDESRGIEN,1,"B",SDESRSIEN,0))
 ; Delete entry SDECIEN1
 S SDFDA(409.8321,SDDA_","_SDESRGIEN_",",.01)="@"
 D FILE^DIE(,"SDFDA","SDMSG")
 I $D(SDMSG) S ELGARRAY("Status")="0^Error in deleting Resource Item. "_$G(SDMSG("DIERR",1,"TEXT",1))
 I '$D(SDMSG) S ELGARRAY("Status")="1^Resource Item is successfully deleted."
 Q
 ;
RGIADD(ELGARRAY,SDESRGIEN,SDESRSIEN,SDCONTEXT) ; Add Resource ID to Resource Group File
 N SDFDA,SDMSG,SDESIENS
 ;
 S SDESIENS="+1,"_SDESRGIEN_","
 S SDFDA(409.8321,SDESIENS,.01)=SDESRSIEN ;RESOURCEID
 D UPDATE^DIE("","SDFDA",,"SDMSG")
 I $D(SDMSG) S ELGARRAY("Status")="0^Error in adding Resource Item. "_$G(SDMSG("DIERR",1,"TEXT",1))
 I '$D(SDMSG) S ELGARRAY("Status")="1^Resource Item is successfully added."
 ;FILE EASTRACKING INFO
 D FILEEASINFO(.ERRORS,SDINPUT("RESOURCE GROUP IEN"),.SDCONTEXT)
 ;
 Q
 ;
FILEEASINFO(ERRORS,SDESRGIEN,SDCONTEXT) ; STORE EAS TRACKING INFO ,
 K SDFDA,SDMSG
 S SDFDA(409.832,SDESRGIEN_",",100)=$G(SDCONTEXT("ACHERON AUDIT ID"))
 S SDFDA(409.832,SDESRGIEN_",",101)=$G(XWB(2,"RPC"))
 S SDFDA(409.832,SDESRGIEN_",",102)=$G(SDCONTEXT("APPID"))
 D FILE^DIE("","SDFDA","SDMSG")
 I $D(SDMSG) S ERRORS("Status")="0^Error in adding EAS INFO "_$G(SDMSG("DIERR",1,"TEXT",1))
 Q
VALINPUT(ERRORS,SDINPUT,SDFLAG) ;Validate Parameter Array
 N SDDA,SDESRGIEN,SDESRSIEN
 S SDESRGIEN=$G(SDINPUT("RESOURCE GROUP IEN"))
 S SDESRSIEN=$G(SDINPUT("RESOURCE"))
 ; Missing Resource Group IEN
 I SDESRGIEN="" D ERRLOG^SDESJSON(.ERRORS,312) Q
 ; Invalid Resource Group
 I SDESRGIEN'="" I '$D(^SDEC(409.832,SDESRGIEN,0)) D ERRLOG^SDESJSON(.ERRORS,276) Q
 ; Missing Resource Item IEN
 I SDESRSIEN="" D ERRLOG^SDESJSON(.ERRORS,69) Q
 ; Invalid Resource Item
 I SDESRSIEN'="" I '$D(^SDEC(409.831,SDESRSIEN,0)) D ERRLOG^SDESJSON(.ERRORS,70) Q
 I +SDFLAG=1 D
 .S SDDA=$O(^SDEC(409.832,SDESRGIEN,1,"B",SDESRSIEN,0))
 .I $G(SDDA)="" D ERRLOG^SDESJSON(.ERRORS,313) Q
 .I '$D(^SDEC(409.832,SDESRGIEN,1,SDDA,0)) D ERRLOG^SDESJSON(.ERRORS,313) Q
 I +SDFLAG=0 D
 .I $D(^SDEC(409.832,SDESRGIEN,1,"B",SDESRSIEN)) D ERRLOG^SDESJSON(.ERRORS,311) Q
 Q
 ;