MAGDSTA8 ;WOIFO/PMK - Q/R Retrieve of DICOM images from PACS to VistA ; Feb 15, 2022@10:50:15
Source file <MAGDSTA8.m>
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Name | Comments | DBIA/ICR reference |
---|---|---|
LEGACY(GROUPIEN,SERIESCOUNT,IMAGECOUNT) | ; get all the UIDs for the imaging group
|
|
NEWSOPDB(ACNUMB,SERIESCOUNT,IMAGECOUNT) | ; look for UIDs in the P34 database for the new SOP Classes
; Rules: ; 1) the Attribute On File field is not checked at all. ; 2) for the Procedure Reference file (#2005.61), there has to be a pointer to the Patient ; Reference file (#2005.6) and the patient id type in file #2005.6 needs to be "DFN". ; 3) for the Image Study file (#2005.62), the study must be "accessible" and AOF ; 4) for the Image Series file (#2006.63), the series must be "accessible" and AOF ; 5) for the SOP Instance file ("2006.64), the SOP instance must be "accessible" and AOF |
|
PROBLEM61(PROCIX) | ; check both file 2005.6 and 2005.61
|
|
PROBLEM62(STUDYIX) | ; check file 2005.62
|
|
PROBLEM63(SERIESIX) | ; check file 2005.63
|
|
PROBLEM64(SOPIX) | ; check file 2005.64
|
|
PROBLEM65(IMAGEIX) | ; check file 2005.65
|
|
SERIES(VISTASTUDYUID,SERIESUID,SERIESCOUNT) | ; increment series counters
|
|
IMAGE(VISTASTUDYUID,SERIESUID,SOPUID,IMAGECOUNNT) | ; increment image counters
|
|
SERVICES(CONSULTSERVICES,GETQRSCP) | ; get services to query
|
|
SERVICE1 | ; present selection screen(s)
|
|
SERVICE2 | ; select the service from a screen full
|
|
SERVICE3 | ; output one service
|
|
SERVICE4(CONSULTSERVICES,GETQRSCP,LIST,PICK) | ; build list of selected services, by ien
|
|
QRSCP() | ; get the q/r scp for the consult
|
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: READ |
|
Function Call: READ |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
FileNo | Call Tags |
---|---|
^GMR(123 - [#123] | GET1^DIQ |
^GMR(123.3 - [#123.3] | GET1^DIQ |
^GMR(123.5 - [#123.5] | GET1^DIQ |
^MAG(2006.5831 - [#2006.5831] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^MAG(2005 - [#2005] | LEGACY+3, LEGACY+12, LEGACY+13, LEGACY+15 |
^MAG(2006.5831 - [#2006.5831] | SERVICES+9, SERVICE4+8, SERVICE4+9 |
^MAGV(2005.6 - [#2005.6] | PROBLEM61+11 |
^MAGV(2005.61 - [#2005.61] | NEWSOPDB+19, PROBLEM61+4, PROBLEM61+7 |
^MAGV(2005.62 - [#2005.62] | NEWSOPDB+23, NEWSOPDB+25, PROBLEM61+19, PROBLEM62+4, PROBLEM62+6 |
^MAGV(2005.63 - [#2005.63] | NEWSOPDB+30, NEWSOPDB+32, PROBLEM63+4, PROBLEM63+6 |
^MAGV(2005.64 - [#2005.64] | NEWSOPDB+37, NEWSOPDB+39, PROBLEM64+4, PROBLEM64+6 |
^MAGV(2005.65 - [#2005.65] | NEWSOPDB+43, PROBLEM65+4, PROBLEM65+6, PROBLEM65+9 |
^TMP("MAG" | LEGACY+7, LEGACY+9, NEWSOPDB+27, SERIES+1, SERIES+2, SERIES+4, SERIES+8*, IMAGE+1, IMAGE+3, IMAGE+5* , SERVICES+17, QRSCP+3 |
Name | Line Occurrences |
---|---|
$$PROBLEM61 | NEWSOPDB+20 |
$$PROBLEM62 | NEWSOPDB+24 |
$$PROBLEM63 | NEWSOPDB+31 |
$$PROBLEM64 | NEWSOPDB+38 |
$$PROBLEM65 | NEWSOPDB+44 |
IMAGE | LEGACY+20, NEWSOPDB+45 |
SERIES | LEGACY+19, NEWSOPDB+34 |
SERVICE1 | SERVICES+40, SERVICES+43, SERVICE1+9 |
SERVICE2 | SERVICE1+7, SERVICE2+30 |
SERVICE3 | SERVICES+35, SERVICE2+9 |
SERVICE4 | SERVICES+47 |
Name | Field # of Occurrence |
---|---|
^("SERIESUID" | LEGACY+15 |
^(0 | LEGACY+9*, NEWSOPDB+27*, SERIES+2*, IMAGE+3* |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ACNUMB | NEWSOPDB~, NEWSOPDB+16, NEWSOPDB+19 |
ALPHA | SERVICES+1~ |
ALPHA( | SERVICES+11*, SERVICES+14, SERVICES+15 |
ARTIFACTIX | PROBLEM65+1~, PROBLEM65+5* |
ARTIFACTONFILE | PROBLEM61+1~, PROBLEM61+6*, PROBLEM61+14*, PROBLEM62+1~, PROBLEM62+7*, PROBLEM63+1~, PROBLEM63+5*, PROBLEM64+1~, PROBLEM64+5* |
CONSULTSERVICES | SERVICES~, SERVICES+7!, SERVICES+47, SERVICES+49, SERVICE4~ |
CONSULTSERVICES( | SERVICE4+5*, SERVICE4+15* |
DELETED | PROBLEM65+1~, PROBLEM65+10* |
DFN | PROBLEM61+1~, PROBLEM61+12* |
DONE | SERVICES+1~, SERVICE1+1*, SERVICE1+3, SERVICE1+9, SERVICE2+7, SERVICE2+16*, SERVICE2+17* |
DTIME | SERVICE2+14, SERVICE2+27 |
GETQRSCP | SERVICES~, SERVICES+3*, SERVICES+4, SERVICES+5, SERVICES+47, SERVICE4~, SERVICE4+6 |
>> GMRCIEN | QRSCP+7, QRSCP+8 |
GROUPIEN | LEGACY~, LEGACY+3, LEGACY+12, LEGACY+13 |
I | LEGACY+1~, LEGACY+11*, LEGACY+12*, LEGACY+13, SERVICES+1~, SERVICES+9*, SERVICES+14*, SERVICES+16, SERVICES+17, SERVICES+20 , SERVICES+33*, SERVICE2+7*, SERVICE2+8, SERVICE2+19*, SERVICE3+1, SERVICE4+1~, SERVICE4+3*, SERVICE4+4 |
IBEGIN | SERVICES+1~, SERVICES+28*, SERVICES+33, SERVICE1+4*, SERVICE2+7, SERVICE2+13, SERVICE2+21 |
IEN | SERVICE4+1~, SERVICE4+8*, SERVICE4+9 |
IEND | SERVICES+1~, SERVICES+29*, SERVICES+30*, SERVICES+33, SERVICE1+5*, SERVICE1+6*, SERVICE2+7, SERVICE2+13, SERVICE2+21 |
IMAGECOUNNT | IMAGE~ |
IMAGECOUNT | LEGACY~, LEGACY+2*, LEGACY+20, NEWSOPDB~, NEWSOPDB+15*, NEWSOPDB+45, IMAGE+4* |
IMAGEDATA0 | PROBLEM65+1~, PROBLEM65+4*, PROBLEM65+5 |
IMAGEDATA1 | PROBLEM65+1~, PROBLEM65+6*, PROBLEM65+7, PROBLEM65+8 |
IMAGEDATA4 | PROBLEM65+1~, PROBLEM65+9*, PROBLEM65+10 |
IMAGEIEN | LEGACY+1~, LEGACY+14*, LEGACY+15 |
IMAGEIX | NEWSOPDB+42*, NEWSOPDB+43*, NEWSOPDB+44, PROBLEM65~, PROBLEM65+4, PROBLEM65+6, PROBLEM65+9 |
>> IMAGINGSERVICE | QRSCP+6 |
>> INCREMENT | SERVICES+25*, SERVICES+26, SERVICES+28, SERVICES+29, SERVICE1+1*, SERVICE1+2, SERVICE1+4, SERVICE1+5 |
INCRMENT | SERVICES+1~ |
IOF | SERVICES+31, SERVICE2+2 |
IOSL | SERVICES+25, SERVICE1+1 |
ISCREEN | SERVICES+1~, SERVICES+27*, SERVICES+28, SERVICES+29, SERVICES+37, SERVICE1+3*, SERVICE1+4, SERVICE1+5 |
KEEPSCREEN | SERVICES+1~, SERVICE2+1*, SERVICE2+24*, SERVICE2+27*, SERVICE2+30 |
LIST | SERVICES+2~, SERVICES+47, SERVICE4~ |
LIST( | SERVICES+16*, SERVICE3+1, SERVICE4+4 |
LIST("" | SERVICE4+2 |
MAG5831 | QRSCP+1~, QRSCP+8*, QRSCP+9, QRSCP+10 |
MAGIEN0 | SERVICE4+1~, SERVICE4+9*, SERVICE4+10, SERVICE4+12 |
N | SERVICES+20*, SERVICES+26, SERVICES+30, SERVICE1+2, SERVICE1+6, SERVICE2+5, SERVICE2+19, SERVICE4+1~, SERVICE4+2*, SERVICE4+3 |
NPICK | SERVICES+2~ |
NSCREENS | SERVICES+2~, SERVICES+26*, SERVICES+27, SERVICES+37, SERVICE1+2*, SERVICE1+3 |
ORIGINAL | PROBLEM65+1~, PROBLEM65+7* |
PATREFDATA | PROBLEM61+1~, PROBLEM61+11*, PROBLEM61+12, PROBLEM61+13, PROBLEM61+14, PROBLEM61+15 |
PATREFIX | PROBLEM61+1~, PROBLEM61+8*, PROBLEM61+11 |
PICK | SERVICES+22, SERVICES+47, SERVICE4~ |
PICK( | SERVICES+17*, SERVICE2+19*, SERVICE2+22*, SERVICE2+23*, SERVICE3+1, SERVICE4+3 |
PROCEDURE | SERVICE4+1~, SERVICE4+10*, SERVICE4+14, SERVICE4+15 |
PROCIX | NEWSOPDB+12~, NEWSOPDB+18*, NEWSOPDB+19*, NEWSOPDB+20, NEWSOPDB+23, PROBLEM61~, PROBLEM61+4, PROBLEM61+7, PROBLEM61+19 |
PROCNAME | SERVICES+2~, SERVICE4+14*, SERVICE4+15 |
PROCREFDATA0 | PROBLEM61+1~, PROBLEM61+4*, PROBLEM61+5, PROBLEM61+6 |
PROCREFDATA6 | PROBLEM61+1~, PROBLEM61+7*, PROBLEM61+8 |
QRPROVIDER | SERVICE4+1~, SERVICE4+12*, SERVICE4+13, SERVICE4+15 |
QRSCP | QRSCP+1~, QRSCP+3*, QRSCP+11*, QRSCP+15 |
QUIT | SERVICES+2~, SERVICES+20*, SERVICES+22, SERVICES+39* |
RETURN | PROBLEM61+1~, PROBLEM61+2*, PROBLEM61+21*, PROBLEM61+24, PROBLEM62+1~, PROBLEM62+2*, PROBLEM62+8*, PROBLEM62+10, PROBLEM63+1~, PROBLEM63+2* , PROBLEM63+8*, PROBLEM63+10, PROBLEM64+1~, PROBLEM64+2*, PROBLEM64+8*, PROBLEM64+10, PROBLEM65+1~, PROBLEM65+2*, PROBLEM65+11*, PROBLEM65+13 , SERVICES+2~, SERVICES+20*, SERVICES+46, SERVICES+52*, SERVICES+54, SERVICE2+16* |
SERIESCOUNT | LEGACY~, LEGACY+2*, LEGACY+19, NEWSOPDB~, NEWSOPDB+15*, NEWSOPDB+34, SERIES~, SERIES+5* |
SERIESDATA0 | NEWSOPDB+12~, NEWSOPDB+32*, NEWSOPDB+33 |
SERIESDATA6 | PROBLEM63+1~, PROBLEM63+4*, PROBLEM63+5 |
SERIESDATA9 | PROBLEM63+1~, PROBLEM63+6*, PROBLEM63+7 |
SERIESIX | NEWSOPDB+12~, NEWSOPDB+29*, NEWSOPDB+30*, NEWSOPDB+31, NEWSOPDB+32, NEWSOPDB+37, PROBLEM63~, PROBLEM63+4, PROBLEM63+6 |
SERIESUID | LEGACY+1~, LEGACY+15*, LEGACY+18, LEGACY+19, LEGACY+20, NEWSOPDB+12~, NEWSOPDB+33*, NEWSOPDB+34, NEWSOPDB+45, SERIES~ , SERIES+1, SERIES+4, SERIES+8, IMAGE~, IMAGE+1, IMAGE+3, IMAGE+5 |
SERVICE | SERVICES+2~, SERVICES+8*, SERVICES+9*, SERVICES+10, SERVICES+11, SERVICES+15*, SERVICES+16, SERVICES+17, SERVICE4+1~, SERVICE4+4* , SERVICE4+5, SERVICE4+8, SERVICE4+15 |
SERVICENAME | SERVICES+2~, SERVICES+10*, SERVICES+11, SERVICES+13*, SERVICES+14*, SERVICES+15, SERVICES+16 |
SOPDATA0 | NEWSOPDB+13~, NEWSOPDB+39*, NEWSOPDB+40 |
SOPDATA11 | PROBLEM64+1~, PROBLEM64+6*, PROBLEM64+7 |
SOPDATA6 | PROBLEM64+1~, PROBLEM64+4*, PROBLEM64+5 |
SOPIX | NEWSOPDB+13~, NEWSOPDB+36*, NEWSOPDB+37*, NEWSOPDB+38, NEWSOPDB+39, NEWSOPDB+43, PROBLEM64~, PROBLEM64+4, PROBLEM64+6 |
SOPUID | LEGACY+1~, LEGACY+16*, LEGACY+18, LEGACY+20, NEWSOPDB+13~, NEWSOPDB+40*, NEWSOPDB+45, IMAGE~, IMAGE+1, IMAGE+5 |
STATUS | PROBLEM61+1~, PROBLEM61+5*, PROBLEM61+15*, PROBLEM62+1~, PROBLEM62+5*, PROBLEM63+1~, PROBLEM63+7*, PROBLEM64+1~, PROBLEM64+7*, PROBLEM65+1~ , PROBLEM65+8* |
STUDYDATA0 | NEWSOPDB+12~, NEWSOPDB+25*, NEWSOPDB+26 |
STUDYDATA5 | PROBLEM62+1~, PROBLEM62+4*, PROBLEM62+5 |
STUDYDATA6 | PROBLEM62+1~, PROBLEM62+6*, PROBLEM62+7 |
STUDYIX | NEWSOPDB+12~, NEWSOPDB+22*, NEWSOPDB+23*, NEWSOPDB+24, NEWSOPDB+25, NEWSOPDB+30, PROBLEM61+1~, PROBLEM61+18*, PROBLEM61+19*, PROBLEM61+20 , PROBLEM62~, PROBLEM62+4, PROBLEM62+6 |
SVCNAME | SERVICE4+1~, SERVICE4+4*, SERVICE4+5 |
TOSERVICE | QRSCP+1~, QRSCP+7*, QRSCP+8 |
VISTASTUDYUID | LEGACY+1~, LEGACY+4*, LEGACY+5, LEGACY+7, LEGACY+19, LEGACY+20, NEWSOPDB+13~, NEWSOPDB+26*, NEWSOPDB+34, NEWSOPDB+45 , SERIES~, SERIES+1, SERIES+2, SERIES+8, IMAGE~, IMAGE+1, IMAGE+3, IMAGE+5 |
X | LEGACY+1~, LEGACY+3*, LEGACY+4, SERVICES+2~, SERVICES+39, SERVICES+40, SERVICE2+14*, SERVICE2+15*, SERVICE2+16, SERVICE2+17 , SERVICE2+18, SERVICE2+21, SERVICE2+22, SERVICE2+23, SERVICE2+27*, QRSCP+1~, QRSCP+10*, QRSCP+11 |
Y | LEGACY+1~, LEGACY+13*, LEGACY+14 |
Z | LEGACY+1~, LEGACY+15*, LEGACY+16 |
Name | Field # of Occurrence |
---|---|
$T( | SERVICES+5 |