twiddle use with multiple instances of dcm4chee

622 views
Skip to first unread message

rrose...@securerad.com

unread,
Apr 27, 2016, 10:04:24 AM4/27/16
to dcm4che
Hello,

I have a single machine with multiple instances of dcm4chee running (2.18.1) (OS X), each with their own AE Title, IPs and port. None are being bound to localhost.

I''ve created a script to delete files after a certain time period (modifying scripts found in the groups), but for testing purposes, I've been trying to run portions from the CLI. To clarify, I have multiple dcm4chee-2.18.1-xxx directories. dcm4chee runs fine and has been for years, it's just the twiddle part that's giving me fits.

The instance I'm trying to modify: SR_VCI / 192.168.179.55:11120

If I cd to a particular dcm4chee/bin directory and run:

./twiddle.sh -u admin -p admin -s jnp://localhost:1099 invoke "dcm4chee.archive:group=ONLINE_STORAGE,service=ContentEditService" purgeStudy 1.2.392.200046.100.14.718524660138151097108876958794525033378

or
./twiddle.sh -u admin -p admin -s jnp://192.168.179.55:1099 invoke "dcm4chee.archive:group=ONLINE_STORAGE,service=ContentEditService" purgeStudy 1.2.392.200046.100.14.718524660138151097108876958794525033378

or
./twiddle.sh -u admin -p admin -s jnp://192.168.179.55:11120 invoke "dcm4chee.archive:group=ONLINE_STORAGE,service=ContentEditService" purgeStudy 1.2.392.200046.100.14.718524660138151097108876958794525033378


the log does not even move.....not a bump. If I insert the IUID into the mmx console to purge it works fine.

Questions are:

1. if I execute twiddle from within the actual target dcm4chee directory (which I've done) does it know that I want to affect the studies in that particular database?
2. Is my -s jnp://xxx wrong. 
3. How can I specify which instance of dcm4chee I want to delete the study from?
3. Are there other twiddle commands I can run just to see if twiddle is working correctly? I've tried things like:
./twiddle.sh -s localhost serverinfo -l

./twiddle.sh -s 192.168.179.55 serverinfo -l

but I get nothing.

Any help is appreciated.

Thanks,

Rich

BRIT

unread,
May 1, 2016, 12:56:45 PM5/1/16
to dcm4che
Rich,
See this link ... basically, purgeStudy doesn't seem to work, at least with an immediate removal of the studies in question and in the manner that one would expect. To perform an immediate delete, becomes a three step process:
  1. Obtain the location of the files from those studies being removed, using the database; then
  2. Remove all entries of the studies from the database; then
  3. Remove the files from the filesystem

rrose...@securerad.com

unread,
May 12, 2016, 10:35:04 AM5/12/16
to dcm4che
Removing the studies isn't an issue - twiddle with "purgeStudy" works fine on a machine with a single instance of dcm4chee running. This issue is with a machine that has multiple instances running i.e each having their own virtual IP and bound to a specific port.....

Rich

BRIT

unread,
May 16, 2016, 10:03:50 PM5/16/16
to dcm4che
Rich,
I guess it does come down to (then) the connection string itself, which will dictate what instance of DCM4CHEE you're connecting to.  I use "twiddle" a lot, albeit on a single instance of DCM4CHEE, but I don't see the issue in purging a particular study, from a particular instance.  You've got individual ports for each instance, which means your call to the purgeStudy operation will be directed to an individual (ports) instance, and from there you can provide the StudyInstanceUID for that instance.

From looking at what you've written, I would suggest the following:
./twiddle.sh -uadmin -padmin -s jnp://serverHost:instancePort serverinfo -l

Please note : there is no space between providing the credentials for username and password. I've fallen foul of that before and for consistency sake, I never place a space inbetween the -u and -p parameters and their respective information (I also ensure that all information is contained within double quotes).

Therefore, with two instances running on the same system, instanceA (port 1099) and instanceB (port 9901), it would look like:
./twiddle.sh -uadmin -padmin -s jnp://192.168.179.55:1099 serverinfo -l
./twiddle.sh -uadmin -padmin -s jnp://192.168.179.55:9901 serverinfo -l



A little more information on the purgeStudy : I've found that the scheduleStudyForDeletion will (in due course) delete the files itself from the filesystem and the entries from the files database, but not in the instance, series or study tables; whereas the ContentEditService operation works very well (all entries removed from all 4 tables as well as removing respective files from the filesystem). However, both operations will not remove the patient from the patient table. Thus far I've only found running an "orphaned patient" query (any patient that doesn't have image files associated with them) will remove those patients.

HTH.


BRIT


On Wednesday, April 27, 2016 at 7:04:24 AM UTC-7, rrose...@securerad.com wrote:
Reply all
Reply to author
Forward
0 new messages