MAGDSTAA ;WOIFO/PMK - Q/R Retrieve of DICOM images from PACS to VistA ; Aug 14, 2025@09:05:58
Source file <MAGDSTAA.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 |
|---|---|---|
| LOOKUP(DFN,STUDYDATE,STUDYIEN,ACNUMB,MAGIENLIST) | ; called by MAGDSTA5 and MAGDSTA7
; STUDYDATE ---- date of study ; STUDYIEN ----- RARPT1 or GMRCIEN ; ACNUMB ------- accession number ; MAGIENLIST --- array of MAGIEN pointers ; VISTAUIDFLAG - flag to indicate that an acn query failed |
|
| HEADER(CONTINUE,CLEARSCREEN) | ;
|
|
| CSVNEWLINE | ; output the beginning of the new line for the CSV Excel file
|
|
| CSVSAVE(D0,D1,D2,D3,D4,D6,D7,D8,D9) | ; save values in CSV format
|
|
| QRSTATUS(TEXT) | ; output query/retrieve status text
|
|
| SUSPEND(HOURS) | ; check date/time & request to stop
; HOURS is a 24 character string of Y's and N's indicating active times ; Assume that Saturday and Sunday are 24 hours |
|
| STOP | ; stop job
|
|
| STOP1(LIST) | ; get list of running VistA Automatic Q/R Processes
|
|
| STOP2(LIST,COUNT) | ; display the jobs
|
|
| STOP3(LIST,I) | ; signal the process to stop by killing the "STATUS" node
|
|
| STTWRITE(NAME,VALUE) | ; write statistics for the run
|
|
| STTREAD(NAME) | ; read a statistics parameter
|
|
| STTUPDT(NAME,VALUE) | ; update a statistics parameter
|
|
| STTINC(NAME,VALUE) | ; increment a statistics parameter
|
|
| STTNAME(NAME) | ; get IEN for NAME
; return: -1 for an error, "" for no NAME, IEN otherwise |
| Name | Field # of Occurrence |
|---|---|
| $$S^%ZTLOAD | SUSPEND+14 |
| $$GET1^DIQ | LOOKUP+79 |
| SAVE^MAGDSTA0 | CSVSAVE+5, CSVSAVE+9, QRSTATUS+4, QRSTATUS+5, QRSTATUS+6 |
| LEGACY^MAGDSTA8 | LOOKUP+31 |
| NEWSOPDB^MAGDSTA8 | LOOKUP+60 |
| $$FINDSUID^MAGDSTAB | LOOKUP+80 |
| $$QUERY^MAGDSTAC | LOOKUP+94 |
| $$RETRIEVE^MAGDSTAC | LOOKUP+116 |
| $$YESNO^MAGDSTQ | STOP+9 |
| CONTINUE^MAGDSTQ | HEADER+4, STOP+31 |
| $$FMTE^XLFDT | LOOKUP+23, HEADER+9, CSVNEWLINE+3, SUSPEND+12, SUSPEND+17, STOP2+7 |
| $$NOW^XLFDT | LOOKUP+11, HEADER+9, SUSPEND+12, SUSPEND+17 |
| 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: 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: WRITE |
|
| Function Call: READ |
|
| 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 |
|
| FileNo | Call Tags |
|---|---|
| ^DPT - [#2] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^MAGDSTT(2006.543 - [#2006.543] | LOOKUP+12*, LOOKUP+13*, LOOKUP+14*, LOOKUP+15*, LOOKUP+16*, LOOKUP+17*, STTWRITE+5, STTWRITE+6*, STTWRITE+7*, STTWRITE+8* , STTREAD+8, STTUPDT+5*, STTINC+5, STTNAME+9 |
| ^TMP("MAG" | LOOKUP+26!, LOOKUP+91, LOOKUP+115, LOOKUP+121!, HEADER+11, HEADER+15 |
| ^XTMP( | SUSPEND+10, STOP1+4, STOP1+6, STOP1+8, STOP2+5, STOP2+6, STOP2+7, STOP3+3! |
| Name | Line Occurrences |
|---|---|
| $$STOP1 | STOP+2 |
| $$STTNAME | STTWRITE+3, STTREAD+2, STTUPDT+3, STTINC+3 |
| $$SUSPEND | LOOKUP+19 |
| CSVNEWLINE | LOOKUP+24, LOOKUP+29, LOOKUP+63 |
| CSVSAVE | LOOKUP+29, LOOKUP+30, LOOKUP+33, LOOKUP+38, LOOKUP+42, LOOKUP+47, LOOKUP+66, LOOKUP+84, LOOKUP+102, LOOKUP+111 , CSVNEWLINE+1, CSVNEWLINE+2, CSVNEWLINE+3 |
| HEADER | LOOKUP+20, QRSTATUS+1 |
| STOP2 | STOP+7 |
| STOP3 | STOP+12, STOP+22 |
| STTINC | LOOKUP+10, LOOKUP+49, LOOKUP+50, LOOKUP+51, LOOKUP+67, LOOKUP+68, LOOKUP+69, LOOKUP+86, LOOKUP+103, LOOKUP+104 , LOOKUP+105, LOOKUP+112 |
| STTUPDT | STTWRITE+4 |
| STTWRITE | STTUPDT+4, STTINC+4 |
| Name | Field # of Occurrence |
|---|---|
| ^("Q/R QUERY" | LOOKUP+121! |
| ^("UIDS" | LOOKUP+121! |
| ^(0 | STTINC+5* |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ACNUMB | LOOKUP~, LOOKUP+17, LOOKUP+23, LOOKUP+60, LOOKUP+80, CSVNEWLINE+2 |
| >> AUTOSCROLL | HEADER+3 |
| CLEARSCREEN | HEADER~, HEADER+2*, HEADER+5 |
| CONTINUE | HEADER~, HEADER+1*, HEADER+4 |
| COUNT | STOP+1~, STOP+2*, STOP+3, STOP+7, STOP+8, STOP+17, STOP+21, STOP1+1~, STOP1+2*, STOP1+9* , STOP1+10, STOP1+14, STOP2~, STOP2+2, STOP2+4 |
| D0 | CSVSAVE~ |
| D1 | CSVSAVE~ |
| D2 | CSVSAVE~ |
| D3 | CSVSAVE~ |
| D4 | CSVSAVE~ |
| D6 | CSVSAVE~ |
| D7 | CSVSAVE~ |
| D8 | CSVSAVE~ |
| D9 | CSVSAVE~ |
| DATA | CSVSAVE+1~, CSVSAVE+3*, CSVSAVE+4, CSVSAVE+8*, CSVSAVE+9 |
| >> DEL | CSVSAVE+9 |
| DFN | LOOKUP~, LOOKUP+14, LOOKUP+79 |
| DONE | SUSPEND+3~, SUSPEND+7*, SUSPEND+9, SUSPEND+11*, SUSPEND+15*, SUSPEND+20*, SUSPEND+29, STOP+1~, STOP+16*, STOP+20* , STOP+23* |
| DTIME | STOP+18 |
| ERROR | LOOKUP+7~, LOOKUP+80*, LOOKUP+94*, LOOKUP+116*, STOP+9*, STOP+10 |
| EXAMDATE | LOOKUP+7~ |
| FIRSTTIME | SUSPEND+3~, SUSPEND+7*, SUSPEND+22* |
| HOSTNAME | SUSPEND+10, STOP1+1~, STOP1+5*, STOP1+6*, STOP1+8, STOP1+10, STOP2+1~, STOP2+3*, STOP2+5, STOP2+6 , STOP2+7, STOP3+1~, STOP3+2*, STOP3+3 |
| HOURS | LOOKUP+19, SUSPEND~, SUSPEND+8*, SUSPEND+19 |
| I | LOOKUP+7~, LOOKUP+28*, LOOKUP+29, LOOKUP+90*, LOOKUP+92*, CSVSAVE+1~, CSVSAVE+3*, STOP1+1~, STOP2+1~, STOP2+2* , STOP2+3, STOP2+4, STOP3~, STOP3+2 |
| IEN | STTWRITE+1~, STTWRITE+3*, STTWRITE+4, STTWRITE+5*, STTWRITE+6, STTWRITE+7, STTWRITE+8, STTREAD+1~, STTREAD+2*, STTREAD+3 , STTREAD+8, STTUPDT+1~, STTUPDT+3*, STTUPDT+4, STTUPDT+5, STTINC+1~, STTINC+3*, STTINC+4, STTINC+5, STTNAME+2~ , STTNAME+9*, STTNAME+10 |
| IMAGECOUNT | LOOKUP+7~, LOOKUP+31, LOOKUP+36, LOOKUP+46, LOOKUP+47, LOOKUP+51, LOOKUP+56, LOOKUP+60, LOOKUP+61, LOOKUP+65 , LOOKUP+66, LOOKUP+69, LOOKUP+74, LOOKUP+80, LOOKUP+94, LOOKUP+99, LOOKUP+101, LOOKUP+102, LOOKUP+105 |
| >> IMAGES | LOOKUP+22* |
| IOF | HEADER+5 |
| IOSL | LOOKUP+20, QRSTATUS+1 |
| IOST | SUSPEND+25 |
| JOB | STOP1+1~, STOP1+7*, STOP1+8*, STOP1+10, STOP2+1~, STOP2+3*, STOP2+5, STOP2+6, STOP2+7, STOP3+1~ , STOP3+2*, STOP3+3 |
| LIST | STOP+1~, STOP+2, STOP+7, STOP+12, STOP+22, STOP1~, STOP2~, STOP3~ |
| LIST( | STOP1+10*, STOP2+3, STOP3+2 |
| MAGGLIST | LOOKUP+7~ |
| MAGIEN | LOOKUP+7~, LOOKUP+27*, LOOKUP+28*, LOOKUP+30, LOOKUP+31 |
| MAGIENLIST | LOOKUP~, LOOKUP+62 |
| MAGIENLIST( | LOOKUP+28 |
| MAGXTMP | SUSPEND+10, STOP1+1~, STOP1+3*, STOP1+4*, STOP1+6, STOP1+8, STOP1+10, STOP2+1~, STOP2+3*, STOP2+5 , STOP2+6, STOP2+7, STOP3+1~, STOP3+2*, STOP3+3 |
| NAME | STTWRITE~, STTWRITE+3, STTWRITE+4, STTWRITE+6, STTWRITE+7, STTREAD~, STTREAD+2, STTREAD+5, STTUPDT~, STTUPDT+3 , STTUPDT+4, STTINC~, STTINC+3, STTINC+4, STTNAME~, STTNAME+3*, STTNAME+4, STTNAME+9 |
| NONDICOM | LOOKUP+7~, LOOKUP+22*, LOOKUP+43*, LOOKUP+83 |
| >> OUTPUTEXCEL | CSVSAVE+2, CSVSAVE+5, CSVSAVE+9, QRSTATUS+3, QRSTATUS+4, QRSTATUS+5, QRSTATUS+6 |
| PACS | LOOKUP+8~ |
| PACS("IMAGE C | OUNT" , LOOKUP+99* |
| PACS("SERIES | COUNT" , LOOKUP+99* |
| PACSSTUDYUID | LOOKUP+8~, LOOKUP+76!, LOOKUP+80, LOOKUP+88, LOOKUP+94, LOOKUP+116 |
| PACSSTUDYUID( | LOOKUP+92* |
| PACSSTUDYUID(1 | LOOKUP+95 |
| >> RUNNUMBER | LOOKUP+12, LOOKUP+13, LOOKUP+14, LOOKUP+15, LOOKUP+16, LOOKUP+17, STTWRITE+5, STTWRITE+6, STTWRITE+7, STTWRITE+8 , STTREAD+6, STTREAD+8, STTUPDT+5, STTINC+5, STTNAME+9 |
| RUNTIME | LOOKUP+8~, LOOKUP+11*, LOOKUP+12 |
| >> SCANMODE | SUSPEND+5 |
| SERIESCOUNT | LOOKUP+8~, LOOKUP+31, LOOKUP+32, LOOKUP+33, LOOKUP+50, LOOKUP+55, LOOKUP+60, LOOKUP+65, LOOKUP+66, LOOKUP+68 , LOOKUP+73, LOOKUP+80, LOOKUP+94, LOOKUP+99, LOOKUP+100, LOOKUP+101, LOOKUP+102, LOOKUP+104 |
| SSN | LOOKUP+7~, LOOKUP+79*, LOOKUP+80 |
| STUDYDATE | LOOKUP~, LOOKUP+15, LOOKUP+23, CSVNEWLINE+3 |
| STUDYIEN | LOOKUP~, LOOKUP+16, LOOKUP+23, CSVNEWLINE+2 |
| TEXT | QRSTATUS~, QRSTATUS+3, QRSTATUS+5, QRSTATUS+6 |
| TEXTCNT | LOOKUP+7~, LOOKUP+22*, QRSTATUS+4* |
| TICKER | SUSPEND+3~, SUSPEND+7*, SUSPEND+24*, SUSPEND+25 |
| VALUE | STTWRITE~, STTWRITE+2*, STTWRITE+4, STTWRITE+6, STTUPDT~, STTUPDT+2*, STTUPDT+4, STTUPDT+5, STTINC~, STTINC+2* , STTINC+4, STTINC+5 |
| VAR | CSVSAVE+1~, CSVSAVE+3* |
| VISTA | LOOKUP+8~ |
| VISTA("IMAGE | COUNT" , LOOKUP+56*, LOOKUP+74*, LOOKUP+82 |
| VISTA("SERIES | COUNT" , LOOKUP+55*, LOOKUP+73* |
| VISTASTUDYUID | LOOKUP+8~, LOOKUP+90*, LOOKUP+91*, LOOKUP+92 |
| >> VISTAUIDFLAG | LOOKUP+77*, LOOKUP+95*, LOOKUP+106 |
| X | LOOKUP+8~, SUSPEND+3~, SUSPEND+19*, SUSPEND+20, STOP+1~, STOP+9, STOP+11, STOP+18*, STOP+19, STOP+20 , STOP+21, STOP+22 |
| >> ZTDESC | SUSPEND+14 |
| >> ZTSTOP | SUSPEND+16* |
| Name | Field # of Occurrence |
|---|---|
| $T( | STTREAD+4, STTNAME+5 |