MAGDSTAF ;WOIFO/PMK - Q/R Retrieve of DICOM images from PACS to VistA ; Sep 17, 2020@13:11:24
Source file <MAGDSTAF.m>
| 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
 | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  | 
| Function Call: WRITE | 
  |