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

SDESCANCELRSNS.m

Go to the documentation of this file.
  1. SDESCANCELRSNS ;ALB/JAS,LAB - SDES GET CANCEL REASONS RPC ;Dec 6, 2023
  1. ;;5.3;Scheduling;**836,845,867**;Aug 13, 1993;Build 8
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. GETCANCELRSNS(CANCELRSNSRET,REASONSTAT) ; GET CANCEL REASONS from file 409.2
  1. ; INPUT: REASONSTAT - (optional) Flag: show inactive 0=active only (default); 1=show active and inactive
  1. ;
  1. N CANCREASONNAME,CANCREASONREC,CANCREASONTYP,HASFIELDS,RETURN,RETCOUNT
  1. S (CANCREASONNAME,CANCREASONREC,CANCREASONTYP,HASFIELDS,RETURN)="",RETCOUNT=1
  1. ;
  1. ; Check input parameter flag
  1. ;
  1. S:($G(REASONSTAT)="") REASONSTAT=0 ;default to active only if no input value
  1. I "01"'[$G(REASONSTAT) D
  1. . D ERRLOG^SDESJSON(.SDESERR,267) M RETURN=SDESERR ;invalid parameter flag value
  1. ;
  1. ; Loop through file 409.2's "NAME" x-ref
  1. ;
  1. I '$D(RETURN("Error")) D
  1. . F S CANCREASONNAME=$O(^SD(409.2,"B",CANCREASONNAME)) Q:CANCREASONNAME="" D
  1. . . S CANCREASONREC=$O(^SD(409.2,"B",CANCREASONNAME,""))
  1. . . S HASFIELDS=$$GETREASONFIELDS(.RSNFIELDSARRAY,CANCREASONREC,REASONSTAT,RETCOUNT)
  1. . . I HASFIELDS M RETURN=RSNFIELDSARRAY S RETCOUNT=RETCOUNT+1
  1. ;
  1. D BUILDJSON^SDESBUILDJSON(.CANCELRSNSRET,.RETURN)
  1. D CLEANUP
  1. Q
  1. ;
  1. GETREASONFIELDS(CANCELREASON,CANCREASONIEN,REASONSTAT,RETCOUNT) ; GET CANCEL REASON FIELDS
  1. ;
  1. N DIQERROR,FILENUMBER,FIELDNUMBERS,HASDATA,RSNIENSTRING,REASONFIELDS
  1. S DIQERROR=""
  1. S FILENUMBER=409.2
  1. S FIELDNUMBERS=".01;2;4;5;6"
  1. S RSNIENSTRING=CANCREASONIEN_","
  1. ;
  1. D GETS^DIQ(FILENUMBER,CANCREASONIEN,FIELDNUMBERS,"IE","REASONFIELDS","DIQERROR")
  1. ;
  1. I DIQERROR S CANCELREASON("Error",1)=DIQERROR
  1. I 'DIQERROR D
  1. .I 'REASONSTAT,$G(REASONFIELDS(FILENUMBER,RSNIENSTRING,4,"I")) Q
  1. .S CANCELREASON("CancelReasons",RETCOUNT,"ReasonIEN")=CANCREASONIEN
  1. .S CANCELREASON("CancelReasons",RETCOUNT,"ReasonName")=$G(REASONFIELDS(FILENUMBER,RSNIENSTRING,.01,"E"))
  1. .S CANCELREASON("CancelReasons",RETCOUNT,"ReasonType")=$G(REASONFIELDS(FILENUMBER,RSNIENSTRING,2,"E"))
  1. .S CANCELREASON("CancelReasons",RETCOUNT,"ReasonSystemUse")=$G(REASONFIELDS(FILENUMBER,RSNIENSTRING,6,"E"))
  1. .S CANCELREASON("CancelReasons",RETCOUNT,"ReopenRequestUponCancel")=$G(REASONFIELDS(FILENUMBER,RSNIENSTRING,5,"E"))
  1. S HASDATA=$D(CANCELREASON)>1
  1. Q HASDATA
  1. ;
  1. CLEANUP ; Cleanup variables arrays to prevent leaking
  1. ;
  1. K DIQERROR,ERRORFLAG,FIELDNUMBERS,FILENUMBER,HASDATA,HASFIELDS
  1. K REASONFIELDS,RETCOUNT,RETURN,RSNFIELDSARRAY,RSNIENSTRING,SDESERR
  1. Q