MAGVRS07 ;WOIFO/MLH - RPC calls for DICOM file processing ; 15 Apr 2010 4:05 PM
 ;;3.0;IMAGING;**118,278**;Mar 19, 2002;Build 138
 ;; Per VA Directive 6402, this routine should not be modified.
 ;; +---------------------------------------------------------------+
 ;; | Property of the US Government.                                |
 ;; | No permission to copy or redistribute this software is given. |
 ;; | Use of unreleased versions of this software requires the user |
 ;; | to execute a written test agreement with the VistA Imaging    |
 ;; | Development Office of the Department of Veterans Affairs,     |
 ;; | telephone (301) 734-0100.                                     |
 ;; | The Food and Drug Administration classifies this software as  |
 ;; | a medical device.  As such, it may not be changed in any way. |
 ;; | Modifications to this software may result in an adulterated   |
 ;; | medical device under 21CFR820, the use of which is considered |
 ;; | to be a violation of US Federal Statutes.                     |
 ;; +---------------------------------------------------------------+
 ;;
 Q
GETPROC(OUT,PROCIEN,STUDYIEN,OVERRIDE) ;RPC - get study data
 D REFRESH^MAGVRS41(.OUT,2005.62,STUDYIEN,$G(PROCIEN),$G(OVERRIDE))
 Q
INPROC(OUT,PROCIEN,PATIEN,OVERRIDE) ;RPC - inactivate a procedure
 D INACTIVT^MAGVRS41(.OUT,2005.61,PROCIEN,$G(PATIEN),$G(OVERRIDE))
 Q
FINDPROC(OUT,PROCATTS) ;RPC - find a procedure given attributes
 D STATUS(.PROCATTS)
 D FINDBYAT^MAGVRS42(.OUT,2005.61,.PROCATTS)
 Q
STATUS(PROCATTS) ; STATUS is required; add "STATUS`A" if not passed in
 N ATT,FOUND
 S (ATT,FOUND)=0
 F  S ATT=$O(PROCATTS(ATT)) Q:'ATT!FOUND  D
 . I $P(PROCATTS(ATT),"`")="STATUS" S FOUND=1
 ; STATUS was passed in, don't override
 Q:FOUND
 ; Find the highest/last attribute subscript
 S ATT="" F  S ATT=$O(PROCATTS(ATT),-1) Q:ATT=""!$G(ATT)
 ; Quit if no attributes
 Q:'ATT
 ; Default to procedures having STATUS=ACCESSIBLE
 S PROCATTS(ATT+1)="STATUS`A"
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMAGVRS07   2012     printed  Sep 23, 2025@19:46:26                                                                                                                                                                                                    Page 2
MAGVRS07  ;WOIFO/MLH - RPC calls for DICOM file processing ; 15 Apr 2010 4:05 PM
 +1       ;;3.0;IMAGING;**118,278**;Mar 19, 2002;Build 138
 +2       ;; Per VA Directive 6402, this routine should not be modified.
 +3       ;; +---------------------------------------------------------------+
 +4       ;; | Property of the US Government.                                |
 +5       ;; | No permission to copy or redistribute this software is given. |
 +6       ;; | Use of unreleased versions of this software requires the user |
 +7       ;; | to execute a written test agreement with the VistA Imaging    |
 +8       ;; | Development Office of the Department of Veterans Affairs,     |
 +9       ;; | telephone (301) 734-0100.                                     |
 +10      ;; | The Food and Drug Administration classifies this software as  |
 +11      ;; | a medical device.  As such, it may not be changed in any way. |
 +12      ;; | Modifications to this software may result in an adulterated   |
 +13      ;; | medical device under 21CFR820, the use of which is considered |
 +14      ;; | to be a violation of US Federal Statutes.                     |
 +15      ;; +---------------------------------------------------------------+
 +16      ;;
 +17       QUIT 
GETPROC(OUT,PROCIEN,STUDYIEN,OVERRIDE) ;RPC - get study data
 +1        DO REFRESH^MAGVRS41(.OUT,2005.62,STUDYIEN,$GET(PROCIEN),$GET(OVERRIDE))
 +2        QUIT 
INPROC(OUT,PROCIEN,PATIEN,OVERRIDE) ;RPC - inactivate a procedure
 +1        DO INACTIVT^MAGVRS41(.OUT,2005.61,PROCIEN,$GET(PATIEN),$GET(OVERRIDE))
 +2        QUIT 
FINDPROC(OUT,PROCATTS) ;RPC - find a procedure given attributes
 +1        DO STATUS(.PROCATTS)
 +2        DO FINDBYAT^MAGVRS42(.OUT,2005.61,.PROCATTS)
 +3        QUIT 
STATUS(PROCATTS) ; STATUS is required; add "STATUS`A" if not passed in
 +1        NEW ATT,FOUND
 +2        SET (ATT,FOUND)=0
 +3        FOR 
               SET ATT=$ORDER(PROCATTS(ATT))
               if 'ATT!FOUND
                   QUIT 
               Begin DoDot:1
 +4                IF $PIECE(PROCATTS(ATT),"`")="STATUS"
                       SET FOUND=1
               End DoDot:1
 +5       ; STATUS was passed in, don't override
 +6        if FOUND
               QUIT 
 +7       ; Find the highest/last attribute subscript
 +8        SET ATT=""
           FOR 
               SET ATT=$ORDER(PROCATTS(ATT),-1)
               if ATT=""!$GET(ATT)
                   QUIT 
 +9       ; Quit if no attributes
 +10       if 'ATT
               QUIT 
 +11      ; Default to procedures having STATUS=ACCESSIBLE
 +12       SET PROCATTS(ATT+1)="STATUS`A"
 +13       QUIT