MAGVIM03 ;WOIFO/MAT,MLH,BT,DAC - RPCs for DICOM Importer II ; Nov 10, 2020@13:55:05
 ;;3.0;IMAGING;**118,283**;Mar 19, 2002;Build 5;May 01, 2013
 ;; Per VHA Directive 2004-038, 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
 ;
 ;+++ Importer II Log Reports: Populate MAGV IMPORT STUDY LOG File (#2006.9421)
 ;
 ;  RPC: MAGV IMPORT STUDY LOG STORE
 ;
 ; Inputs:
 ; =======
 ;
 ;  MAGVRET .... Variable for returned message.
 ;  MAGVDUZ .... User DUZ.
 ;  MAGVDUZ2 ... User Login Division.
 ;  MAGVPDFN ... Associated Patient DFN.
 ;  MAGVSACN ... Associated Study Accession Number.
 ;  MAGVSUID ... Study Instance UID.
 ;  MAGVSLOC ... Study performed location.
 ;  MAGVSTYP ... Associated Study Type.
 ;  MAGVSCNT ... Imported Series Count.
 ;  MODLST ..... Array of NAME|VALUE PAIRS for MODALITY|COUNT.
 ;  MEDGIEN .... IEN in the MAGV IMPORT MEDIA LOG file (#2006.9422)
 ;  OBJFAIL .... Count of requested objects which failed to be imported.
 ; 
 ; Outputs:
 ; ========
 ; 
 ;     0`"IMPORT STUDY LOG UPDATED."
 ;    -1`"Unable to lock MAGV IMPORT STUDY LOG File (#2006.9421)."
 ;    -1`##_"Validator error message lines returned."
 ; 
 ; Notes
 ; =====
 ;
 ;
IMPLOGIN(MAGVRET,MAGVDUZ,MAGVDUZ2,MAGVPDFN,MAGVSACN,MAGVSUID,MAGVSLOC,MAGVSTYP,MAGVSCNT,MODLIST,MEDGIEN,OBJFAIL) ;
 ;
 ;--- Initialize. Set output separators per p34 convention.
 K FDA,FDAIEN,MAGVRET
 N SEPOUTP,SEPSTAT D ZRUSEPIN
 N MAGVERR,MAGVMSG S MAGVERR=0
 N FILE S FILE=2006.9421
 N SUBFILE S SUBFILE=2006.94211
 N SFIEN,LOCIEN ; P283 DAC - Added Location/Instution IEN for Station # conversion
 ;
 ;--- Set FDA entries for literal parameters.
 S FDA(0,FILE,"+1,",3)=MAGVPDFN ;PAT_DFN
 S:MAGVSACN'="" FDA(0,FILE,"+1,",4)=MAGVSACN ;Associated_Study_Accession_Number
 S:MAGVSUID'="" FDA(0,FILE,"+1,",5)=MAGVSUID ;Study_Instance_UID
 S:MAGVSLOC'="" FDA(0,FILE,"+1,",6)=MAGVSLOC ;Study_Performed_Location
 S FDA(0,FILE,"+1,",7)=MAGVSTYP ;Associated_Study_Type
 S FDA(0,FILE,"+1,",8)=MAGVSCNT ;Series_Count
 S FDA(0,FILE,"+1,",11)=OBJFAIL ;Object_Failed_Count
 S FDA(0,FILE,"+1,",12)=MEDGIEN ;IEN in the MAGV IMPORT MEDIA LOG file (#2006.9422)
 ;
 ;--- Lock MAGV IMPORT STUDY LOG file (#2006.9421)
 L +^MAGV(FILE):5 I $T D
 . ;
 . ;--- Set internal FDA entries for .01 field. IA #10103
 . S FDA(0,FILE,"+1,",.01)=$$NOW^XLFDT
 . S FDA(0,FILE,"+1,",1)=MAGVDUZ  ;USER_DUZ
 . S LOCIEN=$$IEN^XUAF4(MAGVDUZ2) ; P283 DAC - Convert Station # to Institution IEN before filing
 . S FDA(0,FILE,"+1,",2)=LOCIEN ; P283 DAC - File Institution IEN instead of Station #
 . ;
 . ;--- Post top-level transaction data. IA# 2053.
 . D UPDATE^DIE("","FDA(0)","SFIEN")
 . ;
 . ;--- Set FDA entries for array parameter MODLST.
 . N CT,CTMOD S CT="",CTMOD=0 F  S CT=$O(MODLIST(CT)) Q:CT=""  D
 . . N MODLTY S MODLTY=$P(MODLIST(CT),"|",1)
 . . N VALUE S VALUE=$P(MODLIST(CT),"|",2)
 . . S FDA(1,SUBFILE,"+"_CT_","_SFIEN(1)_",",.01)=MODLTY
 . . S FDA(1,SUBFILE,"+"_CT_","_SFIEN(1)_",",.02)=VALUE
 . . S CTMOD=CTMOD+VALUE
 . . Q
 . ;
 . D:(CTMOD*SFIEN(1))>0
 . . ;--- Set FDA entry for total modality object count.
 . . S FDA(1,FILE,SFIEN(1)_",",9)=$G(CTMOD)
 . . ;--- Post sub-file transaction data. IA# 2053.
 . . D UPDATE^DIE("","FDA(1)")
 . L -^MAGV(FILE)
 . Q
 ;
 E  D
 . ;
 . S MAGVERR=1,MAGVMSG="Could not lock MAGV IMPORT STUDY LOG File."
 . Q
 ;
 ;--- Return.
 I MAGVERR S MAGVRET(0)="-1"_SEPSTAT_MAGVMSG Q
 S MAGVRET(0)="0"_SEPSTAT_"IMPORT STUDY LOG UPDATED."
 Q
 ;+++ Importer II Log Reports from MAGV IMPORT STUDY LOG file (#2006.9421)
 ;
 ;  RPC: MAGV IMPORT STUDY LOG REPORT
 ;
 ; Inputs:
 ; =======
 ;
 ;  MAGVARY .... Variable for returned message.
 ;  REPORT ..... Report identifier as:
 ;  
 ;    0 ... Initialization Request
 ;    1 ... Report Data for Each Date in Range
 ;    2 ... Report Data for Each Study Location
 ;    3 ... Report Data for Modality Counts
 ;  
 ;  STARTDT .... Inclusive lower  bound of date range as YYYYMMDD.
 ;  STOPDT ..... Inclusive upper bound of date range.
 ; 
 ; Outputs:
 ; ========
 ; 
 ;     0`## [report lines returned]
 ;    -1`Error message.
 ; 
 ; Notes
 ; =====
 ;
 ;  Calls MAGVIM04 for processing.
 ;
IMPLOGEX(MAGVARY,REPORT,STARTDT,STOPDT) ;
 ;
 N SEPOUTP,SEPSTAT D ZRUSEPIN
 N MAGVERR S MAGVERR=0
 N FILE S FILE=2006.9421
 ;
 ;--- Convert incoming HL7 dates to FileMan. IA #
 S STARTDT=$$HL7TFM^XLFDT(STARTDT)
 S STOPDT=$$HL7TFM^XLFDT(STOPDT)
 ;
 S MAGVARY=$NA(^TMP("MAGVIM",$J))
 K @MAGVARY
 D  I MAGVERR S @MAGVARY@(0)="-1"_SEPSTAT_MAGVERR Q
 . ;
 . I '$D(REPORT) S MAGVERR="REPORT TYPE NOT SPECIFIED." Q
 . ;
 . ;--- Set report types validator string.
 . I "0,1,2,3,"'[REPORT_"," S MAGVERR="REPORT TYPE"_""_REPORT_""_"UNDEFINED." Q
 ;
 ;--- Report window initialization request.
 I REPORT=0 D  Q
 . ;
 . ;--- Detect file contains no data & return -1
 . I '$D(^MAGV(FILE,"B")) S @MAGVARY@(0)="-1" Q
 . ;
 . ;--- Return "0'STARTDT" for earliest date in file.
 . N FIRSTDT S FIRSTDT=+$P($O(^MAGV(FILE,"B","")),".")
 . S @MAGVARY@(0)="0"_"`"_$$FMTHL7^XLFDT(FIRSTDT)
 ;
 ;--- Call the processor.
 D MAGVQRY^MAGVIM04(MAGVARY,FILE,REPORT,STARTDT,STOPDT)
 ;
 ;--- Return.
 N LNTOT S LNTOT=$O(@MAGVARY@("Z"),-1)
 S @MAGVARY@(0)=0_SEPSTAT_LNTOT
 Q
 ;
 ; +++++ Importer II Log Reports: Populate MAGV IMPORT MEDIA LOG (#2006.9422)
 ;
 ;  RPC: MAGV IMPORT MEDIA LOG STORE
 ;
 ; Inputs:
 ; =======
 ;
 ;  MAGVRET .... Variable for returned message.
 ;  MAGVDUZ .... User DUZ.
 ;  MAGVWKST ... Workstation running the Importer II application.
 ;  MEDTYPE .... Import event media type (DIRect, STaGed,NETwork, DiCoM correct).
 ;  MEDVALID ... Media Validation Status (0=valid; 1=invalid).
 ;  MEDVMSG .... Media Validation Message extending MEDVALID.
 ; 
 ; Outputs:
 ; ========
 ; 
 ;     0`"IMPORT MEDIA LOG UPDATED."
 ;    -1`"Unable to lock MAGV IMPORT MEDIA LOG File."
 ;    -1`##_"Validator error message lines returned."
 ;
IMPMEDIA(MAGVRET,MAGVDUZ,MAGVWKST,MEDTYPE,MEDVALID,MEDVMSG) ;
 ;
 K MAGVRET
 N SEPOUTP,SEPSTAT D ZRUSEPIN
 N MAGVERR,MAGVMSG S MAGVERR=0
 ;
 N FILE S FILE=2006.9422
 D
 . K FDA
 . ;--- Set FDA entries for literal parameters.
 . S FDA(1,FILE,"+1,",.01)=$$NOW^XLFDT ;Media Import Timestamp
 . S FDA(1,FILE,"+1,",2)=MAGVDUZ    ;Import II User DUZ
 . S FDA(1,FILE,"+1,",3)=MAGVWKST   ;Import II Workstation ID
 . S FDA(1,FILE,"+1,",4)=MEDTYPE    ;Media Type
 . S FDA(1,FILE,"+1,",100)=MEDVALID ;Media Validation Status
 . S FDA(1,FILE,"+1,",101)=$G(MEDVMSG)  ;Media Validation Status Message
 . Q
 ;
 ;--- Lock MAGV IMPORT MEDIA LOG file (#2006.9422)
 L +^MAGV(FILE):5 I $T D
 . ;
 . K MAGVIEN
 . ;--- Post the transaction. IA# 2053.
 . D UPDATE^DIE("","FDA(1)","MAGVIEN")
 . L -^MAGV(FILE)
 . Q
 ;
 E  D
 . ;
 . S MAGVERR=1,MAGVMSG="Could not lock MAGV IMPORT MEDIA LOG File."
 . Q
 ;
 ;--- Return.
 I MAGVERR S MAGVRET(0)="-1"_SEPSTAT_MAGVMSG Q
 S MAGVRET(0)="0"_SEPSTAT_MAGVIEN(1)
 Q
 ;
 ;+++ Routine Utility: Initialize Separators
ZRUSEPIN ;
 S SEPOUTP=$$OUTSEP^MAGVIM01
 S SEPSTAT=$$STATSEP^MAGVIM01
 Q
 ;
 ; MAGVIM03
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMAGVIM03   8085     printed  Sep 23, 2025@19:46:07                                                                                                                                                                                                    Page 2
MAGVIM03  ;WOIFO/MAT,MLH,BT,DAC - RPCs for DICOM Importer II ; Nov 10, 2020@13:55:05
 +1       ;;3.0;IMAGING;**118,283**;Mar 19, 2002;Build 5;May 01, 2013
 +2       ;; Per VHA Directive 2004-038, 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 
 +18      ;
 +19      ;+++ Importer II Log Reports: Populate MAGV IMPORT STUDY LOG File (#2006.9421)
 +20      ;
 +21      ;  RPC: MAGV IMPORT STUDY LOG STORE
 +22      ;
 +23      ; Inputs:
 +24      ; =======
 +25      ;
 +26      ;  MAGVRET .... Variable for returned message.
 +27      ;  MAGVDUZ .... User DUZ.
 +28      ;  MAGVDUZ2 ... User Login Division.
 +29      ;  MAGVPDFN ... Associated Patient DFN.
 +30      ;  MAGVSACN ... Associated Study Accession Number.
 +31      ;  MAGVSUID ... Study Instance UID.
 +32      ;  MAGVSLOC ... Study performed location.
 +33      ;  MAGVSTYP ... Associated Study Type.
 +34      ;  MAGVSCNT ... Imported Series Count.
 +35      ;  MODLST ..... Array of NAME|VALUE PAIRS for MODALITY|COUNT.
 +36      ;  MEDGIEN .... IEN in the MAGV IMPORT MEDIA LOG file (#2006.9422)
 +37      ;  OBJFAIL .... Count of requested objects which failed to be imported.
 +38      ; 
 +39      ; Outputs:
 +40      ; ========
 +41      ; 
 +42      ;     0`"IMPORT STUDY LOG UPDATED."
 +43      ;    -1`"Unable to lock MAGV IMPORT STUDY LOG File (#2006.9421)."
 +44      ;    -1`##_"Validator error message lines returned."
 +45      ; 
 +46      ; Notes
 +47      ; =====
 +48      ;
 +49      ;
IMPLOGIN(MAGVRET,MAGVDUZ,MAGVDUZ2,MAGVPDFN,MAGVSACN,MAGVSUID,MAGVSLOC,MAGVSTYP,MAGVSCNT,MODLIST,MEDGIEN,OBJFAIL) ;
 +1       ;
 +2       ;--- Initialize. Set output separators per p34 convention.
 +3        KILL FDA,FDAIEN,MAGVRET
 +4        NEW SEPOUTP,SEPSTAT
           DO ZRUSEPIN
 +5        NEW MAGVERR,MAGVMSG
           SET MAGVERR=0
 +6        NEW FILE
           SET FILE=2006.9421
 +7        NEW SUBFILE
           SET SUBFILE=2006.94211
 +8       ; P283 DAC - Added Location/Instution IEN for Station # conversion
           NEW SFIEN,LOCIEN
 +9       ;
 +10      ;--- Set FDA entries for literal parameters.
 +11      ;PAT_DFN
           SET FDA(0,FILE,"+1,",3)=MAGVPDFN
 +12      ;Associated_Study_Accession_Number
           if MAGVSACN'=""
               SET FDA(0,FILE,"+1,",4)=MAGVSACN
 +13      ;Study_Instance_UID
           if MAGVSUID'=""
               SET FDA(0,FILE,"+1,",5)=MAGVSUID
 +14      ;Study_Performed_Location
           if MAGVSLOC'=""
               SET FDA(0,FILE,"+1,",6)=MAGVSLOC
 +15      ;Associated_Study_Type
           SET FDA(0,FILE,"+1,",7)=MAGVSTYP
 +16      ;Series_Count
           SET FDA(0,FILE,"+1,",8)=MAGVSCNT
 +17      ;Object_Failed_Count
           SET FDA(0,FILE,"+1,",11)=OBJFAIL
 +18      ;IEN in the MAGV IMPORT MEDIA LOG file (#2006.9422)
           SET FDA(0,FILE,"+1,",12)=MEDGIEN
 +19      ;
 +20      ;--- Lock MAGV IMPORT STUDY LOG file (#2006.9421)
 +21       LOCK +^MAGV(FILE):5
           IF $TEST
               Begin DoDot:1
 +22      ;
 +23      ;--- Set internal FDA entries for .01 field. IA #10103
 +24               SET FDA(0,FILE,"+1,",.01)=$$NOW^XLFDT
 +25      ;USER_DUZ
                   SET FDA(0,FILE,"+1,",1)=MAGVDUZ
 +26      ; P283 DAC - Convert Station # to Institution IEN before filing
                   SET LOCIEN=$$IEN^XUAF4(MAGVDUZ2)
 +27      ; P283 DAC - File Institution IEN instead of Station #
                   SET FDA(0,FILE,"+1,",2)=LOCIEN
 +28      ;
 +29      ;--- Post top-level transaction data. IA# 2053.
 +30               DO UPDATE^DIE("","FDA(0)","SFIEN")
 +31      ;
 +32      ;--- Set FDA entries for array parameter MODLST.
 +33               NEW CT,CTMOD
                   SET CT=""
                   SET CTMOD=0
                   FOR 
                       SET CT=$ORDER(MODLIST(CT))
                       if CT=""
                           QUIT 
                       Begin DoDot:2
 +34                       NEW MODLTY
                           SET MODLTY=$PIECE(MODLIST(CT),"|",1)
 +35                       NEW VALUE
                           SET VALUE=$PIECE(MODLIST(CT),"|",2)
 +36                       SET FDA(1,SUBFILE,"+"_CT_","_SFIEN(1)_",",.01)=MODLTY
 +37                       SET FDA(1,SUBFILE,"+"_CT_","_SFIEN(1)_",",.02)=VALUE
 +38                       SET CTMOD=CTMOD+VALUE
 +39                       QUIT 
                       End DoDot:2
 +40      ;
 +41               if (CTMOD*SFIEN(1))>0
                       Begin DoDot:2
 +42      ;--- Set FDA entry for total modality object count.
 +43                       SET FDA(1,FILE,SFIEN(1)_",",9)=$GET(CTMOD)
 +44      ;--- Post sub-file transaction data. IA# 2053.
 +45                       DO UPDATE^DIE("","FDA(1)")
                       End DoDot:2
 +46               LOCK -^MAGV(FILE)
 +47               QUIT 
               End DoDot:1
 +48      ;
 +49      IF '$TEST
               Begin DoDot:1
 +50      ;
 +51               SET MAGVERR=1
                   SET MAGVMSG="Could not lock MAGV IMPORT STUDY LOG File."
 +52               QUIT 
               End DoDot:1
 +53      ;
 +54      ;--- Return.
 +55       IF MAGVERR
               SET MAGVRET(0)="-1"_SEPSTAT_MAGVMSG
               QUIT 
 +56       SET MAGVRET(0)="0"_SEPSTAT_"IMPORT STUDY LOG UPDATED."
 +57       QUIT 
 +58      ;+++ Importer II Log Reports from MAGV IMPORT STUDY LOG file (#2006.9421)
 +59      ;
 +60      ;  RPC: MAGV IMPORT STUDY LOG REPORT
 +61      ;
 +62      ; Inputs:
 +63      ; =======
 +64      ;
 +65      ;  MAGVARY .... Variable for returned message.
 +66      ;  REPORT ..... Report identifier as:
 +67      ;  
 +68      ;    0 ... Initialization Request
 +69      ;    1 ... Report Data for Each Date in Range
 +70      ;    2 ... Report Data for Each Study Location
 +71      ;    3 ... Report Data for Modality Counts
 +72      ;  
 +73      ;  STARTDT .... Inclusive lower  bound of date range as YYYYMMDD.
 +74      ;  STOPDT ..... Inclusive upper bound of date range.
 +75      ; 
 +76      ; Outputs:
 +77      ; ========
 +78      ; 
 +79      ;     0`## [report lines returned]
 +80      ;    -1`Error message.
 +81      ; 
 +82      ; Notes
 +83      ; =====
 +84      ;
 +85      ;  Calls MAGVIM04 for processing.
 +86      ;
IMPLOGEX(MAGVARY,REPORT,STARTDT,STOPDT) ;
 +1       ;
 +2        NEW SEPOUTP,SEPSTAT
           DO ZRUSEPIN
 +3        NEW MAGVERR
           SET MAGVERR=0
 +4        NEW FILE
           SET FILE=2006.9421
 +5       ;
 +6       ;--- Convert incoming HL7 dates to FileMan. IA #
 +7        SET STARTDT=$$HL7TFM^XLFDT(STARTDT)
 +8        SET STOPDT=$$HL7TFM^XLFDT(STOPDT)
 +9       ;
 +10       SET MAGVARY=$NAME(^TMP("MAGVIM",$JOB))
 +11       KILL @MAGVARY
 +12       Begin DoDot:1
 +13      ;
 +14           IF '$DATA(REPORT)
                   SET MAGVERR="REPORT TYPE NOT SPECIFIED."
                   QUIT 
 +15      ;
 +16      ;--- Set report types validator string.
 +17           IF "0,1,2,3,"'[REPORT_","
                   SET MAGVERR="REPORT TYPE"_""_REPORT_""_"UNDEFINED."
                   QUIT 
           End DoDot:1
           IF MAGVERR
               SET @MAGVARY@(0)="-1"_SEPSTAT_MAGVERR
               QUIT 
 +18      ;
 +19      ;--- Report window initialization request.
 +20       IF REPORT=0
               Begin DoDot:1
 +21      ;
 +22      ;--- Detect file contains no data & return -1
 +23               IF '$DATA(^MAGV(FILE,"B"))
                       SET @MAGVARY@(0)="-1"
                       QUIT 
 +24      ;
 +25      ;--- Return "0'STARTDT" for earliest date in file.
 +26               NEW FIRSTDT
                   SET FIRSTDT=+$PIECE($ORDER(^MAGV(FILE,"B","")),".")
 +27               SET @MAGVARY@(0)="0"_"`"_$$FMTHL7^XLFDT(FIRSTDT)
               End DoDot:1
               QUIT 
 +28      ;
 +29      ;--- Call the processor.
 +30       DO MAGVQRY^MAGVIM04(MAGVARY,FILE,REPORT,STARTDT,STOPDT)
 +31      ;
 +32      ;--- Return.
 +33       NEW LNTOT
           SET LNTOT=$ORDER(@MAGVARY@("Z"),-1)
 +34       SET @MAGVARY@(0)=0_SEPSTAT_LNTOT
 +35       QUIT 
 +36      ;
 +37      ; +++++ Importer II Log Reports: Populate MAGV IMPORT MEDIA LOG (#2006.9422)
 +38      ;
 +39      ;  RPC: MAGV IMPORT MEDIA LOG STORE
 +40      ;
 +41      ; Inputs:
 +42      ; =======
 +43      ;
 +44      ;  MAGVRET .... Variable for returned message.
 +45      ;  MAGVDUZ .... User DUZ.
 +46      ;  MAGVWKST ... Workstation running the Importer II application.
 +47      ;  MEDTYPE .... Import event media type (DIRect, STaGed,NETwork, DiCoM correct).
 +48      ;  MEDVALID ... Media Validation Status (0=valid; 1=invalid).
 +49      ;  MEDVMSG .... Media Validation Message extending MEDVALID.
 +50      ; 
 +51      ; Outputs:
 +52      ; ========
 +53      ; 
 +54      ;     0`"IMPORT MEDIA LOG UPDATED."
 +55      ;    -1`"Unable to lock MAGV IMPORT MEDIA LOG File."
 +56      ;    -1`##_"Validator error message lines returned."
 +57      ;
IMPMEDIA(MAGVRET,MAGVDUZ,MAGVWKST,MEDTYPE,MEDVALID,MEDVMSG) ;
 +1       ;
 +2        KILL MAGVRET
 +3        NEW SEPOUTP,SEPSTAT
           DO ZRUSEPIN
 +4        NEW MAGVERR,MAGVMSG
           SET MAGVERR=0
 +5       ;
 +6        NEW FILE
           SET FILE=2006.9422
 +7        Begin DoDot:1
 +8            KILL FDA
 +9       ;--- Set FDA entries for literal parameters.
 +10      ;Media Import Timestamp
               SET FDA(1,FILE,"+1,",.01)=$$NOW^XLFDT
 +11      ;Import II User DUZ
               SET FDA(1,FILE,"+1,",2)=MAGVDUZ
 +12      ;Import II Workstation ID
               SET FDA(1,FILE,"+1,",3)=MAGVWKST
 +13      ;Media Type
               SET FDA(1,FILE,"+1,",4)=MEDTYPE
 +14      ;Media Validation Status
               SET FDA(1,FILE,"+1,",100)=MEDVALID
 +15      ;Media Validation Status Message
               SET FDA(1,FILE,"+1,",101)=$GET(MEDVMSG)
 +16           QUIT 
           End DoDot:1
 +17      ;
 +18      ;--- Lock MAGV IMPORT MEDIA LOG file (#2006.9422)
 +19       LOCK +^MAGV(FILE):5
           IF $TEST
               Begin DoDot:1
 +20      ;
 +21               KILL MAGVIEN
 +22      ;--- Post the transaction. IA# 2053.
 +23               DO UPDATE^DIE("","FDA(1)","MAGVIEN")
 +24               LOCK -^MAGV(FILE)
 +25               QUIT 
               End DoDot:1
 +26      ;
 +27      IF '$TEST
               Begin DoDot:1
 +28      ;
 +29               SET MAGVERR=1
                   SET MAGVMSG="Could not lock MAGV IMPORT MEDIA LOG File."
 +30               QUIT 
               End DoDot:1
 +31      ;
 +32      ;--- Return.
 +33       IF MAGVERR
               SET MAGVRET(0)="-1"_SEPSTAT_MAGVMSG
               QUIT 
 +34       SET MAGVRET(0)="0"_SEPSTAT_MAGVIEN(1)
 +35       QUIT 
 +36      ;
 +37      ;+++ Routine Utility: Initialize Separators
ZRUSEPIN  ;
 +1        SET SEPOUTP=$$OUTSEP^MAGVIM01
 +2        SET SEPSTAT=$$STATSEP^MAGVIM01
 +3        QUIT 
 +4       ;
 +5       ; MAGVIM03