The latest version of ConQuest DICOM server can be found here
dgate.exe usage
Running ‘dgate.exe -h’ in your DOS command line will provide you a list of command line options to update your PACS. I use this to manually add a folder of images to my PACS. Say your PACS is installed under:
S:\dicomSqlServer
Then to add new folder of images to the PACS database I would use the command (with PersonX being the name of the directory with the images you want in your PACS); this command line takes advantage of the -v (report standard output to DOS window) and [-frDEVICE,DIR] (Regen single directory DIR on DEVICE); you don’t need the -v option, but it shows you the images being imported into the PACS within the command line, so I see no reason to leave it out:
S:\dicomSqlServer\dgate64.exe -v -frMAG0,[DirectoryToAddToPACS]
DELETE FROM [DICOMImages] WHERE [SOPInstanc]='[your image SOPInsance number]';
DGATE: UCDMC/NKI DICOM server thread and PACS utility application 1.4.16
Usage:
(1) DGATE <-!#|-v|-u#|-^#> Report as in dicom.ini|stdout|UDP|File(#=port)
[-p#|-qIP|-b] Set port|Set target IP|run debug 1-thread mode
[-wDIR] Set the working directory for dgate(ini,dic,...)
[-i|-r|-arDEVICE] Init|Init/regenerate DB|Regen single device
[-d|-m|-k] List (-d) devices (-m) AE map (-k) DICOM.SQL
[-t|-o] Test console|Test database
[-sOpt|-esap d u p] Create ODBC source (WIN32), database with SApw
[-nd|-nc#|-jd|-jc#] NKI de-/compress#|JPEG de-/compress# FILE
[-j*##|-j-##FILE] Recompress FILE to ##
[-as#,N|-amFROM,TO] Select#KB to archive of MAGN|move device data
[-au|-aeFROM,TO] Undo select for archiving|rename device
[-av|-atDEVICE] Verify mirror disk|Test read files for DEVICE
[-abJUKEBOX1.2,N] Make cacheset to burn JUKEBOX1,CD2 from MAGN
[-acJUKEBOX1.2] Verify JUKEBOX1,CD2 against cacheset
[-adJUKEBOX1.2] Verify and delete cacheset for JUKEBOX1, CD2
[-f<p|t|s|i>ID] Delete DB for Patient, sTudy, Series, Image
[-f<e|d|z>file] Enter/Delete DB of file, Zap server file
[-faFILE<,ID>] Add file to server<optionally change PATID>
[-zID] Delete (zap) patient
[-frDEVICE,DIR] Regen single directory DIR on DEVICE
[-f<c|k>PATID,file] Change/Kopy PATID of file (irreversible/once)
[-f?file|-fu|-c#] get UID of file|Make new UID|UID helper(0..99)
[-ff#] Delete old patients until #MB free
[-gSERVER,DATE] grab images from SERVER of date not on here
Otherwise: run as threaded server, port=1111
(2) DGATE FileMapping Run server child; shared memory has socket#
(3) DGATE <-pPORT> <-qIP> --command:arguments
Send command to (this or other) running server
(works directly - use with care)
Delete options:
--deleteimagefile:file Delete given image file from server
--deletepatient:patid Delete given patient from server
--deletestudy:patid:studyuid Delete given study from server
--deletestudies:date(range) Delete studies from server on date
--deleteseries:patid:seriesuid Delete given series from server
--deleteimagefromdb:file Delete given file from db only
--deletesopfromdb:pat,study,series,sop Delete specified image from db only
DICOM move options:
--movepatient:source,dest,patid Move patient, source e.g. (local)
--movestudy:source,dest,patid:studyuid Move study, patid: optional
--movestudies:source,dest,date(range) Move studies on date
--moveseries:src,dst,patid:seruid,stuid Move series patid: optional
Modification of dicom objects:
--modifypatid:patid,file Change patid of given file
--anonymize:patid,file Anonymize given file
--modifyimage:file,script Change items in file
--mergestudy:uid,uid,.. Start merging studies with given studyuids
--mergestudyfile:file Use to process all files to merge
--mergeseries:uid,uid,.. Start merging series with given seriesuids
--mergeseriesfile:file Use to process all files to merge
--attachanytopatient:any,sample Modify uids to attach any object to
--attachanytostudy:any,sample patient|study|series in sample file
--attachanytoseries:any,sample Do not attach same at different levels
--attachrtplantortstruct:plan,struc Attach rtplan to rtstruct
Maintenance options:
--initializetables: Clear and create database
--initializetables:1 Clear and create database without indices
--initializetables:2 Clear and create worklist database
--regen: Re-generate entire database
--regendevice:device Re-generate database for single device
--regendir:device,dir Re-generate database for single directory
--regenfile:file Re-enter given file in database
--makespace:# Delete old patients to make #MB space
--quit: Stop the server
--safequit: Stop the server when not active
Logging options:
--debuglog_on:file/port Start debug logging
--log_on:file/port/pipe Start normal logging
--debuglevel:# Set debug logging level
--display_status:file Display server status
--checklargestmalloc: Estimates DICOM object size limit
--get_freestore:dev,fmt Report free #Mb on device
--testmode:# Append # to dicom filenames
--echo:AE,file Echo server; show response
Configuration options:
--get_param:name,fmt Read any parameter from DICOM.INI
--get_ini_param:name,fmt Read any parameter from DICOM.INI
--get_ini_num:index,fmt List any entry from DICOM.INI
--get_ini:fmt List all entries from DICOM.INI
--put_param:name,value Write any parameter to DICOM.INI
--delete_param:name Delete any parameter from DICOM.INI
--read_ini: Re-read all parameters from DICOM.INI
--get_amap:index,fmt List any entry from ACRNEMA.MAP
--get_amaps:fmt List all entries from ACRNEMA.MAP
--put_amap:i,AE,ip,p#,cmp Write entry in memory for ACRNEMA.MAP
--delete_amap:index Delete entry in memory for ACRNEMA.MAP
--write_amap: Write ACRNEMA.MAP from memory to disk
--read_amap: Re-read ACRNEMA.MAP from disk to memory
--get_sop:index,fmt List any accepted service class UID
--put_sop:index,UID,name Write/add accepted service class UID
--delete_sop:index Delete accepted service class UID
--get_transfer:index,fmt List any accepted transfer syntax
--put_transfer:in,UID,nam Write/add accepted transfer syntax
--delete_transfer:index Delete accepted transfer syntax
--get_application:idx,fmt List any accepted application UID
--put_application:i,U,n Write/add accepted application UID
--delete_application:inde Delete accepted application UID
--get_localae:index,fmt List any accepted local AE title
--put_localae:in,AE,name Write/add accepted local AE title
--delete_localae:index Delete accepted local AE title
--get_remoteae:index,fmt List any accepted remote AE title
--put_remoteae:in,AE,name Write/add accepted remote AE title
--delete_remoteae:index Delete accepted remote AE title
--get_dic:index,fmt List any dicom dictionary item
--get_sqldef:level,in,fmt List any database field definition
Communication options:
--addimagefile:file,patid Copy file into server, optionally new patid
--addlocalfile:file,patid Copy local file into server, opt. new patid
--loadanddeletedir:dir,patid Load folder and delete its contents
--loadhl7:file Load HL7 data into worklist
--dump_header:filein,fileout Create header dump of file
--forward:file,mode,server Send file with compr. mode to server
--grabimagesfromserver:AE,date Update this server from other
--prefetch:patientid Prefetch all images for improved speed
--browsepatient:searchstring Select patient in windows GUI
--submit:p,s,ser,sop,target,pw Immediate sftp submit of data
--export:p,s,ser,sop,file,scr Immediate process and zip/7z data
--scheduletransfer:options Background sftp transfer as above
Test options:
--genuid: Generate an UID
--changeuid:UID Give new UID as generated now or before
--changeuidback:UID Give old UID from one generated above
--checksum:string Give checksum of string
--testcompress:file Enter file in server with many compressions
--clonedb:AE Clone db from server for testing
Conversion options:
--convert_to_gif:file,size,out,l/w/f Downsize and convert to mono GIF
--convert_to_bmp:file,size,out,l/w/f Downsize and convert to color BMP
--convert_to_jpg:file,size,out,l/w/f Downsize and convert to color JPG
--convert_to_dicom:file,size,comp,f Downsize/compress/frame DICOM
--extract_frames:file,out,first,last Select frames of DICOM file
--count_frames:file report # frames in DICOM file
--uncompress:file,out Uncompress DICOM
--wadorequest:parameters Internal WADO server
Database options:
--query:table|fields|where|fmt|file Arbitrary query output to file
--query2:tab|fld|whe|fmt|max|file Same but limit output rows to max
--patientfinder:srv|str|fmt|file List patients on server
--studyfinder:srv|str|fmt|file List studies on server
--seriesfinder:srv|str|fmt|file List series on server
--serieslister:srv|pat|stu|fmt|file List series in a study
--imagelister:srv|pat|ser|fmt|file List files in a series
--extract:PatientID = 'id' Extract all dbase tables to X..
--extract: Extract patient dbase table to XA..
--addrecord:table|flds|values Append record, values must be in ''
--deleterecord:table,where Delete record from table
For DbaseIII without ODBC:
--packdbf: Pack database, recreate memory index
--indexdbf: Re-create memory index
Archival options:
--renamedevice:from,to Rename device in database
--verifymirrordisk:device Verify mirror disk for selected device
--testimages:device Test read all images on device
--movedatatodevice:to,from Move patients from one device to another
--moveseriestodevice:to,from Move series from one device to another
--selectlruforarchival:kb,device Step 1 for archival: to device.Archival
--selectseriestomove:device,age,kb Step 1 for archival: to device.Archival
--preparebunchforburning:to,from Step 2 for archival: moves to cache
--deletebunchafterburning:deviceto Step 3 for archival: deletes from cache
--comparebunchafterburning:deviceto Part step 3 - compare jukebox to cache
--restoremagflags: Undo archival sofar