DCM4CHEE-ARC-LIGHT v5.12.0 - DCM4CHEE_trash

871 views
Skip to first unread message

Docjay

unread,
Mar 13, 2018, 12:50:57 PM3/13/18
to dcm...@googlegroups.com
DCM4CHEE-ARC-LIGHT 5.12.0

I have a question about automatically deleting studies that have been moved into DCM4CHEE_TRASH.

So, I have my retention policy set, and things are being moved into the trash, 'DCM4CHEE_TRASH'.  I see items under that AET when I query within the UI.

How do I get items in the trash to auto delete?  Do I use the deleter threshold?

Retention policy:
Name:  15 Day Retention
Study Retention Period:  P15D
rule priority:  0
conditions:  'empty'
expire series individually:  'false'

Delete rejected polling interval:  PT5M

Do I need to go into my 'Storage Descriptor' and change the deleter threshold?  If I do this, will it only delete studies that are in the trash?

My main question is:  how do I keep the trash empty and regain space?

thanks

Jamie

vrinda...@j4care.com

unread,
Mar 14, 2018, 9:44:10 AM3/14/18
to dcm4che
Hello,

For your requirement, you don't need to modify Storage Descriptor.
I have added a page on wiki : https://github.com/dcm4che/dcm4chee-arc-light/wiki/Auto-Deletion-of-Rejected-Instances

Docjay

unread,
Mar 14, 2018, 10:10:10 AM3/14/18
to dcm4che
Vrinda,

   thanks for the reply on this.  Very helpful.

I'm curious what this setting does:    'Allow Rejection For Data Retention Policy Expired'  (mine is set to 'Expired_unset'.

would I need to this value  in my case?

thanks

Jamie

vrinda...@j4care.com

unread,
Mar 14, 2018, 1:13:28 PM3/14/18
to dcm4che
Hello,
That is the default value which means user can reject instances with reason Retention Expired only if study/series expiration date is in the past or if there is no expiration date set to study/series

- Never : Never Allow Rejection For Data Retention Policy Expired (This means : even if study/series expiration date is not set or if study/series expiration date is in the past)
- Always : Always Allow Rejection For Data Retention Policy Expired (This means : even if study/series expiration date is in future)
- Only expired : Allow Rejection For Data Retention Policy Expired only for expired study/series (This means : only expired study/series rejection is allowed, but rejection not allowed for study/series having no expiration date)

Docjay

unread,
Mar 14, 2018, 2:02:44 PM3/14/18
to dcm4che
ahh, thanks!

Docjay

unread,
Mar 17, 2018, 9:34:59 PM3/17/18
to dcm4che
Okay, I have another instance of DCM4CHEE-ARC-LIGHT 5.12.0 that I upgraded from v 5.11.0.

I cannot get anything to move to the trash, and I know there are over 400 studies I can throw away based on my 15Day retention policy because the studies have an 'study expiration date' set.  This policy has been in place since mid December.

I'm attaching copies of my archive device settings, rejection note and retention policy.  I can't figure out what setting I have wrong at all.  I've been adjusting the 'Rejected Expired Studies Polling Start Time'  to see if it makes a difference after the new time, but no studies are in the trash.  I have several of these I've setup as DICOM Routers and I need to only keep 15 days worth of exams.

Any Help would be greatly appreciated
rejection note.pdf
retention policy.pdf
D4C archive device settings.pdf

vrinda...@j4care.com

unread,
Mar 19, 2018, 8:37:24 AM3/19/18
to dcm4che
The configuration looks right. If the expiration date set on studies is in the past, it will be rejected with reason Retention Expired. Can you recheck the dates set on study level?

Docjay

unread,
Mar 19, 2018, 10:09:13 AM3/19/18
to dcm4che
Vrinda,

   Here is a screenshot of the study details for one study.   'Study Expiration Date = 20180117'
expiration date.JPG

vrinda...@j4care.com

unread,
Mar 19, 2018, 10:46:16 AM3/19/18
to dcm4che
Ensure you have an Application Entity with Archive AE Extension configured for the Reject Expired Studies AE Title 'BAGATE' as per your configuration. I will update the wiki page to include this info.
If still does not work, pls check in the logs if you see any errors or WARN messages.

Docjay

unread,
Mar 19, 2018, 7:38:42 PM3/19/18
to dcm...@googlegroups.com
Vrinda,

    Yes, it is set to 'BAGATE'.  its on page 7 of the attached PDF from earlier.  I've attached it again.

I've been seeing this error in my log file.  https://pastebin.ca/4003498

messages I've found:

2018-03-19 09:01:26,014 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EE-ManagedScheduledExecutorService-default-Thread-16) SQL Error: 1062, SQLState: 23000
2018-03-19 09:01:26,014 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EE-ManagedScheduledExecutorService-default-Thread-16) Duplicate entry 'hideRejected-15675' for key 'UK_t1uhb1suiiqffhsv9eaopeevs'
2018-03-19 09:01:26,077 ERROR [org.jboss.as.ejb3.invocation] (EE-ManagedScheduledExecutorService-default-Thread-16) WFLYEJB0034: EJB Invocation failed on component QueryAttributesEJB for method public org.dcm4chee.arc.entity.SeriesQueryAttributes



Auto Generated Inline Image 1

vrinda...@j4care.com

unread,
Mar 20, 2018, 5:38:31 AM3/20/18
to dcm4che
Page 7 just shows what you configured as 'Reject expired studies ae title'. As I mentioned in last post, this value should also be configured as an Application Entity (Go on device level and select Child objects, then in Network AEs you should have BAGATE as an Application Entity, and it should also have an Archive AE Extension.). As mentioned earlier, I've also updated the page : https://github.com/dcm4che/dcm4chee-arc-light/wiki/Study-Retention-Policy

The errors in the attached logs are pertaining to schedule export tasks (which is unrelated to this issue)

Docjay

unread,
Mar 20, 2018, 9:58:21 AM3/20/18
to dcm...@googlegroups.com
Vrinda,

    I followed your instructions, but after I select my AE from the drop down and go to 'Extensions', all it lists is 'Network AE Extensions'.  Its not an 'Archive AE Extension'.  I can select 'BAGATE', and then go into 'Extensions' and I can edit the 'Archive Network AE'.  In there I found 'Allow Rejection for Data Retention Policy Expired' and it was set to nothing basically, ' - ', so I set it to 'Expired_Unset'.

When I first installed the archive, I changed the default AET from 'DCM4CHEE-ARC', (or whatever it is called by default), to 'BAGATE'.  Maybe there is some confusion there?

Thanks

vrinda...@j4care.com

unread,
Mar 21, 2018, 6:56:54 AM3/21/18
to dcm4che
I can not simulate the issue.

Docjay

unread,
Mar 22, 2018, 11:34:30 AM3/22/18
to dcm...@googlegroups.com
My database is MYSQL v5.7

I have this figured out, it has to do with the query being sent to MYSQL via DCM4CHEE5

This is the query:

select study0_.pk as pk1_25_, study0_.access_control_id as access_c2_25_, study0_.access_time as access_t3_25_, study0_.accession_no as accessio4_25_, study0_.dicomattrs_fk as dicomat24_25_, study0_.completeness as complete5_25_, study0_.created_time as created_6_25_, study0_.expiration_date as expirati7_25_, study0_.ext_retrieve_aet as ext_retr8_25_, study0_.failed_retrieves as failed_r9_25_, study0_.accno_issuer_fk as accno_i25_25_, study0_.modified_time as modifie10_25_, study0_.patient_fk as patient26_25_, study0_.ref_phys_name_fk as ref_phy27_25_, study0_.rejection_state as rejecti11_25_, study0_.study_size as study_s12_25_, study0_.storage_ids as storage13_25_, study0_.study_custom1 as study_c14_25_, study0_.study_custom2 as study_c15_25_, study0_.study_custom3 as study_c16_25_, study0_.study_date as study_d17_25_, study0_.study_desc as study_d18_25_, study0_.study_id as study_i19_25_, study0_.study_iuid as study_i20_25_, study0_.study_time as study_t21_25_, study0_.updated_time as updated22_25_, study0_.version as version23_25_ from study study0_ where study0_.expiration_date<='2018-03-21' limit 100

 
In the query above, at the end is where it is asking for the expiration date:  where study0_.expiration_date<='2018-03-21', and it is assuming it has hyphens.

In the table 'STUDY', the column 'expiration_date' is stored WITHOUT hyphens, so the query always returns 0 results.

Can you or maybe Gunter post some SQL code here for me to run on my database to correct this so that I don't have to dump the DB and start over?

thanks


mysql column expiration_date.JPG

vrinda...@j4care.com

unread,
Mar 23, 2018, 10:13:41 AM3/23/18
to dcm4che
When I run same sql query in my postgresql database it works and returns back one result (in my case).

select study0_.pk as pk1_25_, study0_.access_control_id as access_c2_25_, study0_.access_time as access_t3_25_,
  study0_.accession_no as accessio4_25_, study0_.dicomattrs_fk as dicomat24_25_, study0_.completeness as complete5_25_,
  study0_.created_time as created_6_25_, study0_.expiration_date as expirati7_25_, study0_.ext_retrieve_aet as ext_retr8_25_,
  study0_.failed_retrieves as failed_r9_25_, study0_.accno_issuer_fk as accno_i25_25_, study0_.modified_time as modifie10_25_,
  study0_.patient_fk as patient26_25_, study0_.ref_phys_name_fk as ref_phy27_25_, study0_.rejection_state as rejecti11_25_,
  study0_.study_size as study_s12_25_, study0_.storage_ids as storage13_25_, study0_.study_custom1 as study_c14_25_,
  study0_.study_custom2 as study_c15_25_, study0_.study_custom3 as study_c16_25_, study0_.study_date as study_d17_25_,
  study0_.study_desc as study_d18_25_, study0_.study_id as study_i19_25_, study0_.study_iuid as study_i20_25_, study0_.study_time as
  study_t21_25_, study0_.updated_time as updated22_25_, study0_.version as version23_25_ from study study0_ where study0_.expiration_date<='2018-03-23 and limit 100';

result (value in bold italic is the expiration date):

337    *    2018-03-23 11:20:03.471000    *    3095    2    2018-03-23 11:20:00.638000    20180101    *    0        2018-03-23 11:20:00.638000    482        0    -1    fs1    *    *    *    *    *    SCSGERM    1.3.6.1.4.1.5962.1.2.0.1175775772.5723.0    *    2018-03-23 11:20:03.471000    1

Docjay

unread,
Mar 23, 2018, 10:30:14 AM3/23/18
to dcm...@googlegroups.com
Well, in mysql, when I run that query I get zero results, but when I change the where statement and remove the hyphens, the query returns results.


Gunter Zeilinger

unread,
Mar 23, 2018, 11:32:55 AM3/23/18
to dcm...@googlegroups.com
Should be fix (#1300).

Thanks!

On Fri, Mar 23, 2018 at 3:30 PM, Docjay <jlhe...@gmail.com> wrote:
Well, in mysql, when I run that query I get zero results, but when I change the where statement and remove the hyphens, the query returns results.


--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+unsubscribe@googlegroups.com.
To post to this group, send email to dcm...@googlegroups.com.
Visit this group at https://groups.google.com/group/dcm4che.
For more options, visit https://groups.google.com/d/optout.

Docjay

unread,
Mar 23, 2018, 11:58:19 AM3/23/18
to dcm4che
Excellent!

Hopefully 5.13.0 will be out soon.  Good work Gunter & Vrinda, thanks for all of your help with this.

Jamie

Gunter Zeilinger

unread,
Mar 23, 2018, 1:08:00 PM3/23/18
to dcm...@googlegroups.com
5.13.0 should be released next week.

--

Docjay

unread,
Mar 23, 2018, 1:30:29 PM3/23/18
to dcm4che
That's great, nice work all!
Reply all
Reply to author
Forward
0 new messages