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

MAGBAPIP.m

Go to the documentation of this file.
MAGBAPIP ;WOIFO/MLH - Background Processor API to build queues - Modules for place
 ;;3.0;IMAGING;**1,7,8,20,59**;Nov 27, 2007;Build 20
 ;;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.                     |
 ;; +---------------------------------------------------------------+
 ;;
DUZ2PLC(WARN) ;Convert DUZ to a PLACE. File 2006.1 entry (PLACE)
 ; Extrinsic : Always returns a PLACE
 ; WARN          : message about where the PLACE was derived from.
 ; Compute the Users Institution for older versions of Imaging Display workstation.
 ; This is called when DUZ(2) doesn't exist Or Can't resolve DUZ(2)
 ;  into site param entry.  This solved a GateWay Problem where DUZ(2) didn't
 ;  exist.  - Shouldn't get here anymore, that was fixed.
 N MAGINST,DIVDTA,PLACE
 S MAGINST=0
 D GETS^DIQ(200,DUZ,"16*","I","DIVDTA") ; look up Division field
 ;                                 ? Any division data on file for this user
 I $D(DIVDTA) D  ; yes, use it
 . S MAGINST=@$Q(DIVDTA),WARN="Using first Division of New Person File."
 . Q
 E  D  ;                   no, use default site param?
 . S MAGINST=$$KSP^XUPARAM("INST"),WARN="Using Kernel Site Param default entry." Q
 . Q
 S PLACE=$$GETPLACE^MAGBAPI(+$$PLACE^MAGBAPI(MAGINST))
 I 'PLACE S PLACE=$O(^MAG(2006.1,0)),WARN="Using First Site Param entry."
 Q PLACE
 ;
DA2PLC(MAGDA,TYPE) ; Get Place from Image File IEN
 ; TYPE :        Possible values "A" Abstract, "F" Full Res or "B" Big File
 ; (defaults to "F" if null)
 ; Resolve Place (PLC) using the Acquisition Site field (ACQS)
 ; IF ACQS is null or not doesn't exist in the site parameter file
 ; THEN Resolve PLC using NetWork Location pointer
 ; 
 N MAGREF,MAG0,FBIG,SITE,PLC,MAGJB
 I '$G(MAGDA) Q 0
 S SITE=$P($G(^MAG(2005,MAGDA,100)),U,3)
 I SITE S PLC=$$PLACE^MAGBAPI(SITE) Q:PLC PLC
 ; p59  Stop the error when an Image is Deleted.
 S MAG0=$G(^MAG(2005,MAGDA,0)) Q:MAG0="" 0
 ;
 S TYPE=$E($G(TYPE)_"F",1)
 I "AF"[TYPE D
 . S MAGREF=$S(TYPE="A":+$P(MAG0,"^",4),1:+$P(MAG0,"^",3))
 . I MAGREF=0 S MAGJB=1,MAGREF=+$P(MAG0,"^",5) ; get file from jukebox
 I "B"[TYPE D
 . S FBIG=$G(^MAG(2005,MAGDA,"FBIG"))
 . S MAGREF=+$P(FBIG,"^") ; get file from magnetic disk, if possible
 . I MAGREF=0 S MAGREF=+$P(FBIG,"^",2) ; get file from jukebox
 I 'MAGREF Q 0
 I '$D(^MAG(2005.2,MAGREF,0)) Q 0
 Q $$GETPLACE^MAGBAPI(+$$GET1^DIQ(2005.2,MAGREF,.04,"I"))