SDES2CRTPRVRES ;ALB/LAB,TAW - VISTA SCHEDULING SDES2 CREATE PROVIDER RESOURCE ;JULY 30,2025
;;5.3;Scheduling;**869,871,909**;Aug 13, 1993;Build 12
;;Per VHA Directive 6402, this routine should not be modified
;
; Reference to DUZ^XUP is supported by IA #7487
Q
;
CREATEPRVRES(RESULT,SDCONTEXT,SDPARAM) ; create provider resource record 409.831
N ERRORS,RETURN,RESOURCE,SDDUZ
;validate context array for accuracy
D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
I $D(ERRORS) S ERRORS("ResourceIEN",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
D VALIDATE(.ERRORS,.SDPARAM)
I $D(ERRORS) S ERRORS("ResourceIEN",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
;
D ASSIGNVARS(SDPARAM("ProviderIEN"),.RESOURCE)
D CREATERESOURCE(.RETURN,.ERRORS,.SDCONTEXT,.SDPARAM,RESOURCE)
I $D(ERRORS) S ERRORS("ResourceIEN",1)="" D BUILDJSON^SDES2JSON(.RESULT,.ERRORS) Q
D BUILDJSON^SDES2JSON(.RESULT,.RETURN)
Q
;
VALIDATE(ERRORS,SDPARAM) ; validate input array variables
S SDPARAM("ClinicIEN")=$G(SDPARAM("ClinicIEN"))
D VALFILEIEN^SDES2VALUTIL(,.ERRORS,44,SDPARAM("ClinicIEN"),0,"","",19)
D VALFILEIEN^SDES2VALUTIL(,.ERRORS,200,$G(SDPARAM("ProviderIEN")),1,"",53,54)
Q:$D(ERRORS)
;validate if resource already exists for provider
D:$O(^SDEC(409.831,"AC","P",SDPARAM("ProviderIEN"),""))'="" ERRLOG^SDES2JSON(.ERRORS,52,"Provider Resource already exists")
Q
;
ASSIGNVARS(PROVIDERIEN,RESOURCE) ;assign variables to use
S RESOURCE=$$GET1^DIQ(200,PROVIDERIEN,.01,"E")
Q
;
CREATERESOURCE(RETURN,ERRORS,SDCONTEXT,SDPARAM,RESOURCE) ;create the provider resource
N FILEDATA,NEWIEN
S FILEDATA(409.831,"+1,",.01)=RESOURCE
S FILEDATA(409.831,"+1,",.012)=SDPARAM("ProviderIEN")_";VA(200,"
S FILEDATA(409.831,"+1,",.015)=$$NOW^XLFDT
S FILEDATA(409.831,"+1,",.016)=DUZ
S FILEDATA(409.831,"+1,",.04)=SDPARAM("ClinicIEN")
D UPDATE^DIE("","FILEDATA","NEWIEN","ERRORS") K FILEDATA
S RETURN("ResourceIEN")=$G(NEWIEN(1))
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDES2CRTPRVRES 2040 printed Apr 22, 2026@14:51:13 Page 2
SDES2CRTPRVRES ;ALB/LAB,TAW - VISTA SCHEDULING SDES2 CREATE PROVIDER RESOURCE ;JULY 30,2025
+1 ;;5.3;Scheduling;**869,871,909**;Aug 13, 1993;Build 12
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 ; Reference to DUZ^XUP is supported by IA #7487
+5 QUIT
+6 ;
CREATEPRVRES(RESULT,SDCONTEXT,SDPARAM) ; create provider resource record 409.831
+1 NEW ERRORS,RETURN,RESOURCE,SDDUZ
+2 ;validate context array for accuracy
+3 DO VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
+4 IF $DATA(ERRORS)
SET ERRORS("ResourceIEN",1)=""
DO BUILDJSON^SDES2JSON(.RESULT,.ERRORS)
QUIT
+5 IF $GET(SDCONTEXT("USER DUZ"))'=""
NEW DUZ
DO DUZ^XUP(SDCONTEXT("USER DUZ"))
+6 DO VALIDATE(.ERRORS,.SDPARAM)
+7 IF $DATA(ERRORS)
SET ERRORS("ResourceIEN",1)=""
DO BUILDJSON^SDES2JSON(.RESULT,.ERRORS)
QUIT
+8 ;
+9 DO ASSIGNVARS(SDPARAM("ProviderIEN"),.RESOURCE)
+10 DO CREATERESOURCE(.RETURN,.ERRORS,.SDCONTEXT,.SDPARAM,RESOURCE)
+11 IF $DATA(ERRORS)
SET ERRORS("ResourceIEN",1)=""
DO BUILDJSON^SDES2JSON(.RESULT,.ERRORS)
QUIT
+12 DO BUILDJSON^SDES2JSON(.RESULT,.RETURN)
+13 QUIT
+14 ;
VALIDATE(ERRORS,SDPARAM) ; validate input array variables
+1 SET SDPARAM("ClinicIEN")=$GET(SDPARAM("ClinicIEN"))
+2 DO VALFILEIEN^SDES2VALUTIL(,.ERRORS,44,SDPARAM("ClinicIEN"),0,"","",19)
+3 DO VALFILEIEN^SDES2VALUTIL(,.ERRORS,200,$GET(SDPARAM("ProviderIEN")),1,"",53,54)
+4 if $DATA(ERRORS)
QUIT
+5 ;validate if resource already exists for provider
+6 if $ORDER(^SDEC(409.831,"AC","P",SDPARAM("ProviderIEN"),""))'=""
DO ERRLOG^SDES2JSON(.ERRORS,52,"Provider Resource already exists")
+7 QUIT
+8 ;
ASSIGNVARS(PROVIDERIEN,RESOURCE) ;assign variables to use
+1 SET RESOURCE=$$GET1^DIQ(200,PROVIDERIEN,.01,"E")
+2 QUIT
+3 ;
CREATERESOURCE(RETURN,ERRORS,SDCONTEXT,SDPARAM,RESOURCE) ;create the provider resource
+1 NEW FILEDATA,NEWIEN
+2 SET FILEDATA(409.831,"+1,",.01)=RESOURCE
+3 SET FILEDATA(409.831,"+1,",.012)=SDPARAM("ProviderIEN")_";VA(200,"
+4 SET FILEDATA(409.831,"+1,",.015)=$$NOW^XLFDT
+5 SET FILEDATA(409.831,"+1,",.016)=DUZ
+6 SET FILEDATA(409.831,"+1,",.04)=SDPARAM("ClinicIEN")
+7 DO UPDATE^DIE("","FILEDATA","NEWIEN","ERRORS")
KILL FILEDATA
+8 SET RETURN("ResourceIEN")=$GET(NEWIEN(1))
+9 QUIT