Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
borderStylesolid

jpdbi will query DCM4CHE DB - via jdbc - so you will have access to the DCM4CHE data from command line and even if JBOSS ist not running.

If configured it will also allow updates/changes to the data. e.g. one can change the ISSUER on the PATIENT level both in the database and the DICOM Database BLOB.

jpdbi will display the entries beginning at the PATIENT level down to FILES/FILESYSTEM level.

PREREQUSITS

Panel
borderStylesolid

jpdbi needs following components:

  • dcm4che.jar and log4j.jar from the DCM4CHE.
  • commons-cli-1.2.jar from Apache.
  • a jdbc driver matching the database used.

OPTIONS

Panel
borderStylesolid

Help and Version

  • -v|--version
    display version information. More v's display more information.
  • -h|--help
    display extended help.
  • --jdbcurlhelp
    display information to the jdbc connection Url.
  • -U|--url <jdbcUrl>
    jdbcURL for the destination database to connect to.
  • --db <alias>
    JDBC-connect-url-alias as defined in properties-file.

Search Options

The first three optional command line arguments are defined as Firstname, Lastname and Birthdate. Those three can be combined with any other search option. Searching without any search criteria is not a good idea - specially for large archives - so it is deactivated. If you really want to display all patients, use a corresponding wildcard.

SQL-Wildcards are supported on most fields. Use % for a multi-character wildcard and _ for a single character wildcard.

  • -s|--studyiuid <studyiuid>
    study-IUID to search for.
  • -S|--seriesiuid <studyiuid>
    series-IUID to search for.
  • --issuer <issuer>
    patient issuer to search for.
  • --patid [<issuer>:]<patid>
    (issuer and) patient-ID to search for.
  • -d|--date <date>|<n>
    if study date is give as "YYYY-MM-DD" - this date is searched for - if a number from 0 to 999 is supplied, studies from the last <n> days is search for. You can also use "today" and "yesterday" as a date string.
  • -m|--modaliy <modality>
    modality to search for.
  • -q|--query <statement>
    extended query statement. (See corresponding section.)

Display Options

  • -F
    include fieldnames in output. Those names are only for orientation - and are not related to the DB columns nor to the dicom tags.
  • --aet
    include AE-Titles (source-aet, retreive-aet and external retreive-aet) in output.
  • --pks
    include DCM4CHE DB-primary keys in output.
  • --status
    include additional information, such as avaiability, status, file-size, etc.

Display Level Options

Default level to be displayed is PATIENT level - one can choose the desired level to display - the chosen level and all levels above will be included in the output.

  • --study-level
    display patient and study
  • --series-level
    display patient, study and series
  • --instance-level
    display patient, study, series and instances
  • --path [ --fs]
    display patient, study, series, instances and object-path. Optionally include filesystem group and PK.
  • -a|--all
    if selected - patients with missing studies (series or instances) are also displayed - otherwise those entries are not displayes.

Output Options

  • -O|--out <file> [-z|--gzip]
    output is redirected to (gezipp-ed) <file>
  • -E|--err <file>
    error/debug (stderr) is redirected to <file>
  • --debug
    debug output on stderr

Database / Dataset manipulation

Warning
titleWarning

The following option should probably not exist, since it makes it possible, to manipulate the DCM4CHE database and the dataset BLOB's. So use it with care - and be aware that you might break things.

Fields to be updated have to be configured in the jpdbi-properties file.

  • --update "<field>=<value>|REMOVE"
    updates the database and/or dataset of selected entries. If _REMOVE_ is supplied as thr value, the database entry is set to null and the corresponding tag ist removed from the dataset.
  • --count <n>
    As a security measure only one entry can be updated per call - if the selection returns more than one match a message is displayed showing the count that would be updated - but not update is performed. If your are absolutely sure, that you do want to update thoses entries, re-execute the command, suppling the number of updates with the --count option.

...

Look at the DCM4CHE documentation for the database layout.

SCRIPTS

One way to use jpdbi is to install the required libraries (see also PREREQUESITS) into a a directory, e.g. /opt/java/lib and use follwing script ...

Code Block

#! /bin/sh

CP=$(echo /opt/java/lib/*.jar | sed -e "s/ /:/g")

java -cp ${CP} com.agfa.db.tools.Jpdbi "$@"

... but there are probably better ways to do this.

BUGS

This tool should not exists in first place - specialy the update part - whenever you an use the official DCM4CHE web interface.

...