Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Entry Points |  Interaction Calls
Print Page as PDF
Routine: MAGDSTAF

Package: Imaging

Routine: MAGDSTAF


Information

MAGDSTAF ;WOIFO/PMK - Q/R Retrieve of DICOM images from PACS to VistA ; Sep 17, 2020@13:11:24

Source Information

Source file <MAGDSTAF.m>

Entry Points

Name Comments DBIA/ICR reference
GETIMAGE(PACSSERIESUID) ; retrieve one series of "PACS ONLY" SOP Instances
STUDYUID(PACSSTUDYUID,PACSSERIESUID) ; process one PACS Study Instance UID
GETSOPU(PACSSTUDYUID,PACSSERIESUID) ; query for the SOP Instance UIDs for the series
UIDCOMP(PACSSTUDYUID,PACSSERIESUID) ;
; Compare the UIDs between those on PACS with those on VistA
; Return a count of UIDs on both as well as lists of missing ones
;
; Note that both PACS and VistA may have multiple Study Instance UIDs
; and that they may be different.
;
; Input: ^TMP("MAG",$J,"UIDS","VISTA",VISTASTUDYUID,SERIESUID,SOPUID)=""
; ^TMP("MAG",$J,"UIDS","PACS",PACSSTUDYUID,SERIESUID,SOPUID)=""
;
; Output: BOTH - count of identical UIDs on both VistA and PACS
; ^TMP("MAG",$J,"UIDS","PACS ONLY",PACSSTUDYUID,SERIESUID,SOPUID)=""
; ^TMP("MAG",$J,"UIDS","VISTA ONLY",VISTASTUDYUID,SERIESUID,SOPUID)=""
; ^TMP("MAG",$J,"UIDS","COUNTS","BOTH")
; ^TMP("MAG",$J,"UIDS","COUNTS","PACS")
; ^TMP("MAG",$J,"UIDS","COUNTS","PACS ONLY")
; ^TMP("MAG",$J,"UIDS","COUNTS","VISTA")
; ^TMP("MAG",$J,"UIDS","COUNTS","VISTA ONLY")
;
UIDLIST(SYSTEM,STUDYUID,SERIESUID,ARRAY) ; get an array of Series and SOP Instance UIDs
SUBTRACT(A,B,C,MISSING,SAME) ; UID set subtraction
; A, B, and C are arrays of Series and SOP Instance UIDs
; C = all the nodes of A minus the nodes of B
TEST1 ; test of SUBTRACT subroutine
; N A,B,C,MISSING,SAME
TEST1A ; output
TEST2 ; test of UIDCOMP subroutine
TEST2A(SERIESUID) ; report

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,"Same=",SAME," Missing=",MISSING," This should be C(2,1)=""2,1"""
  • Line Location: TEST1+7
Function Call: WRITE
  • Prompt: !!,"Same=",SAME," Missing=",MISSING," This should be C(2,2)=""TWO,TWO"""
  • Line Location: TEST1+10
Function Call: WRITE
  • Prompt: !,"C(",SS1,",",SS2,")=""",C(SS1,SS2),""""
  • Line Location: TEST1A+6
Function Call: WRITE
  • Prompt: !!,"Numbers should be 2, 6, 4, 5, and 3"
  • Line Location: TEST2+9
Function Call: WRITE
  • Prompt: !!,"Numbers should be 2, 5, 3, 6, and 4"
  • Line Location: TEST2+12
Function Call: WRITE
  • Prompt: !,"Series UID: """,SERIESUID,""""
  • Line Location: TEST2A+1
Function Call: WRITE
  • Prompt: !,$J(A,10),": ",^TMP("MAG",$J,"UIDS","COUNTS",A)
  • Line Location: TEST2A+3
Info |  Source |  Entry Points |  Interaction Calls