MAGVIM11 ;WOIFO/BT - Utilities for RPC calls for DICOM file processing ; Nov 05, 2023@13:02:32
 ;;3.0;IMAGING;**357**;Mar 19, 2002;Build 29
 ;; 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
STATSEP() ; Status and result separator ie. -3``No record IEN
 Q "`"
 ; RPC: MAGV GET WORK ITEM SOURCES
GETSRCS(OUT) ; Returns all work items' sources
 N SSEP,FILE,PROC,I
 D GETFLTR(.OUT,"Source")
 Q
 ; RPC: MAGV GET WORK ITEM PROCEDURES
GETPROCS(OUT) ; Returns all work items' procedures
 N SSEP,FILE,PROC,I
 D GETFLTR(.OUT,"Procedure")
 Q
 ; RPC: MAGV GET WORK ITEM MODALITIES
GETMDLS(OUT) ; Returns all work items' modalities
 N SSEP,FILE,PROC,I
 D GETFLTR(.OUT,"Modality")
 Q
GETFLTR(OUT,TAG) ;
 N SSEP,FILE,VAL,I
 S VAL="",I=0,SSEP=$$STATSEP,FILE=2006.941
 F I=1:1:9999 S VAL=$O(^MAGV(FILE,"HH",TAG,VAL)) Q:VAL=""  S OUT(I+1)=VAL
 S OUT(1)=0_SSEP_I
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMAGVIM11   1819     printed  Sep 23, 2025@19:46:15                                                                                                                                                                                                    Page 2
MAGVIM11  ;WOIFO/BT - Utilities for RPC calls for DICOM file processing ; Nov 05, 2023@13:02:32
 +1       ;;3.0;IMAGING;**357**;Mar 19, 2002;Build 29
 +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 
STATSEP() ; Status and result separator ie. -3``No record IEN
 +1        QUIT "`"
 +2       ; RPC: MAGV GET WORK ITEM SOURCES
GETSRCS(OUT) ; Returns all work items' sources
 +1        NEW SSEP,FILE,PROC,I
 +2        DO GETFLTR(.OUT,"Source")
 +3        QUIT 
 +4       ; RPC: MAGV GET WORK ITEM PROCEDURES
GETPROCS(OUT) ; Returns all work items' procedures
 +1        NEW SSEP,FILE,PROC,I
 +2        DO GETFLTR(.OUT,"Procedure")
 +3        QUIT 
 +4       ; RPC: MAGV GET WORK ITEM MODALITIES
GETMDLS(OUT) ; Returns all work items' modalities
 +1        NEW SSEP,FILE,PROC,I
 +2        DO GETFLTR(.OUT,"Modality")
 +3        QUIT 
GETFLTR(OUT,TAG) ;
 +1        NEW SSEP,FILE,VAL,I
 +2        SET VAL=""
           SET I=0
           SET SSEP=$$STATSEP
           SET FILE=2006.941
 +3        FOR I=1:1:9999
               SET VAL=$ORDER(^MAGV(FILE,"HH",TAG,VAL))
               if VAL=""
                   QUIT 
               SET OUT(I+1)=VAL
 +4        SET OUT(1)=0_SSEP_I
 +5        QUIT