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

SDES2DELCLNREADT.m

Go to the documentation of this file.
SDES2DELCLNREADT ;ALB/MGD,MGD - SDES2 DEL CLINIC REACT DATE ;SEP 08, 2026
 ;;5.3;Scheduling;**953,954**;Aug 13, 1993;Build 4
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 ; Documented API's and Integration Agreements
 ; -------------------------------------------
 ;Reference to $$GETS^DIQ is supported by IA #2056
 ;Reference to $$GETS1^DIQ is supported by IA #2056
 ;Reference to DUZ^XUP is supported by IA #7487
 ;;
 Q
 ;
SDDELREACTDT(SDRETURN,SDCONTEXT,SDPARAM) ; RPC: SDES2 DEL CLINIC REACT DATE
 ;INPUT -
 ; SDCONTEXT("ACHERON AUDIT ID") = Up to 40 Character unique ID number. Ex: 11d9dcc6-c6a2-4785-8031-8261576fca37
 ; SDCONTEXT("PATIENT DFN") = The DFN/IEN of the target patient from the calling application.
 ; SDCONTEXT("PATIENT ICN") = The ICN of the target patient from the calling application.
 ; SDCONTEXT("USER DUZ") = The DUZ of the user taking action in the calling application.
 ; SDCONTEXT("USER SECID") = The SECID of the user taking action in the calling application.
 ;
 ; SDPARAM("CLINIC IEN")=CLINIC IEN     IEN of the clinic in file 44 - Hospital location
 ;
 ;RETURN PARMETER:
 ; Status
 ;
 N ERRORS,RESULTS
 ; Newing these variables that leak from down stream calls
 N CLIN,IEN,PROVDUZ,SDECI
 ; validate context array
 D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
 I $D(ERRORS) S ERRORS("Clinic",1)=""  D BUILDJSON^SDES2JSON(.SDRETURN,.ERRORS) Q
 ; visitor pattern
 I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
 D VALCLINIEN^SDES2VAL44(.ERRORS,$G(SDPARAM("CLINIC IEN")),1)
 I $D(ERRORS) S ERRORS("Clinic",1)=""  D BUILDJSON^SDES2JSON(.SDRETURN,.ERRORS) Q
 ; validate SDPARAM array
 D VALSDPARAM(.ERRORS,.SDPARAM)
 I $D(ERRORS) S ERRORS("Clinic",1)=""  D BUILDJSON^SDES2JSON(.SDRETURN,.ERRORS) Q
 ; Remove the Reactivation Date on HOSPITAL LOCATION & SDEC RESOURCE
 D DELETEREACTDT(.ERRORS,.SDPARAM)
 I $D(ERRORS) S ERRORS("Clinic",1)=""  D BUILDJSON^SDES2JSON(.SDRETURN,.ERRORS) Q
 ; Build Clinic Object for return
 D BLDCLNREC^SDES2CLININFO(.RESULTS,$G(SDPARAM("CLINIC IEN")))
 D BUILDJSON^SDES2JSON(.SDRETURN,.RESULTS)
 Q
VALSDPARAM(ERRORS,SDPARAM) ; Check if we are doing a delete inactivation date
 N SDCLINICIEN,SDINACTIVE,SDINACTIVEDT,SDREACTIVEDT,SDRESOURCEIEN,SDRESREACTEDT,SDRESINACTEDT
 ; Clinic IEN checks
 S SDCLINICIEN=$G(SDPARAM("CLINIC IEN"))
 I SDCLINICIEN="" D ERRLOG^SDES2JSON(.ERRORS,18) Q  ; Missing Clinic ID
 I SDCLINICIEN'="",'$D(^SC(SDCLINICIEN,0)) D ERRLOG^SDES2JSON(.ERRORS,19) Q  ; Invalid Clinic ID
 ; Clinic Reactivate Date checks
 S SDINACTIVEDT=$$GET1^DIQ(44,SDCLINICIEN,2505,"I") ;inactive date/time
 S SDREACTIVEDT=$$GET1^DIQ(44,SDCLINICIEN,2506,"I") ;reactive date/time
 I SDREACTIVEDT="" D ERRLOG^SDES2JSON(.ERRORS,659) Q
 I SDREACTIVEDT<=DT D ERRLOG^SDES2JSON(.ERRORS,660) Q
 ; Inactive Clinic checks
 S SDINACTIVE=$$INACTIVE^SDES2UTIL(SDCLINICIEN,DT) ; 0=ACTIVE 1=INACTIVE
 I SDINACTIVE,SDREACTIVEDT="" D ERRLOG^SDES2JSON(.ERRORS,661) Q
 ; Active Clinic checks
 I 'SDINACTIVE,(SDINACTIVEDT="") D ERRLOG^SDES2JSON(.ERRORS,662) Q
 ; Resource IEN Checks
 ; the ,1 returns IEN whether clinic is Active or Inactive
 S SDRESOURCEIEN=$$GETRES^SDES2UTIL1(SDCLINICIEN,1)
 I 'SDRESOURCEIEN D ERRLOG^SDES2JSON(.ERRORS,663) Q
 ; Resource Reactivate Date checks
 S SDRESINACTEDT=$$GET1^DIQ(409.831,SDRESOURCEIEN,.021,"I")
 S SDRESREACTEDT=$$GET1^DIQ(409.831,SDRESOURCEIEN,.025,"I")
 I SDRESREACTEDT="" D ERRLOG^SDES2JSON(.ERRORS,664) Q
 I SDRESREACTEDT<=DT D ERRLOG^SDES2JSON(.ERRORS,665) Q
 ; The ,0 only returns IEN if clinic is Active
 S SDRESOURCEIEN=$$GETRES^SDES2UTIL1(SDCLINICIEN,0)
 ; Inactive Resource checks 'SDRESOURCEIEN = Inactive
 I 'SDRESOURCEIEN,SDRESREACTEDT="" D ERRLOG^SDES2JSON(.ERRORS,666) Q
 ; Active Resource checks I SDRESOURCEIEN = Active
 I SDRESOURCEIEN,SDRESINACTEDT="" D ERRLOG^SDES2JSON(.ERRORS,667) Q
 I SDRESOURCEIEN,(SDRESINACTEDT="") D ERRLOG^SDES2JSON(.ERRORS,667) Q
 Q
DELETEREACTDT(ERRORS,SDPARAM) ;
 N SDCLINICIEN,SDINACTIVE,SDRESOURCEIEN,SDINACTIVEDT,SDREACTIVEDT
 S SDCLINICIEN=$G(SDPARAM("CLINIC IEN"))
 ; the ,1 returns IEN whether clinic is Active or Inactive
 S SDRESOURCEIEN=$$GETRES^SDES2UTIL1(SDCLINICIEN,1)
 I 'SDRESOURCEIEN D ERRLOG^SDES2JSON(.ERRORS,663) Q
 S SDINACTIVE=$$INACTIVE^SDES2UTIL(SDCLINICIEN,DT) ; 0=ACTIVE 1=INACTIVE
  ; Clinic Reactivate Date checks
 S SDINACTIVEDT=$$GET1^DIQ(44,SDCLINICIEN,2505,"I") ;inactive date/time
 S SDREACTIVEDT=$$GET1^DIQ(44,SDCLINICIEN,2506,"I") ;reactive date/time
 ; Final checks for removing Reactivation date
 ; If clinic is currently inactive and has a future reactivation date, then remove reactivation date.
 I SDINACTIVE,((SDREACTIVEDT'="")&(SDREACTIVEDT>DT)) D  Q:$D(ERRORS)
 . S FDA(44,SDCLINICIEN_",",2506)="@"
 . I $G(SDCONTEXT("ACHERON AUDIT ID"))'="" S FDA(44,SDCLINICIEN_",",100)=SDCONTEXT("ACHERON AUDIT ID")
 . I $G(XWB(2,"RPC"))'="" S FDA(44,SDCLINICIEN_",",100.1)=XWB(2,"RPC")
 . I $G(SDCONTEXT("APPID"))'="" S FDA(44,SDCLINICIEN_",",100.2)=SDCONTEXT("APPID")
 . D FILE^DIE("","FDA","FDERR")
 . I $D(FDERR) D ERRLOG^SDES2JSON(.ERRORS,668) Q
 . K FDA,FDERR
 . ;
 . S FDA(409.831,SDRESOURCEIEN_",",.025)="@"
 . S FDA(409.831,SDRESOURCEIEN_",",.026)="@"
 . I $G(SDCONTEXT("ACHERON AUDIT ID"))'="" S FDA(409.831,SDRESOURCEIEN_",",100)=SDCONTEXT("ACHERON AUDIT ID")
 . I $G(XWB(2,"RPC"))'="" S FDA(409.831,SDRESOURCEIEN_",",101)=XWB(2,"RPC")
 . I $G(SDCONTEXT("APPID"))'="" S FDA(409.831,SDRESOURCEIEN_",",102)=SDCONTEXT("APPID")
 . D FILE^DIE("","FDA","FDERR")
 . I $D(FDERR) D ERRLOG^SDES2JSON(.ERRORS,669) Q
 ;
 ; if clinic is inactive in the future and has a reactivation date in the future, then remove reactivation date.
 I ((SDINACTIVEDT'="")&(SDINACTIVEDT>DT))&((SDREACTIVEDT'="")&(SDREACTIVEDT>SDINACTIVEDT)) D  Q:$D(ERRORS)
 . S FDA(44,SDCLINICIEN_",",2506)="@"
 . I $G(SDCONTEXT("ACHERON AUDIT ID"))'="" S FDA(44,SDCLINICIEN_",",100)=SDCONTEXT("ACHERON AUDIT ID")
 . I $G(XWB(2,"RPC"))'="" S FDA(44,SDCLINICIEN_",",100.1)=XWB(2,"RPC")
 . I $G(SDCONTEXT("APPID"))'="" S FDA(44,SDCLINICIEN_",",100.2)=SDCONTEXT("APPID")
 . D FILE^DIE("","FDA","FDERR")
 . I $D(FDERR) D ERRLOG^SDES2JSON(.ERRORS,668) Q
 . K FDA,FDERR
 . ;
 . S FDA(409.831,SDRESOURCEIEN_",",.025)="@"
 . S FDA(409.831,SDRESOURCEIEN_",",.026)="@"
 . I $G(SDCONTEXT("ACHERON AUDIT ID"))'="" S FDA(409.831,SDRESOURCEIEN_",",100)=SDCONTEXT("ACHERON AUDIT ID")
 . I $G(XWB(2,"RPC"))'="" S FDA(409.831,SDRESOURCEIEN_",",101)=XWB(2,"RPC")
 . I $G(SDCONTEXT("APPID"))'="" S FDA(409.831,SDRESOURCEIEN_",",102)=SDCONTEXT("APPID")
 . D FILE^DIE("","FDA","FDERR")
 . I $D(FDERR) D ERRLOG^SDES2JSON(.ERRORS,669) Q
 Q