Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All
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>

Call Graph

Call Graph

Call Graph Total: 3

Package Total Call Graph
Imaging 3 $$QRSCP^MAGDSTA8  (QRSTATUS,STTINC)^MAGDSTAA  (SOPUIDQ,SOPUIDR)^MAGDSTV1  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 1

Package Total Caller Graph
Imaging 1 MAGDSTAC  

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

External References

Name Field # of Occurrence
$$QRSCP^MAGDSTA8 STUDYUID+13, GETSOPU+6
QRSTATUS^MAGDSTAA GETIMAGE+2, STUDYUID+5, STUDYUID+22, STUDYUID+25
STTINC^MAGDSTAA STUDYUID+27, STUDYUID+28
SOPUIDQ^MAGDSTV1 GETSOPU+9
SOPUIDR^MAGDSTV1 STUDYUID+29

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

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^TMP("MAG" GETIMAGE+7, STUDYUID+10!, STUDYUID+11*, STUDYUID+12*, STUDYUID+13*, STUDYUID+14*, STUDYUID+15*, STUDYUID+17, STUDYUID+18*, GETSOPU+2!
, GETSOPU+3!, GETSOPU+4*, GETSOPU+5*, GETSOPU+6*, GETSOPU+7*, GETSOPU+8*, GETSOPU+13*, GETSOPU+15*, UIDCOMP+20!, UIDCOMP+23*
, UIDCOMP+27*, UIDCOMP+28, UIDCOMP+30*, UIDCOMP+35*, UIDCOMP+36*, UIDCOMP+37*, UIDLIST+6, TEST2+3!, TEST2+4*, TEST2+5*
TEST2+6*, TEST2+7*, TEST2A+3
^XTMP( GETSOPU+10, GETSOPU+12

Label References

Name Line Occurrences
$$UIDLIST UIDCOMP+23, UIDCOMP+29
GETSOPU STUDYUID+4
STUDYUID GETIMAGE+8
SUBTRACT UIDCOMP+34, TEST1+6, TEST1+9
TEST1A TEST1+8, TEST1+11
TEST2A TEST2+10, TEST2+13
UIDCOMP STUDYUID+6, TEST2+8, TEST2+11

Naked Globals

Name Field # of Occurrence
^("PACS ONLY" UIDCOMP+20!
^("VISTA ONLY" UIDCOMP+20!

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
A SUBTRACT~, SUBTRACT+5, TEST1+6, TEST1+9, TEST2A+2*, TEST2A+3
A( SUBTRACT+7, SUBTRACT+9
A(1 TEST1+2*
A(2 TEST1+3*
ARRAY UIDLIST~
ARRAY( UIDLIST+7*
B SUBTRACT~, TEST1+6, TEST1+9
B( SUBTRACT+10
B(1 TEST1+4*
B(2 TEST1+5*
BOTH UIDCOMP+19~, UIDCOMP+34, UIDCOMP+35
C SUBTRACT~, SUBTRACT+4!, SUBTRACT+5*, TEST1+6, TEST1+9
C( SUBTRACT+11!, TEST1A+3, TEST1A+5, TEST1A+6
COUNT GETSOPU+1~, GETSOPU+10*, GETSOPU+11, GETSOPU+15, UIDCOMP+19~, UIDCOMP+29*, UIDCOMP+30, UIDLIST+1~, UIDLIST+2*, UIDLIST+8*
, UIDLIST+10
>> HOSTNAME GETSOPU+10, GETSOPU+12
I STUDYUID+1~, STUDYUID+16*, STUDYUID+18*, STUDYUID+20*, STUDYUID+21, STUDYUID+22, STUDYUID+28, GETSOPU+1~, GETSOPU+11*, GETSOPU+12
TEST2+1~, TEST2+4*, TEST2+5*, TEST2+6*, TEST2+7*
>> MAGXTMP GETSOPU+10, GETSOPU+12
MISSING UIDCOMP+34, UIDCOMP+36, SUBTRACT~, SUBTRACT+4*, SUBTRACT+15*, TEST1+6, TEST1+7, TEST1+9, TEST1+10
MISSINGUIDS UIDCOMP+19~, UIDCOMP+34, UIDCOMP+37
PACSSERIESUID GETIMAGE~, GETIMAGE+7, GETIMAGE+8, STUDYUID~, STUDYUID+4, STUDYUID+6, STUDYUID+12, STUDYUID+17, GETSOPU~, GETSOPU+3
, GETSOPU+5, GETSOPU+13, GETSOPU+15, UIDCOMP~, UIDCOMP+23, UIDCOMP+28, UIDCOMP+29
PACSSTUDYUID GETIMAGE+1~, GETIMAGE+6*, GETIMAGE+7*, GETIMAGE+8, STUDYUID~, STUDYUID+4, STUDYUID+6, STUDYUID+11, STUDYUID+17, GETSOPU~
, GETSOPU+3, GETSOPU+4, GETSOPU+13, GETSOPU+15, UIDCOMP~, UIDCOMP+23, UIDCOMP+37, TEST2+1~, TEST2+2*, TEST2+5
TEST2+7, TEST2+8, TEST2+11
PACSUIDS UIDCOMP+19~, UIDCOMP+23, UIDCOMP+34
>> QRSTACK STUDYUID+11, STUDYUID+12, STUDYUID+13, STUDYUID+14, STUDYUID+15, STUDYUID+18, GETSOPU+4, GETSOPU+5, GETSOPU+6, GETSOPU+7
, GETSOPU+8, GETSOPU+10, GETSOPU+12
SAME SUBTRACT~, SUBTRACT+4*, SUBTRACT+12*, TEST1+6, TEST1+7, TEST1+9, TEST1+10
SERIESUID UIDLIST~, UIDLIST+6, UIDLIST+7, TEST2A~, TEST2A+1
SOPUID STUDYUID+1~, STUDYUID+16*, STUDYUID+17*, STUDYUID+18, GETSOPU+1~, GETSOPU+12*, GETSOPU+13, UIDLIST+1~, UIDLIST+5*, UIDLIST+6*
, UIDLIST+7
SS1 SUBTRACT+3~, SUBTRACT+6*, SUBTRACT+7*, SUBTRACT+9, SUBTRACT+10, SUBTRACT+11, TEST1A+1~, TEST1A+2*, TEST1A+3*, TEST1A+5
TEST1A+6
SS2 SUBTRACT+3~, SUBTRACT+8*, SUBTRACT+9*, SUBTRACT+10, SUBTRACT+11, TEST1A+1~, TEST1A+4*, TEST1A+5*, TEST1A+6
STUDYUID UIDLIST~, UIDLIST+6
SYSTEM UIDLIST~, UIDLIST+6
VISTASTUDYUID UIDCOMP+19~, UIDCOMP+27*, UIDCOMP+28*, UIDCOMP+29, TEST2+1~, TEST2+2*, TEST2+4, TEST2+6, TEST2+8, TEST2+11
VISTAUIDS UIDCOMP+19~, UIDCOMP+29, UIDCOMP+34
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All