MAGUE004 ;WOIFO/MLH,DAC - database encapsulation - find study instance IEN for an image instance (new DB) ; May 27, 2020@09:36:15
 ;;3.0;IMAGING;**118,263**;Mar 19, 2002;Build 17
 ;; 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
 ;
STUDYIX(IEN,IENTYPE) ; Find study instance IEN for an image instance (new DB)
 N SERIESIX,STUDYIX,SOPIX
 S STUDYIX=""
 D:IEN
 . ; P263 DAC - Default IEN parameter is SOP (#2005.64) file IEN
 . S SOPIX=IEN
 . ; P263 DAC - If IEN type is IMAGE then find SOP IEN from Image(#2005.65) file enrty
 . I $G(IENTYPE)="IMAGE" S SOPIX=$P($G(^MAGV(2005.65,IEN,6)),"^",1) Q:'SOPIX
 . ; P263 DAC - Fixed lookup to use Series IEN instead of Image IEN
 . S SERIESIX=$P($G(^MAGV(2005.64,SOPIX,6)),"^",1) Q:'SERIESIX
 . S STUDYIX=$P($G(^MAGV(2005.63,SERIESIX,6)),"^",1) Q:'STUDYIX
 . Q
 Q $G(STUDYIX)
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMAGUE004   1784     printed  Sep 23, 2025@19:45:08                                                                                                                                                                                                    Page 2
MAGUE004  ;WOIFO/MLH,DAC - database encapsulation - find study instance IEN for an image instance (new DB) ; May 27, 2020@09:36:15
 +1       ;;3.0;IMAGING;**118,263**;Mar 19, 2002;Build 17
 +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      ;
STUDYIX(IEN,IENTYPE) ; Find study instance IEN for an image instance (new DB)
 +1        NEW SERIESIX,STUDYIX,SOPIX
 +2        SET STUDYIX=""
 +3        if IEN
               Begin DoDot:1
 +4       ; P263 DAC - Default IEN parameter is SOP (#2005.64) file IEN
 +5                SET SOPIX=IEN
 +6       ; P263 DAC - If IEN type is IMAGE then find SOP IEN from Image(#2005.65) file enrty
 +7                IF $GET(IENTYPE)="IMAGE"
                       SET SOPIX=$PIECE($GET(^MAGV(2005.65,IEN,6)),"^",1)
                       if 'SOPIX
                           QUIT 
 +8       ; P263 DAC - Fixed lookup to use Series IEN instead of Image IEN
 +9                SET SERIESIX=$PIECE($GET(^MAGV(2005.64,SOPIX,6)),"^",1)
                   if 'SERIESIX
                       QUIT 
 +10               SET STUDYIX=$PIECE($GET(^MAGV(2005.63,SERIESIX,6)),"^",1)
                   if 'STUDYIX
                       QUIT 
 +11               QUIT 
               End DoDot:1
 +12       QUIT $GET(STUDYIX)